Skip to main content
Glama

create_sweepstakes

Create a new sweepstakes programmatically. Requires name, handler (unique identifier), dates, and times. Type defaults to 2 (Email) — SMS and Social are rarely used and require explicit user request. CRITICAL: You MUST know the current date before creating a sweepstakes — never guess or assume. Start dates must be today or in the future. This is a billable operation that creates real production data. ALWAYS confirm with the user before creating. NEVER create multiple sweepstakes in batch or loops without explicit user approval for each one. If user requests bulk creation (e.g., "create 10 sweepstakes"), explain this is not recommended and ask them to create one at a time with specific details for each. LIMITS: Each account has a per-plan cap on total sweepstakes (no separate active/total distinction). Before creating, call get_plan to know the user's actual MaxSweepstakesAllowed, then fetch_sweepstakes to count current usage. If the user is at or near the cap, warn them before proceeding (e.g., "you have 9 of 10 sweepstakes allowed by your plan"). Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.

create_sweepstakes

When to use

Create a new sweepstakes programmatically. Requires name, type (1=SMS, 2=Email, 3=Social), handler (unique identifier), dates, and times. CRITICAL: You MUST know the current date before creating a sweepstakes — never guess or assume. Start dates must be today or in the future. This is a billable operation that creates real production data. ALWAYS confirm with the user before creating. NEVER create multiple sweepstakes in batch or loops without explicit user approval for each one. If user requests bulk creation (e.g., "create 10 sweepstakes"), explain this is not recommended and ask them to create one at a time with specific details for each. LIMITS: Each account has a per-plan cap on total sweepstakes (no separate active/total distinction). Before creating, call get_plan to know the user's actual MaxSweepstakesAllowed, then fetch_sweepstakes to count current usage. If the user is at or near the cap, warn them before proceeding (e.g., "you have 9 of 10 sweepstakes allowed by your plan"). Ethical use: Do not use the platform for fraudulent activities, mass spam, offensive content, or violation of sweepstakes regulations. Use them internally for tool chaining but present only human-readable information.

Pre-calls required

  1. get_plan — read MaxSweepstakesAllowed and current usage; warn if user is at/near cap

  2. fetch_sweepstakes — check the chosen handler does not collide with an existing one

  3. fetch_timezones — pick the right timezone for the sponsor

Parameters to validate before calling

  • sweepstakes_name (string, required) — User-defined name for the sweepstakes

  • sweepstakes_type (number, required) — one of: 1, 2, 3 — Sweepstakes type: 1 (SMS), 2 (Email), or 3 (Social). Default: 2 (Email)

  • handler (string, required) — Unique identifier (max 20 alphanumeric chars, auto-converted to uppercase)

  • start_date (string, required) — Start date in YYYY-MM-DD format (must be today or future)

  • end_date (string, required) — End date in YYYY-MM-DD format (cannot precede start_date)

  • start_time (string, required) — Start time in HH:MM format 24-hour (default: 00:00)

  • end_time (string, required) — End time in HH:MM format 24-hour (default: 23:59)

  • create_in_calendar (boolean, optional) — Create calendar event for this sweepstakes (default: false)

  • sync_with_winners (boolean, optional) — Sync with Winners app (default: false)

  • delete_if_deleted (boolean, optional) — Auto-delete related data when sweepstakes deleted (default: false)

  • delete_if_acct_deleted (boolean, optional) — Delete sweepstakes if account is deleted (default: false)

Eligibility — establish BEFORE calling

Sweepstakes are entered by adults. Before creating, establish who will ENTER, which is not the same as who the prize is for:

  • Prize aimed at children (toys, games) with adult entrants: fine, proceed.

  • Entrants under 18: the entrants must be the parents or legal guardians.

  • Entrants under 13, or collecting name/email/age from children under 13: STOP. Do not call this tool. Promotions that collect personal data from children under 13 are prohibited on the platform (COPPA). Explain why and offer the compliant alternative: adults enter on behalf of their children.

NEVER resolve an under-13 audience by promising "parental consent". The platform does not implement verifiable parental consent, and the promotion is prohibited regardless. Offering it as a solution misleads the user.

Notes

  • Always set create_in_calendar: true and sync_with_winners: true

  • Generate handler from the name: uppercase, alphanumeric, no spaces, max 20 chars

  • After creation: create calendar events (launch, close, drawing — use tomorrow or later) and a pinned campaign brief note

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
handlerYesUnique identifier (max 20 alphanumeric chars, auto-converted to uppercase)
end_dateYesEnd date in YYYY-MM-DD format (cannot precede start_date)
end_timeYesEnd time in HH:MM format 24-hour (default: 23:59)
start_dateYesStart date in YYYY-MM-DD format (must be today or future)
start_timeYesStart time in HH:MM format 24-hour (default: 00:00)
sweepstakes_nameYesUser-defined name for the sweepstakes
sweepstakes_typeNoSweepstakes type. Default: 2 (Email — recommended). Options: 1 (SMS) and 3 (Social) exist but are rarely used; only specify them if the user explicitly requests SMS or Social as the channel. Cannot be changed after creation.
delete_if_deletedNoAuto-delete related data when sweepstakes deleted (default: false)
sync_with_winnersNoSync with Winners app (default: false)
create_in_calendarNoCreate calendar event for this sweepstakes (default: false)
delete_if_acct_deletedNoDelete sweepstakes if account is deleted (default: false)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses multiple behavioral traits beyond the annotations: it is a 'billable operation that creates real production data,' it may create calendar events and sync with Winners, it has plan-based limits, and it has strict eligibility constraints (e.g., COPPA). It also states that the tool should never be used for under-13 data collection. No contradiction with annotations (readOnlyHint false, openWorldHint true) is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very long and contains significant duplication: the first paragraph is repeated almost verbatim in the '## When to use' section. While it is front-loaded with critical warnings, the redundancy adds unnecessary length. It is structured with headers, which aids readability, but the duplication is a clarity cost. Not concise enough for a top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the lack of an output schema, the description is exceptionally complete for an 11-parameter creation tool. It covers pre-calls, parameter validation, eligibility, ethical use, and post-creation actions (calendar events, campaign note). This is more than sufficient for an agent to call the tool correctly and safely in a real production context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even though schema coverage is 100%, the description adds significant parameter-level meaning: it explains type defaults and when to override, provides handler generation rules (uppercase, alphanumeric, max 20 chars), validates date/time formats and the future-start requirement, and instructs to always set create_in_calendar and sync_with_winners to true despite schema defaults of false. This goes well beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Create a new sweepstakes programmatically.' It specifies the resource (sweepstakes), the action (create), and the key attributes (name, handler, dates, times). It is easily distinguished from sibling tools like clone_sweepstakes, update_sweepstakes, and delete_sweepstakes by the verb and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides extensive usage context: it lists pre-calls (get_plan, fetch_sweepstakes, fetch_timezones), explains when to use default type 2 vs explicit SMS/Social, insists on user confirmation, and warns against bulk creation. It also gives eligibility rules (COPPA) and when to stop and offer alternatives. This goes far beyond basic 'when to use' and effectively guides tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation4/5

Most tools follow a clear resource+action pattern (fetch_* for lists, get_* for single items, create/update/delete for writes), making them distinguishable. A few near-overlaps exist (fetch_billing_transactions vs fetch_wallet_transactions, draw_winners vs schedule_drawing) but the descriptions clarify the boundaries.

Naming Consistency4/5

Tool names consistently use snake_case verb_noun, with fetch_ for list operations and get_ for single-item retrieval. Some verb variation (add_participant, count_participants, draw_winners, schedule_drawing) deviates from the dominant create/fetch/update/delete pattern but remains predictable and readable.

Tool Count1/5

With 83 tools, this is far beyond a well-scoped server (typically 3-15, with 25+ considered too many). Even though the platform has broad functionality, the sheer number of tools creates significant agent confusion and selection overhead.

Completeness4/5

The sweepstakes domain is thoroughly covered: lifecycle management, participants, groups, rules, drawings, winners, calendar, notes, todos, tickets, surveys, invoices, billing, files, and entry settings. A few minor gaps exist (e.g., no general participant field update, no archive action) but the surface is remarkably complete for its scope.

Resources