Integrations/Microsoft Teams

Send form submissions to Microsoft Teams

Form submitted. Teams message. Adaptive Card in your channel.

Updated March 2026

There's a built-in Teams template that formats submissions as Adaptive Cards via the Workflows incoming webhook connector. You create a workflow in Teams that posts to a channel, copy the URL, and set template: "teams". Each submission shows up as a card with the form name and fields.

Setup

1. Create an incoming webhook in Teams

In Teams, go to the channel where you want notifications. Click the ••• menu > Workflows > Post to a channel when a webhook request is received. Follow the steps and copy the webhook 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 to collect submissions.

curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Support requests",
    "fields": [
      { "name": "name", "label": "Name", "type": "text", "required": true },
      { "name": "email", "label": "Email", "type": "email", "required": true },
      { "name": "issue", "label": "Issue", "type": "textarea" }
    ]
  }'

4. Create a webhook with the Teams template

Set template: "teams" and paste your Teams webhook URL.

# 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://xxx.webhook.office.com/webhookb2/...",
    "template": "teams",
    "description": "Support requests to #support"
  }'

# 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 it

Submit the form, check your Teams channel. You should see an Adaptive Card with the form name as header and fields 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 Teams message look like?

An Adaptive Card with a bold header showing the form name and a FactSet listing each field name and value. Clean, readable, native Teams formatting.

Which Teams webhook method should I use?

Use the Workflows connector ("Post to a channel when a webhook request is received"). The older Office 365 Connectors are being deprecated by Microsoft.

Can I send to multiple Teams channels?

Create one webhook per channel, each with its own Teams URL and template: "teams". Link them all to the same form.

Does it work with Microsoft 365 and GCC?

It works with any Teams environment that supports Workflows incoming webhooks. The URL format may differ for GCC environments but the payload format is the same.

What is Sutrena?

Sutrena is the web runtime for AI agents. Forms, Pages, Dashboards, Analytics, Webhooks, Automations, Emails — all through 75 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

Dashboards

Visualize with 7 widget 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, dashboard, or analytics site

# Create a form with a dashboard
curl -X POST https://sutrena.com/api/forms \
  -H "Authorization: Bearer st_trial_xxx" \
  -H "Content-Type: application/json" \
  -d '{"workflowId": "waitlist", "createDashboard": 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>"}'

Ready to build?

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

Microsoft Teams Integration -- Send Form Submissions to Teams | Sutrena | Sutrena