March 27, 2026
6 min read
Share article

How to Build a Missed Call Text Back Automation for Local Businesses Using n8n

Missed call text-back automation built with n8n and Twilio

Every missed call a local business doesn't answer is a potential customer walking to a competitor. Studies show that 85% of callers who can't reach a business will not call back. A missed call text-back automation sends an SMS within 60 seconds of a missed call — catching that lead before they're gone.

This is one of the easiest automations to sell to local businesses: HVAC companies, plumbers, dentists, restaurants, gyms — anyone who misses calls during busy hours. Setup takes 2 hours and you can charge $300–$600 one-time plus $100–$200/month.

How It Works

The flow is simple:

  1. A customer calls the business's phone number (a Twilio number)
  2. The call goes unanswered (rings out or voicemail)
  3. Twilio fires a webhook to n8n with the caller's number
  4. n8n sends an SMS to the caller within 60 seconds
  5. n8n notifies the business owner via Slack or email
  6. If the customer replies, n8n captures their response and logs it

Step 1: Set Up Twilio

Go to twilio.com and create an account (or use your existing one). Purchase a local phone number that matches your client's area code. This becomes the forwarding number they advertise.

In the Twilio Console:

  • Go to Phone Numbers → Manage → Active Numbers
  • Click on the purchased number
  • Under Voice Configuration, set A Call Comes In to: Webhook
  • Enter your n8n webhook URL (you'll create this next): https://your-n8n.com/webhook/call-handler
  • HTTP Method: POST

Also configure the number to forward to your client's real number so live calls still go through.

Step 2: Create the n8n Webhook for Incoming Calls

In n8n, create a new workflow called Missed Call Text Back. Add a Webhook node:

  • HTTP Method: POST
  • Path: call-handler
  • Authentication: None (Twilio signs requests — you can validate the signature later)
  • Response Mode: Respond to Webhook

Twilio sends these fields in the webhook payload:

  • CallStatus: no-answer, busy, completed, failed
  • From: caller's phone number
  • To: your Twilio number
  • CallSid: unique call ID
  • CallerName: caller ID name (if available)

Step 3: Filter for Missed Calls Only

Add an IF node to only proceed when the call was actually missed:

  • Condition 1: CallStatus equals no-answer
  • OR Condition 2: CallStatus equals busy

On the false branch (call was answered), add a Respond to Webhook node with an empty 200 response — you don't need to do anything for answered calls.

Step 4: Set Up Twilio Credentials in n8n

Go to Credentials → Add Credential → Twilio API. From your Twilio Console, get:

  • Account SID: found on the Twilio Console dashboard
  • Auth Token: also on the Twilio Console dashboard (click to reveal)

Save as Twilio Production.

Step 5: Send the Text Back SMS

On the true branch of your IF node (missed call), add a Twilio node:

  • Resource: SMS
  • Operation: Send
  • From: your Twilio phone number (format: +1XXXXXXXXXX)
  • To: {{$json.From}}
  • Message body: personalized SMS text

Example SMS templates that convert well:

Hi! This is [Business Name] — we just missed your call. We're sorry we couldn't answer. Can we call you back, or would you like to reply with what you need? We'll get back to you ASAP.

Hey, this is [Business Name]. We missed your call just now — still available? Reply YES and we'll call you right back, or just text us what you need.

Step 6: Log the Missed Call

Add a Google Sheets → Append Row node to log every missed call:

  • Caller Number: {{$json.From}}
  • Caller Name: {{$json.CallerName}}
  • Call SID: {{$json.CallSid}}
  • Timestamp: {{new Date().toISOString()}}
  • SMS Sent: Yes
  • Reply Received: No
  • Status: Awaiting Reply

Step 7: Notify the Business Owner

Add a Slack or Gmail node to alert the business immediately:

  • Slack message: 📞 Missed call from {{$json.From}} {{$json.CallerName !== '' ? '(' + $json.CallerName + ')' : ''}} — text back sent automatically.
  • Channel: #missed-calls or DM to the owner

Step 8: Handle Incoming Replies

Create a second workflow to capture customer replies. Add a new Webhook node with path sms-reply.

In Twilio, configure your phone number's Messaging section:

  • A Message Comes In: Webhook
  • URL: https://your-n8n.com/webhook/sms-reply

In this second workflow:

  1. Webhook receives the reply (fields: From, Body, MessageSid)
  2. Google Sheets: find the original missed call row by phone number
  3. Google Sheets: update Reply Received = Yes, Reply Content = {{$json.Body}}
  4. Slack: notify owner — 💬 Reply from {{$json.From}}: {{$json.Body}}
  5. Twilio SMS: send a confirmation — "Got it! Someone will call you back shortly."

Step 9: Respond to the Webhook

Twilio expects a TwiML response from your webhook within 15 seconds or it times out. Add a Respond to Webhook node at the end of your main flow:

  • Response Code: 200
  • Response Data: <Response></Response> (empty TwiML — tells Twilio to hang up gracefully)
  • Response Headers: Content-Type: text/xml

What to Charge and How to Position It

Position this as "never losing another lead to a missed call." For a plumbing company that misses 10 calls a week and closes 30% at $300 average job value, that's $900/week in potential lost revenue. Your $200/month system pays for itself with one recovered job.

Twilio costs are minimal — roughly $1/month for the number plus $0.0075 per SMS. For 200 missed calls a month, that's about $3 in Twilio fees.

For more automation ideas for local businesses, check out our n8n AI agent beginner's guide and explore the n8n vs Make comparison to choose the right tool.

Want to learn how to build and sell AI automations? Join our free community. Join the free AI Agency Sprint community.
Community & Training

Join 215+ AI Agency Owners

Get free access to our LinkedIn automation tool, AI content templates, and a community of builders landing clients in days.

Access the Free Sprint
22 people joined this week