How many people are actually coming?

A form that closes when full. Webhooks that tell you who is coming.

You are organizing a dinner, a meetup, a workshop. People need to RSVP. Name, dietary preference, plus-one. You want the form to stop at 30. You want to see who is coming without counting rows in a spreadsheet. This is that.

How an agent handles this: Your agent creates an RSVP form via API (name, email, dietary needs, plus-one, maxSubmissions: 30). Shares form URL with attendees. People submit RSVPs. Form auto-closes at capacity. An automation sends confirmation emails with event details on every RSVP — no agent polling required. Webhook notifies agent on each RSVP. Agent processes RSVPs (updates headcount, manages waitlist). Submissions API provides the guest list.

How does this usually go?

The usual way

  • Google Form. You manually count responses to check capacity.
  • Someone RSVPs twice. Your headcount is wrong.
  • No live view of who is coming or what dietary needs exist.
  • You copy names into a spreadsheet and text the venue.
  • Event is tomorrow and you still do not know if you are over capacity.

With Sutrena

  • Form closes at capacity. No manual counting.
  • uniqueBy: ['email'] rejects duplicate RSVPs at the API level.
  • Submissions API shows yes/no/maybe, dietary needs, guest list.
  • closesAt stops RSVPs after your cutoff date.
  • Webhook pings Slack on every RSVP if you want it to.

One API call

Create the RSVP form with capacity, dedup, and deadline

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "March Founders Dinner — RSVP",
    "fields": [
      {"name": "name", "label": "Name", "type": "text", "required": true},
      {"name": "email", "label": "Email", "type": "email", "required": true},
      {"name": "attending", "label": "Will you attend?", "type": "select",
       "options": ["Yes", "Maybe", "No"]},
      {"name": "dietary", "label": "Dietary Restrictions", "type": "select",
       "options": ["None", "Vegetarian", "Vegan", "Gluten-Free", "Other"]},
      {"name": "plus_one", "label": "Bringing a +1?", "type": "select",
       "options": ["Yes", "No"]}
    ],
    "maxSubmissions": 30,
    "closesAt": "2026-03-15T18:00:00Z",
    "uniqueBy": ["email"]
  }'

One request. You get a form with a capacity limit, duplicate prevention, and a deadline. Share the form URL. Add a webhook for Slack notifications. Done.

Get notified on every RSVP

curl -X POST https://sutrena.com/api/webhooks \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "formId": "FORM_ID",
    "url": "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK",
    "template": "slack"
  }'

Every RSVP shows up in Slack with the attendee name, dietary info, and plus-one status. Built-in Slack and Discord templates handle the formatting.

What this costs

Starts at $29/month (Pro) with 100 projects and unlimited submissions. For a single dinner or meetup, that is probably all you need. Scale is $99/month if you need unlimited projects. If you only run one event, honestly the free plan might be enough.

What is Sutrena?

Sutrena is the web runtime for AI agents. Forms, Pages, Analytics, Webhooks, Automations — all through 67 MCP tools and one REST API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Use any one feature or all of them together.

Pages

Deploy HTML instantly

Forms

Collect structured data

Automations

DSL-based pipelines with 14 step types

Analytics

Privacy-first, no cookies

Webhooks

Slack, Discord, Telegram

Get started in two API calls

1. Get a trial key (no auth, no signup)

curl -X POST https://sutrena.com/api/trial

2. Create anything — a page, form, automation, or analytics site

# Create a form
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"name": "waitlist", "fields": [{"name": "email", "label": "Email", "type": "email", "required": true}]}'

# Or deploy a page
curl -X POST https://sutrena.com/api/pages \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"slug": "index", "title": "My Site", "html": "<h1>Live</h1>"}'

Have an event coming up?

Grab a trial key. Tell your agent the event details. Share the form link. Watch RSVPs come in on Slack.

Event RSVP & Registration Forms — API Backend | Sutrena | Sutrena