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"). AUDIENCE: Sweeppea entry pages collect personal data from whoever enters, so the entrants must be adults. If the user describes a promotion aimed at children or teenagers, ask who actually submits the entry BEFORE creating: a parent or guardian entering on the child's behalf is the compliant setup. The server blocks names that refer to a minor audience until you pass entrants_are_18_or_older: true. Never resolve this by silently publishing 18+ rules for a promotion the user described as being for kids. 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)
entrants_are_18_or_olderNoConfirms the people who SUBMIT the entry are 18 or older. Required true only when the sweepstakes name refers to a minor audience (kids, niños, teens, high school…), in which case the server blocks the call until you set it. Set it ONLY after asking the user who actually enters: a parent or guardian entering on a child's behalf is the compliant setup and qualifies; children entering their own name, age or school does NOT. Never set it to unblock the call.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / entrants_are_18_or_older
      Added value: +{
      +  "description": "Confirms the people who SUBMIT the entry are 18 or older. Required true only when the sweepstakes name refers to a minor audience (kids, niños, teens, high school…), in which case the server blocks the call until you set it. Set it ONLY after asking the user who actually enters: a parent or guardian entering on a child's behalf is the compliant setup and qualifies; children entering their own name, age or school does NOT. Never set it to unblock the call.",
      +  "type": "boolean"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / properties / sweepstakes_type / description
      Previous value: -"Sweepstakes type: 1 (SMS), 2 (Email), or 3 (Social). Default: 2 (Email)"New value: +"Sweepstakes 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."
    • changedInput schema / required
      Previous value: -[
      -  "sweepstakes_name",
      -  "sweepstakes_type",
      -  "handler",
      -  "start_date",
      -  "end_date",
      -  "start_time",
      -  "end_time"
      -]New value: +[
      +  "sweepstakes_name",
      +  "handler",
      +  "start_date",
      +  "end_date",
      +  "start_time",
      +  "end_time"
      +]
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

The description goes far beyond the annotations, disclosing that this is a billable operation creating real production data, that limits apply per plan, that the server blocks minor-audience names until entrants_are_18_or_older is set, and that user confirmation is mandatory. It also surfaces non-idempotent behavior by warning against batch/loop creation.

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

Conciseness2/5

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

The content is well organized with headers, but it is substantially redundant: the opening paragraph repeats the 'When to use' section almost verbatim, including the same CRITICAL, ALWAYS, NEVER, LIMITS, and ethical-use statements. Several sentences could be removed without losing information, so the description is not appropriately sized.

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?

For a high-risk, 12-parameter creation tool with no output schema, the description is exceptionally complete. It covers required pre-calls, parameter validation rules, eligibility and COPPA constraints, plan limits, post-creation steps, and safety guardrails. Nothing an agent needs to decide whether and how to call the tool is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds valuable meaning beyond the schema: sweepstakes_type defaults to 2 (Email) and SMS/Social are rarely used, handler should be generated from the name with specific formatting rules, and create_in_calendar plus sync_with_winners should always be true. This materially helps correct invocation.

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 function: 'Create a new sweepstakes programmatically.' This distinguishes it from sibling tools like clone_sweepstakes, update_sweepstakes, and delete_sweepstakes by emphasizing creation of a new resource.

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

Usage Guidelines4/5

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

The description includes a dedicated 'When to use' section, required pre-calls (get_plan, fetch_sweepstakes, fetch_timezones), and explicit guidance to confirm with the user before creating. It also gives strong when-not-to-use guidance for bulk creation and under-13 audiences, though it does not explicitly contrast this tool with update or clone alternatives.

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.

Resources