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?”
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.
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.
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 wheelmessage(string, required): message shown when wonprobability(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 emojiquantity(int, optional): available units. Required for physical prizesitem_id(string, optional):_idfromlist_roulette_items— only for physical prizes. Do not confuse withtypeOfGift._idguaranteedForFirstTimers(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.
Response: {"_id": "...", "name": "Welcome Roulette May 2026", "status": "created"}
Technical details (advanced)
Technical details (advanced)
Schema references for the agent:
typeOfGift catalog IDs:Important notes
typeOfGift._idvalues must come from the official catalog — do not invent IDs.- The
item_idfor a physical prize goes in the gift’sitem_idfield, not intypeOfGift._id. - Always include at least one “Perder” (Lose) slot.
- The
countryfor items and roulettes is inherited automatically from the business. - Keep
is_active: falseuntil the user explicitly asks to activate the roulette.

