Home / Work / Build 01

Build 01 · Simple

Speed-to-lead: first touch in under a minute.

A first-time-homebuyer lead fills out a Meta instant form at 8pm. Without this build, the lead sits in Facebook until someone downloads the CSV. With it, they get a text before they've put their phone down.

Demo build. Built and tested in my own demo sub-account using a fictional mortgage team. It's the pattern I'd install on day one of a real account.

Trigger
Facebook Lead Form Submitted
Scope
1 workflow · 9 steps
Target
First SMS < 60 s
Acceptance
8 checks, test lead

The problem

Ads were paid for. The follow-up wasn't wired.

Mortgage leads from Meta go cold fast. A first-time buyer who asked about pre-approval is comparing three lenders that evening, and the first one to answer usually gets the call.

The usual failure isn't a missing SMS. It's a chain that breaks somewhere silent:

  • The Meta page is connected, but the form was never mapped, so custom fields arrive blank
  • The workflow is saved as a draft, not published
  • The SMS fires, but the number's A2P 10DLC campaign isn't approved, so carriers drop it
  • Nobody on the team is notified, so a reply sits unread in Conversations

WF · 01 Speed-to-Lead (Meta)

Trigger
Facebook Lead Form Submitted
Filter: page = client page, form = "FTHB Pre-Approval"
Action
Add tags src-meta fthb
Form fields already mapped to custom fields in the integration
Action
Create opportunity · Mortgage Leads → New Lead
Assigned round-robin to available loan officers
Action
Internal notification to assigned LO
SMS + email: name, phone, timeline, credit range, contact link
If / else
Phone present · DND off · SMS consent
YES
Wait · advanced window
Only 8am–9pm, contact timezone
NO
Action
Tag needs-manual-call
Email path only
Action
SMS 1 + Email 1
One question and the booking link from a custom value
Wait
5 minutes
Action · only if no reply
Task: "Call now, no reply to first text"
Stop-on-response exits anyone who replied before this step

What the lead gets

One question, not a pitch.

SMS 1 Hi {{contact.first_name}}, it's {{user.first_name}} with {{location.name}}. Saw you asked about buying your first home. Quick one: hoping to buy in the next 3 months, or later than that? Or grab a time here: {{custom_values.booking_link}} Reply STOP to opt out.

The question gives them something easy to reply to. A reply is what we want, because it stops the automation and hands the conversation to a human.

The booking link lives in a custom value, not in the message text, so it changes in one place per client and survives being exported in a snapshot.

No rates, no "you're pre-approved", no urgency. Mortgage copy that promises terms is a compliance problem, not a conversion trick.

Decisions

Why it's built this way.

Notify before the wait

The LO alert fires before the quiet-hours wait. An 11pm lead still reaches the team immediately, and only the SMS to the lead waits until 8am.

Stop on response: on

The moment the lead replies, automation stops and a human owns it. Nobody gets a scripted text after they've already asked a real question.

Re-entry: off

People submit Meta forms twice. With duplicate contacts disallowed and re-entry off, a second submission updates the same contact and sends nothing new.

One workflow

This is the smallest thing that fixes the problem. Nurture, booking and no-shows belong in separate workflows with their own exits (see Build 02).

A2P checked first

A perfect workflow can't fix an unregistered number. Checking 10DLC status is step one of the audit, before anything gets built.

Acceptance checklist

Done means all eight pass.

Tested with the Meta Lead Ads Testing Tool and a real phone, not by looking at the canvas.

  • Test lead appears as a contact within 60 s, with every mapped field filled
  • Opportunity created in Mortgage Leads → New Lead, assigned to an LO
  • LO receives SMS + email alert with name, phone and timeline
  • SMS received on the test phone within 60 s (inside the window)
  • Email lands in the inbox, and headers show spf=pass dkim=pass dmarc=pass
  • Replying to the SMS exits the workflow, and no call task is created
  • No reply → call task appears at 5 minutes
  • Same lead resubmitted → still one contact, one opportunity, no second SMS

What I'd improve next

After the first touch, a lead who doesn't reply gets nothing. That's the gap Build 02 closes.

Build 02: the full system →