The moment it happens
Text back callers you miss
Anyone whose call goes unanswered gets a text within moments, and you get their number by email.
- Runs
- The moment it happens
- Apps
- Twilio
- AI
- Not needed
- Access
- read+write (set callback URL, send)
Send this to your assistant
Create a ClickRuntime automation: when a call to my Twilio number isn't answered, text the caller 'Sorry we missed you, how can we help?' and email me their number, but only once per caller per day.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a call goes unanswered, the caller rarely leaves a voicemail. A roofer is up a ladder, a hairdresser is mid-cut, a locksmith is driving, and the person who called moves straight on to the next name in the search results. The business never learns who called, and the job goes to whoever picked up. For trades and appointment businesses, each missed call can be a job worth hundreds of dollars.
As soon as Twilio reports a missed call, this sends the caller a text, for example saying you are busy and will ring back shortly, and emails you the number so you can return the call. It ignores duplicate events and repeat callers within a short period, so nobody receives five texts for five rings.
It suits owner-operators who cannot always answer the phone.
What you get out of it
The caller knows they were noticed
A text within seconds tells the caller you got their call and will respond. Many will wait for your reply instead of dialing a competitor, which saves jobs that would otherwise be lost silently.
You get the number straight away
The email gives you the caller's number at once, so a return call can be made between jobs. Nobody has to dig through the phone log to work out who rang and when.
Repeat callers are not spammed
A person who calls three times in ten minutes receives one text, not three. That avoids looking robotic or annoying at the moment someone is already frustrated by getting no answer.
Recovers revenue that was invisible
Missed calls leave no trace, so the loss never shows up on any report. Texting back brings in work from people who would never have been counted as lost leads.
Works while you are working
The reply goes out immediately, without you touching a phone. You can stay focused on a delicate job and still treat every caller professionally, which builds a reputation for responsiveness.
How it works
What happens, step by step
When a call to your Twilio number goes unanswered or the line is busy, ClickRuntime hears about it straight away.
It skips callers it has texted recently, so someone who rings twice isn't texted twice.
It sends the caller a text saying you'll get back to them.
You get an email with their number and when they were texted.
Before it runs live
- Connect Twilio
- 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 Twilio steps into one automation
Under the hood
The code that runs this automation
import time
from clickruntime import on_event, credentials, http, state, notify
TEXT = "Sorry we missed your call! We'll ring you back shortly – or reply here with what you need. – Northwind Plumbing"
@on_event
def handle(event):
call = event.json # Twilio status callback (form fields)
if call.get("CallStatus") not in ("no-answer", "busy"):
return {"skipped": call.get("CallStatus")}
caller = call["From"]
last = state.get(f"texted:{caller}") or 0
if time.time() - last < 6 * 3600:
return {"skipped": "recently texted"}
sid = credentials.secret("TWILIO_ACCOUNT_SID")
http.post(f"https://api.twilio.com/2010-04-01/Accounts/{sid}/Messages.json",
auth=(sid, credentials.secret("TWILIO_AUTH_TOKEN")), data={"To": caller, "From": call["To"], "Body": TEXT})
state.set(f"texted:{caller}", time.time())
notify.email_me(f"Missed call from {caller}", f"Texted them back at {event.received_at}.")
return {"texted": True}FAQ
Common questions
Does it text spam callers and withheld numbers?
What does the text say?
Will it text people who I am already talking to?
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
Get a text when your form or app reports something
A new form entry, order or failed job sends a short SMS to your phone with the details that matter.
See how it worksGet texts to your Twilio number by email
Every SMS sent to your number arrives in your inbox with the sender.
See how it worksGet voicemails as text in your inbox
Each voicemail left on your number reaches you as an email with the caller, the transcript and a link to the recording.
See how it worksKeep exploring
Set up “Text back callers you miss” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.