Start with a conversation.
Return an editable signup.
This page is for agents preparing a SignupBetter draft at a user's request. Use ordinary web links or HTTP JSON. No account, API key, or MCP connection is required. Everything on this page works without JavaScript.
Draft preparation creates no event record, publishes nothing, sends no email, and never charges money. The human reviews the draft before publication.
Draft now, human review next
Draft preparation requires no login. Return the real review link to the human, who reviews the details and decides whether to publish. Existing organizers can sign in to access their signups. Preparation never signs in or publishes on their behalf.
The workflow
- Ask what the user is organizing and what people can bring or do. Clarify capacities, and ask for date, time, and IANA timezone when scheduling matters. Do not invent missing details.
- Use the browser GET flow or HTTP JSON flow below.
- Return the exact
editUrlor the resulting page's Review and edit this draft link. Do not construct its encoded fragment yourself. - The human opens the link and reviews the details. Production publication costs $2 when checkout is enabled; staging can offer free preview publication. The app shows current availability.
Using a web browser or fetch tool
Open the native preparation form, fill its fields, and submit. The response contains the real review link. In its slots textarea, put one slot on each line: Main dish | 4.
A direct GET link may use repeated slot and matching capacity parameters. Optional fields: description, location, date, time, timezone, and type. Example:
https://staging.signupbetter.com/prepare?title=Neighborhood+potluck&type=potluck&timezone=America%2FLos_Angeles&slot=Main+dish&capacity=4&slot=Dessert&capacity=3&slot=Drinks&capacity=2
Open the link, then return the response's review link to the user. Add format=json for JSON output. To send a full object by GET, URL-encode the JSON as draft: try a complete JSON draft link. GET preparation is stateless.
Using an HTTP-capable agent
Read the schema or endpoint description. Send the raw JSON object below to POST https://staging.signupbetter.com/api/drafts, with Content-Type: application/json. No email address or authorization header is needed.
{
"title": "Neighborhood potluck",
"description": "Neighbors & friends bring something to share.",
"location": "",
"date": "",
"time": "",
"timezone": "America/Los_Angeles",
"type": "potluck",
"slots": [
{
"title": "Main dish",
"capacity": 4
},
{
"title": "Dessert",
"capacity": 3
},
{
"title": "Drinks",
"capacity": 2
}
]
}
A successful response contains draft, editUrl, schemaUrl, published: false, and requiresReview: true. Return the exact editUrl for human review.
Keep the draft small and accurate
- Required: a nonempty title and 1–40 slots. Each slot has a nonempty title and an integer capacity from 1 to 100.
- Plain text only. Titles: 150 characters; description: 5,000; location: 300. Extra fields are rejected.
- Date: a real
YYYY-MM-DDdate or empty. Time: 24-hourHH:mmor empty. Timezone: a valid IANA name. Ask for the user's timezone before scheduling; an omitted timezone defaults to UTC. - Type:
potluck,volunteers,timeslots, orcustom. Leave unknown optional details empty. - Normalized JSON: at most 12 KiB. Review links: at most 16 KiB. Correct validation errors and retry.
- Include no participant lists, private contact details, credentials, or payment information. Draft links are encoded, not encrypted; URLs can appear in browser history or be shared.
Other ways to start
Use MCP only if the user has connected a compatible client. A website cannot install a connector or give an assistant capabilities it lacks. If your tools cannot complete the GET or POST flow, return valid JSON for the user to import in the editor. Existing organizer data still requires authentication.