Integrations/Discord

Send form submissions to Discord

Form submissions show up in your Discord channel.

Updated March 2026

There's a built-in Discord template that turns submissions into embed messages. You give it a Discord webhook URL, set template: "discord", and submissions start appearing in your channel as formatted embeds.

Setup

1. Create a Discord webhook URL

Server Settings > Integrations > Webhooks. Make a new one, pick the channel, copy the URL.

2. Get a Sutrena API key

Grab a trial key or use one you already have.

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

3. Create a form

Make a form. This one collects bug reports.

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Bug reports",
    "fields": [
      { "name": "title", "label": "Bug title", "type": "text", "required": true },
      { "name": "severity", "label": "Severity", "type": "select", "options": ["low", "medium", "high", "critical"] },
      { "name": "description", "label": "Description", "type": "textarea" }
    ]
  }'

4. Create a webhook with the Discord template

Set template: "discord", paste your Discord webhook URL, link it to the form.

# Create the webhook
curl -X POST https://sutrena.com/api/webhooks \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://discord.com/api/webhooks/123456/abcdef",
    "template": "discord",
    "description": "Bug reports to #bugs"
  }'

# Link to form
curl -X PATCH https://sutrena.com/api/forms/frm_xxx \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{ "webhookIds": ["wh_xxx"] }'

5. Test the integration

Submit the form, check Discord. You'll see a rich embed with the form name as the title and each field listed out.

curl -X POST https://sutrena.com/api/webhooks/wh_xxx/test \
  -H "Authorization: Bearer st_trial_xxx"

Webhook payload

Every submission triggers a POST to your webhook URL with this payload:

{
  "id": "del_xxx",
  "event": "form.submission",
  "timestamp": "2026-01-15T10:30:00Z",
  "data": {
    "formId": "frm_xxx",
    "submissionId": "sub_xxx",
    "payload": {
      "name": "Jane",
      "email": "[email protected]"
    }
  }
}

FAQ

What does the Discord message look like?

An embed with a colored sidebar. Form name as the title, each field as an inline embed field, timestamp in the footer.

Can I use Discord forum channels?

Not directly. Forum channels need a thread_name parameter, which the Discord template doesn't support yet. For now, you'd need to go through Zapier or Make with a custom payload as a workaround.

What happens if my Discord webhook URL changes?

Delete the old Sutrena webhook and make a new one with the new URL. Discord URLs change when you delete and recreate the webhook in server settings.

Is there a rate limit on Discord webhooks?

Discord caps incoming webhooks at about 30 per minute per channel. Sutrena handles the retry-after headers, so things queue up and go out in order. You probably won't hit this unless you're getting a lot of submissions at once.

What is Sutrena?

Sutrena is the web runtime for AI agents. Three primitives — pages, forms, and dashboards — accessible through one API. Your agent creates web artifacts, humans interact with them, and your agent gets the data back. Framework-agnostic. Works from any MCP client or HTTP client.

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 a form + dashboard from a template

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"templateId": "waitlist", "createDashboard": true}'

Ready to build?

Get a trial API key instantly with no signup, or create an account for the full experience.

Discord Integration -- Send Form Submissions to Discord | Sutrena | Sutrena