Home / Insurance Agents / Instant form reply

Answer quote requests in under a minute

A business owner fills out your quote form Friday evening and sends the same request to a few other agencies. Whoever answers first gets the conversation.

⏱ Setup: 1 hourπŸ“Ά Beginner🧩 n8n workflow

How it works

  1. Point your website quote form (or your agency management system, if it can send a webhook or new-lead email) at the workflow. Add a consent checkbox for texts to the form.
  2. Bots are dropped. Real requests get a text and email within a minute thanking them, saying a licensed agent will follow up, and offering your booking link. No prices, no coverage advice.
  3. You get an email with their details. If they text back URGENT, your cell gets a text right away, they get a short acknowledgement and the normal reply is skipped.
  4. Texts back get the Twilio signature check: 403 if not from Twilio.
Realistic monthly costβ‰ˆ $14.25 + €20/mo
How we got this number
  • Twilio local number$1.15
  • Texting registration (A2P 10DLC) monthly fee$2
  • ~100 text segments sent + received$0.83
  • carrier fees on ~50 outbound texts$0.25
  • ~50 AI-written replies$0.02
  • Automation platform (or self-host n8n free)€20
  • Calendly Standard booking link with automatic reminders (one seat, billed yearly)$10

Assumes ~50 quote requests a month. Calendly's Standard plan is what adds automated meeting reminders; its free plan (one event type, no automated reminders) works if you'll remind people yourself. n8n Cloud Starter is billed in euros; self-hosting n8n removes that line. Prices are list prices checked 2026-10-26; see every source.

Plus one-time texting registration (A2P 10DLC): about $19.50 (low-volume brand + campaign vetting). Source

The full setup, step by step

22 steps in one n8n workflow. Everything below is generated from the template itself, so it always matches.

Before you start

You need an n8n account (n8n, or self-host it free) plus your own logins for: OpenAI API Twilio Gmail / Google Workspace.

Each step and what it does

  1. 1
    Trigger

    New lead from your form

    Your website form (or any lead source that can send a webhook) posts the lead's name, phone, email and message here.

    Webhook pathYOUR_N8N_URL/webhook/new-lead

    Then β†’ 3. Config (edit me)

  2. 2
    Trigger

    Incoming text

    Twilio calls this webhook every time someone texts your business number.

    Webhook pathYOUR_N8N_URL/webhook/new-lead-sms

    Then β†’ 3. Config (edit me)

  3. 3
    Settings

    Config (edit me)

    One place for everything specific to your business. Every later step reads from here, so this is the only node you have to edit.

    Editthe settings table below

    Then β†’ 4. Form or text?

  4. 4
    Decision

    Form or text?

    Your form and Twilio share this workflow. Form posts go one way; texts (which carry a Twilio MessageSid) go the other, through the signature check.

    Rulethe request has no Twilio MessageSid (so it's your form)

    Forms β†’ 5. Map form fields Β· Texts β†’ 14. Check Twilio signature

  5. 5
    Settings

    Map form fields

    Picks the name, phone, email and message out of whatever your form sends, and cleans the phone into +1 format. Rename the fields here if your form uses different ones.

    Editthe settings table below

    Then β†’ 6. Tell the form it worked

  6. 6
    Reply to request

    Tell the form it worked

    Answers the website form instantly so the visitor sees a success message.

    Then β†’ 7. Spam check

  7. 7
    Decision

    Spam check

    Your form should include a hidden, empty field called website. People never see it; bots fill it in. Filled in = dropped silently.

    Rulethe value is empty

    If yes β†’ 8. AI writes reply Β· If no β†’ stops here

  8. 8
    AI (OpenAI)

    AI writes reply

    OpenAI drafts a short, on-brand reply using your business info and the customer's message. The instructions (prompt) keep it short and stop it from inventing prices.

    Modelgpt-5-mini

    AI instructions (prompt)
    You are the friendly front-desk assistant at a small independent insurance agency. You are not a licensed agent. Write one short, warm SMS reply (under 300 characters) to a person asking about insurance. Thank them, say a licensed agent will call them back, and offer the booking link. You may ask what type of coverage they'd like a quote on and a good time to call. Never quote, estimate or compare premiums or rates. Never explain, interpret, compare or recommend coverage, policies or carriers. Never say coverage is bound, active, changed or cancelled, and never promise a price or savings. Ask them not to text Social Security, driver's license, policy or bank numbers. If they mention an accident, injury, fire or other emergency, tell them to call 911 if anyone is hurt or in danger and to call the office. Sign off with the agency name.

    πŸ”‘ Connect your OpenAI login on this node

    Then β†’ 9. Has a valid mobile number? Β· Then β†’ 11. Has an email? Β· Then β†’ 13. Email the owner

  9. 9
    Decision

    Has a valid mobile number?

    Only texts the lead if the phone cleaned up to a full US number (+1 and 10 digits).

    Rulethe lead's phone is +1 followed by 10 digits

    If yes β†’ 10. Text the lead Β· If no β†’ stops here

  10. 10
    Send SMS (Twilio)

    Text the lead

    Texts the AI's reply to the lead, usually within a minute of them hitting submit.

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Twilio login on this node

    End of this path.

  11. 11
    Decision

    Has an email?

    Only emails the lead if they gave an email address.

    Rulelead's email is filled in

    If yes β†’ 12. Email the lead Β· If no β†’ stops here

  12. 12
    Send email (Gmail)

    Email the lead

    Emails the same reply, so they have it in writing.

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Gmail login on this node

    End of this path.

  13. 13
    Send email (Gmail)

    Email the owner

    Emails you so you know who to call back (and what they were told).

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Gmail login on this node

    End of this path.

  14. 14
    Code (security check)

    Check Twilio signature

    Proves the request really came from Twilio. It rebuilds Twilio's signature (HMAC-SHA1 of your webhook URL plus every field Twilio sent, keyed with your auth token) and compares it to the X-Twilio-Signature header. Uses Node's built-in crypto module: fine on n8n Cloud; self-hosted n8n needs NODE_FUNCTION_ALLOW_BUILTIN=crypto.

    DetailsHow the Twilio security check works

    Then β†’ 15. Signature valid?

  15. 15
    Decision

    Signature valid?

    Only real Twilio requests continue. Anything else (a bot, a fake request, a wrong URL in Config) goes to the 403 step.

    Rulethe signature Twilio sent matches the one rebuilt from your auth token

    If yes β†’ 16. Acknowledge Twilio (text) Β· If no β†’ 22. Reject: not from Twilio (403)

  16. 16
    Reply to request

    Acknowledge Twilio (text)

    Tells Twilio the text was received. The reply goes out separately, so this one sends nothing to the customer.

    Then β†’ 17. Says URGENT?

  17. 17
    Decision

    Says URGENT?

    If the customer's text contains the word URGENT (any capitalization), the urgent path runs instead of the normal reply.

    Ruletheir text contains β€œurgent”

    If yes β†’ 18. Text the owner (URGENT) Β· If no β†’ 21. Forward the reply to you

  18. 18
    Send SMS (Twilio)

    Text the owner (URGENT)

    Texts your cell right away with their number and exactly what they wrote.

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Twilio login on this node

    Then β†’ 19. Text the customer (URGENT ack)

  19. 19
    Send SMS (Twilio)

    Text the customer (URGENT ack)

    Lets the customer know their message reached you.

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Twilio login on this node

    Then β†’ 20. Email the owner (URGENT, optional)

  20. 20
    Send email (Gmail)

    Email the owner (URGENT, optional)

    A copy by email. If Gmail isn't connected or fails, the workflow still finishes (the text already went out).

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Gmail login on this node

    End of this path.

  21. 21
    Send email (Gmail)

    Forward the reply to you

    Emails you what they wrote, so you can answer from your phone.

    Sendsthe message shown under Message copy

    πŸ”‘ Connect your Gmail login on this node

    End of this path.

  22. 22
    Reply to request

    Reject: not from Twilio (403)

    Answers 403 Forbidden and stops. Nothing is texted, emailed or saved.

    Responds403 Forbidden

    End of this path.

Key settings to change

All of these live in the Config (edit me) node. Change them once and every text and email updates.

SettingPlaceholder in the templateChange it to
Business name
business_name
YOUR BUSINESS NAMEExactly how customers know you. It appears in every text.
Booking / calendar link
booking_link
https://YOUR-BOOKING-LINKYour online booking page (Calendly, your CRM's scheduler, or your contact page). Use the short public link.
Hours
hours
Mon-Fri 8am-6pmShort and text-friendly, e.g. Mon-Fri 8am-6pm.
Your email
owner_email
you@example.comWhere the 'new lead' and 'missed call' alerts go.
Your cell
owner_cell
+15555550100In +1 format (+15551234567).
Twilio number
twilio_number
+15555550199The number you bought in Twilio, in +1 format. Texts are sent from it.
Twilio auth token
twilio_auth_token
PASTE_YOUR_TWILIO_AUTH_TOKENTwilio Console > Account info > Auth Token. Used only to check that requests really came from Twilio. Treat it like a password: don't share the workflow once it's filled in.
Incoming-text webhook URL
twilio_sms_webhook_url
https://YOUR-N8N-URL/webhook/new-lead-smsThe exact Production URL of the Incoming text node, the same one you paste into Twilio (Messaging > A message comes in). One character off and every text gets a 403.

Message copy: exactly what it sends

Highlighted parts are filled in automatically. Edit the wording right in the node.

SMS to [lead's phone] Β· step 10 AI-written each time
AI-written reply
Email to [lead's email] Β· step 12 AI-written each time

Subject Thanks for reaching out to business name

AI-written reply
Email to [your email] Β· step 13

Subject New lead: lead's name

Name: lead's name
Phone: lead's phone
Email: lead's email
Message: lead's message

We already replied with: AI-written reply
SMS to [your cell] Β· step 18
URGENT text to business name from their phone number: "their text" Call or text them back now.
SMS to [their phone number] Β· step 19
Got it, we've texted the agent's cell and someone will call you shortly. Coverage can't be started or changed by text. If anyone is hurt or in danger, call 911. - business name
Email to [your email] Β· step 20

Subject URGENT: text from their phone number

They wrote: their text

Your cell was texted and they were told you'll get back to them right away.
Email to [your email] Β· step 21

Subject Reply from their phone number (replied to your instant reply)

They wrote: their text

Reply to them from your phone or the Twilio console.

How the Twilio security check works

Your webhook URL is public, so anyone who finds it could send fake "texts" and make the workflow text people on your dime. Every request Twilio sends is signed, so the first thing this workflow does is check that signature:

  1. Take the exact webhook URL from Config (twilio_sms_webhook_url, or twilio_voice_webhook_url for call events).
  2. Sort every field Twilio posted by name and glue each name and value onto the end of the URL (…BodyhiFrom+1555…).
  3. HMAC-SHA1 that string with your Twilio auth token, base64-encode it, and compare it to the X-Twilio-Signature header (a constant-time compare).
  4. Match: continue. No match, no header, or no URL/token in Config: answer 403 Forbidden and stop.

It's a Code node because n8n's Crypto node can't do HMAC-SHA1. It uses Node's built-in crypto module: allowed on n8n Cloud. Self-hosted n8n: set the environment variable NODE_FUNCTION_ALLOW_BUILTIN=crypto (on your task runners too, if you use them), or the node errors.

The auth token lives only in Config. Never paste it into the code, and don't share your workflow export once it's filled in.

Hook it up

  1. Fill in Config (edit me), including your Twilio auth token and the incoming-text webhook URL.
  2. Connect your own Twilio, OpenAI and Gmail credentials on the red nodes.
  3. Point your website form (or any form tool or CRM that can send a webhook) to POST to https://YOUR-N8N-URL/webhook/new-lead with fields name, phone, email, message. Different field names? Change them in Map form fields. Add a hidden, empty field called website: bots fill it in, people don't.
  4. In Twilio > Phone Numbers > your number > Messaging: 'A message comes in' > Webhook, HTTP POST, https://YOUR-N8N-URL/webhook/new-lead-sms. Paste the exact same URL into twilio_sms_webhook_url in Config. A number has one 'message comes in' webhook, so if you run several of these workflows on one number, point it at only one of them.
  5. Register your Twilio number for A2P 10DLC, and in Twilio's SMS Geo Permissions allow only the countries you serve.
  6. Send yourself a test lead, then activate.

Security: the Check Twilio signature node rejects (403) anything not signed with your Twilio auth token. Self-hosted n8n: set NODE_FUNCTION_ALLOW_BUILTIN=crypto. Don't share this workflow once your token is in it.

Test it before you trust it

Skip the clicking

Get the ready-to-import n8n template

Every step above, already wired up. Paste it into n8n, add your logins, fill in your business info and you're live.

Done-for-you setup

Rather not build it yourself?

Set it up yourself, or I'll set it up for you in a week.

  • I set up the same templates on this site in your own n8n, Twilio and Google accounts, so you own everything.
  • Your business info, booking link and message wording filled in, and every test on the setup page run with you.
  • Live within a week of getting your logins.
Request a setup

Tell me your trade and how customers reach you today. I'll reply by email with next steps.

← All insurance agents recipes