Skip to main content

Examples of what you can ask your agent

  • “Create a welcome roulette: 70% keep participating, 20% 10% discount, 10% Bluetooth headphones”
  • “What active roulettes do I have right now?”
  • “Add a physical prize: 50 Nippy backpacks to use in roulettes”
  • “Show me the full configuration of the May roulette”
  • “What prize items do I have available with stock?”
With Roulettes you build gamification campaigns without touching the console. Tell your agent what prizes you want, with what probability, and it configures everything. Before anything is created, you get a preview to review — nothing is saved until you confirm.
Always call list_roulette_items before proposing a roulette, to know which physical items are available with stock.

Read tools

roulettes_list_roulette_items

Lists the physical prize items available for this business. Call this first before proposing any roulette. No parameters. Response: each item includes _id, name, available_stock, and whether it’s enabled_in_rewards. Only items with available_stock > 0 and enabled_in_rewards = true should be used as physical prizes in a roulette.

roulettes_get_roulette

Gets the full configuration of a roulette by its _id.
string
required
Roulette ID to query.
Response: full document including gifts (with probabilities, typeOfGift, item_id), typeOfRoulette, timers, terms, isActive, and counters (totalSpins).

roulettes_list_roulettes

Lists the existing roulettes for this business. No parameters. Response includes: _id, name, isActive, typeOfRoulette, counters (totalSpins), createdAt.

Write tools — Items

roulettes_propose_item

Generates a preview of a physical prize item. Does not write to the database. The country is inherited automatically from the business.
string
required
Item name.
integer
required
Available stock quantity for prizes.
string
default:"''"
Item description.
string
default:"'MXN'"
Currency (ISO 4217 code).
boolean
default:"true"
Whether to track inventory for this item.
boolean
default:"true"
Whether the item is enabled for use as a prize in roulettes.

roulettes_create_item

Creates a new physical prize item. Same parameters as propose_item.
Only call this tool after showing the user the propose_item preview and receiving explicit confirmation.
Response: {"_id": "...", "name": "Bluetooth Headphones", "status": "created"}

Write tools — Roulettes

roulettes_propose_roulette

Generates a preview of a roulette configuration. Does not write to the database.
string
required
Roulette name.
array
required
List of prize objects. Each gift must contain:
  • value (string, required): name shown on the wheel
  • message (string, required): message shown when won
  • probability (float, required): relative weight (e.g. 80 = 80% relative weight among all gifts)
  • typeOfGift (object, required): {"name": "...", "_id": "..."} — prize type. The agent automatically looks up the available type catalog.
  • emoji (string, optional): decorative emoji
  • quantity (int, optional): available units. Required for physical prizes
  • item_id (string, optional): _id from list_roulette_items — only for physical prizes. Do not confuse with typeOfGift._id
  • guaranteedForFirstTimers (bool, optional)
  • winInterval (int, optional)
  • fallback (string, optional)
integer
required
Win animation time (seconds).
integer
required
Lose animation time (seconds).
string
required
Text shown when the user wins.
string
required
Text shown when the user loses.
string
required
Roulette terms and conditions.
integer
required
Numeric ID of the roulette type. Check nippy://roulettes/schema/gifts for valid options.
string
required
Roulette type name (e.g. "standard", "premium").
boolean
default:"false"
Whether the roulette is activated immediately. Recommended: false until the user confirms.
string
default:"'hours'"
Time unit for expiration: "hours", "days". Only applies if roulette_type_id supports it.
integer
default:"24"
Time until the roulette expires, in time_unit units.
integer
default:"1"
Maximum number of prizes a user can win in this roulette.

roulettes_create_roulette

Creates a new roulette for this business. Same parameters as propose_roulette.
Only call this tool after showing the user the propose_roulette preview and receiving explicit confirmation.
Response: {"_id": "...", "name": "Welcome Roulette May 2026", "status": "created"}
Schema references for the agent:typeOfGift catalog IDs:

Important notes

  • typeOfGift._id values must come from the official catalog — do not invent IDs.
  • The item_id for a physical prize goes in the gift’s item_id field, not in typeOfGift._id.
  • Always include at least one “Perder” (Lose) slot.
  • The country for items and roulettes is inherited automatically from the business.
  • Keep is_active: false until the user explicitly asks to activate the roulette.