10 destinations
Form integrations: where your responses can go
Every response is saved to your dashboard and can be exported as CSV. A destination is an extra copy, delivered the moment someone submits — into a channel your team already watches, a spreadsheet or database you already keep, or a URL of your own.
This page compares all 10: which are free, what you need to connect each one, what actually arrives, and the one thing about each that makes a correct setup look broken.
Free on every plan
A webhook points at an endpoint you run, so it stays free: a form on the Free plan can still reach a system you own. Telegram is free as well, as the one push notification the Free plan has.
Webhooks
Free- You connect it with
- A URL you run, with an optional authentication header.
- What arrives
- Every response POSTed as JSON, field by field.
- Worth knowing
- The endpoint has to be reachable from the public internet — a localhost URL never receives anything.
Telegram
Free- You connect it with
- A bot token from BotFather and a chat ID.
- What arrives
- A plain-text message in the chat for each response.
- Worth knowing
- A bot cannot message someone who has not pressed Start, or a group it has not been added to — Telegram calls both "chat not found".
On paid plans
These deliver into an account you hold with someone else. They are included from the Basic plan, at $20 a month. Compare plans →
Slack
Paid plans- You connect it with
- A Slack app's bot token and a channel ID.
- What arrives
- A message in the channel, labelled by question.
- Worth knowing
- The bot has to be invited to the channel. Until it is, Slack accepts the request and posts nothing.
Discord
Paid plans- You connect it with
- One webhook URL for the channel.
- What arrives
- An embed in the channel for each response.
- Worth knowing
- The webhook URL is a credential: anyone holding it can post to the channel.
Microsoft Teams
Paid plans- You connect it with
- A Workflows webhook URL for the channel.
- What arrives
- An Adaptive Card in the channel.
- Worth knowing
- The older Incoming Webhook connector is retired. Only a Workflows URL works, and "accepted" is not yet "delivered".
Google Chat
Paid plans- You connect it with
- A webhook URL created in the space.
- What arrives
- A card in the space.
- Worth knowing
- A Workspace admin can switch webhooks off, and then the menu item is simply missing.
Google Sheets
Paid plans- You connect it with
- Your Google account, and a spreadsheet you pick.
- What arrives
- A row in the sheet for each response.
- Worth knowing
- Answers are bound to columns by header text: reordering columns is safe, renaming a header in the sheet is not.
Airtable
Paid plans- You connect it with
- A personal access token, a base and a table.
- What arrives
- A record in the table, matched to columns by name.
- Worth knowing
- A question whose label matches no column is left out — Airtable would otherwise reject the whole record.
Notion
Paid plans- You connect it with
- An integration token and a database.
- What arrives
- A page in the database for each response.
- Worth knowing
- With an internal connection, the database has to be connected to it in Notion first — otherwise Notion answers 404 for an ID that is correct.
Email notifications
Paid plans- You connect it with
- Your own Resend, SendGrid, Postmark or Mailgun API key.
- What arrives
- An email when a response arrives, capped at 3 an hour per form.
- Worth knowing
- The From address has to be on a domain you have verified with that provider.
How delivery works
The dashboard copy comes first
A response is written to your responses list before any destination is attempted. Whatever a destination does afterwards, the record is already there, and CSV export is always available.
You hear about a failure
When a delivery fails, we email you which destination failed and why — up to three times per broken episode. A recovery is not announced: the alerts simply stop.
You can test before you share
Every destination has a test button in Settings → Storage. It sends a real message, or reads the real schema, and names the cause when something is wrong.
Questions about integrations
- Which integrations are free?
- Webhooks and Telegram work on every plan, including Free, and so does CSV export. The others — Slack, Discord, Microsoft Teams, Google Chat, Google Sheets, Airtable, Notion, Email notifications — need a paid plan, which starts at $20 a month.
- Do I lose a response if a destination fails?
- No. Every response is saved to your dashboard first, whatever any destination does afterwards — a destination is an extra copy, never the only one. When a delivery fails you also get an email from us naming which destination failed and why, limited to three per broken episode so a destination that stays broken does not flood you.
- Can one form send to more than one place?
- Yes. A form can have several destinations at once — a webhook into your own system and a message in a channel, for example. Each is delivered independently, so one failing does not stop the others.
- Does it connect to Zapier, Make or n8n?
- There is no dedicated app in those directories. The webhook destination POSTs each response as JSON to any URL you give it, which is what the "catch a webhook" trigger in those tools accepts — so a free form can still reach them, and anything they connect to.
- How do I check a destination before sharing the form?
- Each destination has a test button in Settings → Storage — "Send test message", or "Check connection" for the ones that read a schema first. It reports the real reason when something is wrong, which matters because several of these services answer a misconfigured request as if it had worked.