The moment it happens
Get every new Typeform response by email
Each time someone fills in your form, the answers land in your inbox with the question titles.
- Runs
- The moment it happens
- Apps
- Typeform
- AI
- Not needed
- Access
- forms:read, webhooks:write
Send this to your assistant
Create a ClickRuntime automation: email me each new response to my Typeform 'Contact us' form with every question and answer.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Typeform stores results neatly, but it does not make anyone read them. A small agency has an inquiry form on its website, and the owner assumes new submissions will trigger a notification, only to discover a request from a week ago sitting unseen in the results tab. Prospects who wait a week for a reply have usually found someone else.
As soon as someone submits your Typeform, this takes the response, matches each question title to its answer and emails you the formatted result. The whole submission is in your inbox within seconds, readable without opening Typeform.
Use it for inquiries, bookings, applications or any form where a person needs to reply. It takes little setup, and the form keeps working as before for the people filling it in. Everyone sees the same thing.
What you get out of it
Replies go out the same day
With the answers in your inbox, you can respond between other tasks. Prospects get an answer within hours, which is when interest is highest and competitors have not yet replied.
Answers readable at a glance
Each question title is paired with its answer, so the email reads like a short form. You do not have to decode field codes or open a separate results page to understand it.
Sent to whoever handles it
The email can go to one person or to a shared inbox. Forwarding responses to a team address means coverage during vacations, and nobody has to be the single point of failure.
Inbox becomes a searchable archive
Emails are easy to search by name, topic or date. When a client calls back about what they submitted, you can find their exact words in seconds. That archive can be shared with colleagues who have no Typeform seat.
No polling or checking
The email arrives as the response happens, instead of waiting for someone to look at results. People stop refreshing Typeform, and nothing sits unseen because nobody thought to check. Fewer missed requests means fewer apologies later.
How it works
What happens, step by step
When someone submits your Typeform, ClickRuntime receives the response straight away.
It pairs each question with the answer given.
You get an email with the form name and every question and answer, easy to read at a glance.
Before it runs live
- Connect Typeform
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Typeform steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify
def answers(resp):
titles = {f["id"]: f["title"] for f in resp["definition"]["fields"]}
out = {}
for a in resp["answers"]:
value = a.get(a["type"])
if isinstance(value, dict):
value = value.get("label") or ", ".join(value.get("labels", []))
out[titles.get(a["field"]["id"], a["field"]["id"])] = value
return out
@on_event
def handle(event):
resp = (event.json or {}).get("form_response", {})
if resp.get("definition", {}).get("title") != "Contact us":
return {"sent": False}
qa = answers(resp)
notify.email_me("New 'Contact us' response", "\n\n".join(f"{q}\n{a}" for q, a in qa.items()))
return {"sent": True}FAQ
Common questions
Does the email include file uploads?
Can it send a copy to the person who filled it in?
What happens if two people submit at the same moment?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Post new Typeform responses to Slack
Your team sees a short summary of each new submission in Slack right away.
See how it worksGet alerted about low scores
When someone gives a low rating, you see their answers straight away and can follow up.
See how it worksGet alerted about big-budget leads
You only hear about leads whose budget is above your threshold, the moment they submit.
See how it worksKeep exploring
Set up “Get every new Typeform response by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.