Guide · Make.com · Typeform · Sheets, Slack, Gmail

Typeform → Make.com: send responses to Sheets, Slack and email

Short answer: In Make.com, start a scenario with the instant Typeform → Watch Responses trigger, which runs as soon as someone submits the form. Then add Google Sheets → Add a Row, Slack → Send a Message and Gmail → Send an email. Map answers by question, and read hidden fields (Typeform now calls them URL parameters, e.g. utm_source) from the response's hidden data. Most problems come from a disabled webhook, answers that stop mapping after the form was edited, or parameters missing from the form link.

By Flowpaja · Published

The instant Typeform Watch Responses trigger, a utm_source hidden field read from the form link, and three actions using about 4 credits per response
Pick the Watch Responses module with the INSTANT tag; the other one polls and uses credits on every check.
Disclosure: everything in this guide works with plain Make.com and the apps it connects. At the end we mention our own Make templates and our Make scenario fix service on Fiverr. Module names, settings and limits were checked against Make's Typeform app docs and Make's pricing page in October 2026. Menus and limits change, so check them if something looks different.

Some links on this page are affiliate links. If you sign up through them, Flowpaja may earn a commission at no extra cost to you.

Only need responses in a sheet? The shorter guide Send Typeform responses to Google Sheets covers just that. This page adds hidden fields, Slack, email and troubleshooting.

What you need

  • A Typeform account and a published form. If you don't use Typeform yet: Typeform (affiliate link)
    • Honest limit: Typeform's Free plan allows 10 responses a month across all your forms (Typeform Help Center, checked 2 October 2026). When you hit the limit, your forms stop accepting responses until the next month. That's enough to build and test this scenario, not to run a live lead form. Paid plans start at 100 responses a month (Basic), and removing Typeform branding needs Plus or higher. For simple or high-volume forms, Tally is the cheaper option.
  • A Make.com account. The Free plan includes 1,000 credits a month and 2 active scenarios, according to Make's pricing page (checked 2 October 2026). Sign up here if needed: Make (affiliate link)
  • Google Sheets, Slack and Gmail accounts (or just the ones you use)

Step 1: Add the instant Watch Responses trigger

  1. In Make, create a scenario and add Typeform → Watch Responses. Make has two modules with this name: pick the one with the INSTANT tag. The other one polls on a schedule and uses a credit on every check, even when there's nothing new.
  2. Click Create a webhook, then Create a connection. Select your Typeform account's region and approve the permissions.
  3. Select the form and save. Make creates the webhook in Typeform for you.
  4. Click Run once, then submit the form with fictional data, e.g. "Ana Example", [email protected].

The trigger's output now shows the response: its ID (token in Typeform's data), the submit time, the answers and any hidden values.

Step 2: Set up and map hidden fields

Hidden fields carry data the respondent doesn't type, such as the traffic source, a campaign or a customer ID. Typeform renamed them URL parameters, but Make and Typeform's data still call them hidden fields.

  1. Create them in Typeform: in the form editor, open Workflow and use Pull data in to add parameters such as utm_source and ref. Typeform requires lower-case names with underscores instead of spaces.
  2. Pass them in the form link. Typeform reads them after a #, not a ?:
https://yourname.typeform.com/to/AbC123#utm_source=newsletter&ref=oct-campaign
  1. Send a test response through that link, then click Run once again so Make sees the values.
  2. In Make, the values appear in a separate hidden collection, e.g. hidden.utm_source. Pick them from the mapping panel rather than typing the path. Add a fallback for visitors who arrive without parameters:
{{ifempty(1.hidden.utm_source; "direct")}}

The name in the link must match the parameter exactly: utm_source works, UTM_Source or utm-source stays empty.

Step 3: Map answers reliably

In Typeform's data, answers are a list, one entry per answered question. Each entry has the question's ID and ref, a type, and the value under a key that depends on the type: text, email, number, boolean, date, url, file_url, choice (one option) or choices (several options).

  • If the Make module shows each question as its own field, map those directly.
  • If you work with the raw list, pick answers by the question's ref rather than its position. The ref stays the same when you edit the question text; it changes if you delete the question and create a new one.
  • Multiple choice with several options gives a list of labels. Write it into one cell with {{join(…choices.labels; ", ")}}.

Step 4: Send to Google Sheets, Slack and email

You don't need a router for this. Three modules in a row is the simplest setup, because each runs once per response.

  1. Google Sheets → Add a Row. Columns, for example: Submitted at | Response ID | Name | Email | Company | utm_source | ref. Keep the column order fixed.
  2. Slack → Send a Message to e.g. #leads:
New Typeform response from {{name}} ({{company}})
Source: {{ifempty(1.hidden.utm_source; "direct")}}

If you connect Slack as a bot, invite the bot to the channel first, or Slack answers with not_in_channel or channel_not_found (fix: Slack channel not found in Make). Keep personal data in Slack to what the team needs.

  1. Gmail → Send an email to yourself, with the full answers. Only email the respondent if your form tells them they'll get an email.

Add a filter right after the trigger, e.g. Email → Exists, so test or incomplete responses stop before they use more credits.

Worried about the same response arriving twice? Store the response ID (token) and check it with Google Sheets Search Rows before Add a Row. Search Rows outputs one empty bundle when it finds nothing, so filter on Total number of bundles = 0, as explained in Search Rows returns nothing.

Credits per run

Make counts one credit per module action; filters and routers don't use credits (Make pricing page, checked 2 October 2026):

SetupModules that runCredits per response
Sheets onlyTrigger + Add a Row2
Sheets + SlackTrigger + Add a Row + Slack3
Sheets + Slack + GmailTrigger + 3 actions4
Stopped by the filterTrigger1

A retried run uses credits again for the modules it reruns. More in Make credits explained.

The 3 most common errors and fixes

1. The scenario doesn't run when someone submits

  • Causes:
    • The scenario was deactivated. A scenario that starts with an instant trigger ignores the Errors before deactivation setting: without stored incomplete executions, the first error switches it off.
    • Typeform disabled the webhook. Typeform does this immediately if the endpoint answers 404 or 410 (for example, after the webhook was deleted in Make), and also after a long run of failed deliveries. It sends you an email when it happens.
  • Fix:
    1. Switch the scenario on, and enable Store incomplete executions in the scenario settings.
    2. Check Typeform's emails for a webhook warning. Webhooks that Make creates through Typeform's API aren't listed in the form's own webhook settings, so check from the Make side.
    3. In Make, open the trigger and check that its webhook still exists (also under Webhooks in the left menu). If it's gone, create a new webhook in the trigger and save, so Make registers it again.

For general webhook checks, see Make webhook not receiving data.

2. Answers are empty after editing the form

  • Cause: a question was deleted and recreated, or changed type. It now has a new ID and ref, so the old mapping points at nothing.
  • Fix:
    1. Send a new test response and Run once.
    2. Remap the affected fields.
    3. In future, edit questions in place rather than recreating them.

3. Hidden fields are always empty

  • Cause: the link doesn't contain the parameters, uses ? instead of #, spells the name differently, or an embed doesn't pass them on.
  • Fix:
    1. Open the exact link your visitors use and check that the parameters are there after the #.
    2. For embedded forms, pass the values with the embed code's data-tf-hidden attribute, or keep Read URL parameters switched on in the embed's advanced settings if the values are in your page's URL.
    3. Add an ifempty() fallback so the sheet shows "direct" instead of a blank.

Also seen: 401/403 errors when the Typeform connection lost access. Reauthorize it under Connections. For Google errors, see Make Google connection errors. For all error types, see the Make error cheat sheet.

FAQ

Does Typeform's Watch Responses trigger run instantly?
Make has two Typeform modules called Watch Responses. The one with the INSTANT tag uses a webhook and runs as soon as a response is submitted, so it doesn't use credits on empty checks. The other one polls on a schedule.
How do I pass hidden fields to Typeform?
Create them in the form under Workflow (Typeform now calls them URL parameters), then add them to the form link after a # sign, e.g. #utm_source=newsletter. In Make they appear in the response's hidden fields.
Why are my Typeform answers empty in Make after I changed the form?
A deleted and recreated question, or one that changed type, gets a new ID and ref, so the old mapping no longer matches. Send a new test response and remap the fields.
Can I send Typeform responses to Sheets, Slack and email in one scenario?
Yes. Add Google Sheets Add a Row, Slack Send a Message and Gmail Send an email one after another after the trigger. Each response then uses about 4 credits.
Why is my Typeform scenario not running?
Usually the scenario was deactivated after an error, or Typeform disabled the webhook. Switch the scenario on, check Typeform's emails for a webhook warning, and recreate the webhook in the Make trigger if it no longer exists.

Typeform scenario not running?

Send the exported blueprint and a fictional test response to our Make scenario fix service on Fiverr. No logins needed.

Stuck on an error in your own Make scenario? Make scenario fix / debugging on Fiverr, from $25: send the exported blueprint and a description of the error, no logins needed.

← All guides · All templates

Make, Typeform, Google, Google Sheets, Gmail and Slack are trademarks of their owners. Flowpaja is independent and not affiliated with or endorsed by them. Menus and features change; check the providers' current help.