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)
src-meta fthbneeds-manual-callWhat the lead gets
One question, not a pitch.
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.
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.
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.
People submit Meta forms twice. With duplicate contacts disallowed and re-entry off, a second submission updates the same contact and sends nothing new.
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).
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