Translate Typeform responses into one English tracker

By General Input

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.

Integrations

  • Typeform
  • DeepL
  • Google Sheets

Type

Deterministic Code

Categories

  • Operations
  • Customer Support

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seatsBuild audience segments from product usage and push to LoopsTurn the people who engage with your posts into Pipedrive leads