SAT Tutor
A registration form that caps at 20 students with submissions you can query to see who needs the most help.
You run a summer SAT prep program out of your living room. You can handle 20 students max. Every May you post on your tutoring website and local Facebook groups, then field emails and texts for two weeks trying to keep track of who signed up, what their current scores are, and which days they can come. By the time you close registration you have lost at least three signups buried in your inbox.
“I need a registration form for my SAT prep summer program”
Create the registration form in one call
curl -X POST https://sutrena.com/api/pipeline \
-H "Authorization: Bearer st_live_k7xM9..." \
-H "Content-Type: application/json" \
-d '{
"name": "SAT Prep Summer 2026 Registration",
"fields": [
{ "name": "student_name", "type": "text", "required": true },
{ "name": "parent_email", "type": "email", "required": true },
{ "name": "phone", "type": "phone", "required": true },
{
"name": "current_score",
"type": "number",
"required": true,
"min": 400,
"max": 1600
},
{
"name": "target_score",
"type": "number",
"required": true,
"min": 400,
"max": 1600
},
{
"name": "preferred_days",
"type": "multiselect",
"required": true,
"options": ["Monday", "Wednesday", "Saturday"]
}
]
}'→ One call creates the registration form. Query submissions via the API for a student roster and preferred-day breakdown. The response includes the formId for setting the cap.
Set the 20-student cap so the form closes automatically when full
curl -X PUT https://sutrena.com/api/forms/frm_j1k2l3 \
-H "Authorization: Bearer st_live_k7xM9..." \
-H "Content-Type: application/json" \
-d '{
"maxSubmissions": 20
}'→ The form now accepts exactly 20 students and closes automatically. No more manually counting replies.
Google Forms can collect the data, but it will not cap at 20 unless you babysit it, and you will have to copy-paste into a spreadsheet to see the scores side by side. Sutrena caps the form automatically and gives you submissions via the API so you can see every student's scores and preferred days -- all without leaving one tool. The free tier covers everything since you are well under 100 submissions. Automations can send a confirmation email to parents with session details — preferred days, start dates, what to bring — the moment a registration is submitted.
The form accepts the 20th submission normally. The 21st person who opens the form sees a closed message. You can customize that message to say something like 'Registration is full -- join the waitlist by emailing...' or increase the cap if you find more room.
If you add uniqueBy: parent_email to the form, resubmissions from the same email will update the existing entry instead of creating a new one. This is useful if a parent needs to change preferred days or update a score after a practice test.
Pull the submissions via the API (GET /api/forms/{formId}/submissions) to see current_score and target_score side by side. You can sort or filter however you like to spot the students who need the most attention.
Yes. Set up an automation triggered by form submission to send a confirmation email with the student's preferred days, session dates, and what to bring. Parents know right away that the registration went through.
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
1. Get a trial key (no auth, no signup)
curl -X POST https://sutrena.com/api/trial2. 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>"}'