Integrations
Send every submission to Discord, Airtable, Notion, GitHub, HubSpot, Mailchimp, Zendesk and 11 more by pasting a credential once.
Before you start
Integrations deliver every accepted submission straight into another tool: a chat channel, a spreadsheet, a task tracker, a mailing list or a helpdesk. There is no OAuth dance and nothing to host. You paste a credential from the tool once, and we deliver from then on. They are included on Pro and Agency.
Slack has its own guide, because it connects differently: see Slack. If the tool you want is not listed, a webhook can reach anything with an HTTP endpoint.
Available tools
18 tools, grouped by where a submission lands. Each one has a Where do I find this? link on its connect form pointing at the tool's own instructions for creating the credential.
Chat and messaging
| Tool | What it does | You paste |
|---|---|---|
| Discord | Post every submission into a channel via an Incoming Webhook. | Webhook URL |
| Telegram | Message a chat via a bot the moment a submission arrives. | Bot token, Chat ID |
Spreadsheets and docs
| Tool | What it does | You paste |
|---|---|---|
| Airtable | Create a record in a base. Column names must match your form field names. | Personal access token, Base ID, Table name |
| Notion | Create a page in a database, one submission per page. | Internal integration token, Database ID |
Tasks and issues
| Tool | What it does | You paste |
|---|---|---|
| Trello | Create a card on a list. | API key, Token, List ID |
| Linear | Create an issue on a team. | API key, Team ID |
| GitHub | Open an issue on a repository. | Personal access token, Repository owner, Repository name |
| Asana | Create a task in a project. | Personal access token, Project ID |
Email marketing
| Tool | What it does | You paste |
|---|---|---|
| Mailerlite | Add the submitter to a group as a subscriber. | API key, Group ID, Which submitted field is the email address |
| Convertkit | Subscribe the submitter to a form. | API key, Form ID, Which submitted field is the email address |
| Klaviyo | Add the submitter to a list as a profile. | Private API key, List ID, Which submitted field is the email address |
| ActiveCampaign | Add the submitter as a contact on a list. | API key, Account URL, List ID, Which submitted field is the email address |
| Mailchimp | Add the submitter to an audience as a subscriber. | API key, Audience ID, Which submitted field is the email address |
CRM
| Tool | What it does | You paste |
|---|---|---|
| HubSpot | Create a contact. Property names must match your HubSpot contact properties. | Private app access token |
| Pipedrive | Log an activity with the submission details. | API token |
Helpdesk
| Tool | What it does | You paste |
|---|---|---|
| Zendesk | Open a ticket. | Agent email (for the API token), API token, Subdomain, Which submitted field is the email address |
| Freshdesk | Open a ticket. | API key, Domain, Which submitted field is the email address |
| Gorgias | Open a ticket. | Agent email (for the API key), API key, Subdomain, Which submitted field is the email address |
- 1
Open the picker
Open the form's Integrations tab. Under More integrations, click Add an integration and choose a tool, or search for it by name.
- 2
Paste the credential
Fill in every field and click Connect. Tokens and keys are encrypted when saved and never shown again, not even to you. Routing values such as a channel, list or base ID stay visible so you can check them later.
Give the credential as little access as the tool allows. A token limited to one base, one project or one list is enough, and it is all we need. - 3
Send a test submission
Submit the form, then check the tool. The card for the integration shows the time of the last delivery, or how many attempts in a row have failed.
How fields are mapped
Most tools receive the whole submission as text: a message, a card, an issue, a ticket or an activity note listing each field and its value. A few map fields to named slots, and those need your field names to line up:
- Airtable writes each field to the column with the same name. Every field name must already exist as a column in the table, or the record is rejected.
- Notion creates one page per submission, titled with the form name and time, with each field as a line in the page. The database's title property must be called
Name, which is Notion's default. - HubSpot creates a contact, using your field names as contact property names. Each one must already exist in HubSpot.
- Email marketing and helpdesk tools ask which submitted field is the email address,
emailby default. A submission without a valid address in that field is not sent to the tool, and is not retried.
On Discord, mentions are switched off for every message we post, so a visitor typing @everyone into your form does not ping your server. Telegram messages are sent as plain text.
Failures, pausing and disconnecting
A timeout, a network error, or a 5xx, 408 or 429 from the tool is retried on the same schedule as webhooks, over roughly 15 hours. Any other 4xx means the tool rejected the request, usually a wrong ID or a missing column, and that delivery stops.
After 20 failed attempts in a row, the integration is switched off and its card says why. Fix the cause, then click Re-enable. From the same card:
- Reconfigure changes the settings. You re-enter every field, including the credential.
- Pause stops deliveries without forgetting the settings.
- Disconnect removes the integration and its stored credential.
Submissions held for spam review are never delivered, and attachments are not sent to these tools. Use a webhook if you need file links.