Translate Typeform responses into one English tracker

Every time someone submits your survey, we translate their open-text answers into English and log the whole response to a Google Sheet your team can read.

Deterministic Code
TypeformDeepLGoogle SheetsOperationsCustomer SupportData SyncFeedback Triage
PromptCreate

This is a deterministic, code-style workflow. Trigger it with a webhook that fires whenever a new response is submitted to my Typeform survey. Typeform emits a first-class outgoing webhook on each new submission, and the payload carries the submitted answers. If any answer data is missing from the webhook payload, fetch it with Typeform's Retrieve Responses operation using the form and response identifiers from the payload.

From the response, gather only the free-text (open-text) answers into an array of strings, preserving their order and remembering which question each one belongs to. Send that array in a single DeepL Translate Text call with target_lang set to EN and source_lang omitted so DeepL auto-detects the language. Read back both the translations and the detected_source_language that DeepL returns. DeepL accepts up to 50 text strings in one call, so batch all the open-text answers into that single request. Note that DeepL free-plan API keys end in ':fx' and must use the api-free.deepl.com host.

Then append exactly one row to my Google Sheets tracker using Append Values. The row should contain, in order: the submission timestamp, the detected source language, the original open-text answers, and their English translations. Pass multiple-choice, rating, and other closed answers through unchanged into their own columns; do not translate them.

Keep everything deterministic: translate only the open-text fields, leave every multiple-choice answer exactly as submitted, and always record the detected source language even when it is already English. One response in produces one row out.

What does this prompt do?

  • Watches your Typeform survey and runs the moment a new response comes in.
  • Translates the free-text answers into English and detects which language each respondent wrote in.
  • Adds one row to your Google Sheet with the submission time, the detected language, the original answers, and their English translations.
  • Leaves multiple-choice answers untouched and always records the language, even when the response is already in English.

What do I need to use this?

  • A Typeform account with the survey you want to track.
  • A DeepL account for the translations (the free plan works).
  • A Google account and a Google Sheet to collect the responses.

How can I customize it?

  • Choose which survey questions get translated and which pass through unchanged.
  • Point it at any Google Sheet and set the column order that suits your team.
  • Switch the target language if your team reads something other than English.

FAQs

Does this work with free DeepL and free Typeform accounts?
Yes. A free DeepL plan handles the translations, and Typeform's built-in response notifications trigger the workflow, so you can get started without a paid tier.
What happens if someone answers in English?
The response is logged just like any other, and the detected language is recorded as English, so your sheet always shows where each answer came from.
Will it translate the multiple-choice answers too?
No. Only the open-text answers are translated. Multiple-choice and rating answers are copied across exactly as they were submitted.
How fast does a new response show up in the sheet?
It runs as soon as someone submits the form, so the translated row usually appears within moments of the response coming in.
Can my whole team read every language in one place?
Yes, that is the point. Every response lands in the same sheet in English, so a team that does not speak every respondent's language can read them all together.

Related templates

Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Weekly voice-of-customer report from surveys and support

Every Monday, last week's survey answers and support conversations become one themed report in Notion, with the top five themes posted to Slack.

Typeform
Intercom
Notion
+2
Agentic Task
Flag VIP client emails in Zoho Mail and alert your team

Keep a spreadsheet of your most important senders, and every email from one gets labeled, posted to your team channel, and logged automatically.

Zoho Mail
Google Sheets
Slack Bot
Deterministic Code
Send Yotpo review requests when Shopify orders ship

The moment an order is fulfilled, we register it with Yotpo so the review request is timed off real delivery, and we log every sync so failures never go unnoticed.

Shopify
Yotpo
Google Sheets
Deterministic Code

Read every survey response, whatever language it's in.

Automatically translate and log multilingual form submissions so your whole team stays on the same page.