Build 02 · Step up
First-time buyer lead system, intake to handoff.
Build 01 answers the lead. This build carries them from first touch to a booked pre-approval call and an LO who owns the file, and it stops automating the moment a human should take over.
Demo build. Built and tested in my own demo sub-account using a fictional mortgage team. The structure is meant to be re-used across client sub-accounts through custom values.
- Workflows
- 4, each with one job
- Pipeline
- 8 stages
- Nurture
- 14 days, 7 touches
- Acceptance
- 10-scenario test matrix
Pipeline
The stage is the source of truth.
Automation reads the stage and reacts to it. When a loan officer drags a card, every workflow knows.
Workflow map
Four workflows, each with a written exit.
The most common bug in inherited accounts: a lead gets a "still thinking about it?" text an hour after they booked. That happens when entries are designed and exits aren't.
Answer in under a minute
Build 01, generalised: Meta form, website form or manual tag. Creates the contact and opportunity, alerts the LO, sends the first SMS and email.
hot-lead tagOUT: 5 min, no reply → WF-02
Re-entry: off
Follow up until they answer
7 touches over 14 days, SMS and email alternating. Ends by moving the card to Long-term and tagging for a monthly newsletter.
wf-nurtureOUT: reply · booking · stage change · day 14
Stop on response: on
Get them to show up
Confirmation, reminders at 24 h and 1 h before start, and no-show recovery with a reschedule link and an LO task. Showed → Application.
OUT: showed · no-show handled · cancelled
Re-entry: on (reschedules)
Get out of the LO's way
On reply, booking, or the card moving to Application or Lost: remove the lead from WF-01/02, clear wf-* tags, create an LO task where needed.
OUT: immediate
Re-entry: on
WF-02 in detail
Seven touches, then stop.
Each touch has one job. Every touch after day 1 is skipped if the lead has replied, booked, or moved stage, because WF-04 has already pulled them out.
Copy avoids rate quotes and approval language. The NMLS ID sits in every email footer through a custom value.
| Day | Channel | Job |
|---|---|---|
| 1 | SMS | Re-ask the timeline question, shorter |
| 2 | What a first-time buyer needs for pre-approval | |
| 4 | SMS | Booking link, "15 minutes, no credit pull" |
| 6 | Down-payment assistance exists, and it varies by state | |
| 9 | SMS | Social proof from a past first-time buyer |
| 12 | Common myths (20% down, perfect credit) | |
| 14 | SMS | Polite close-out: "should I check back in a few months?" |
Data model
Fields and tags with a naming rule.
Prefixes make the tag list readable by the next person: src- where the lead came from, wf- which workflow owns them now, plain tags for facts about the lead.
| Name | Type | Used by |
|---|---|---|
purchase_timeline | Field · dropdown | LO alert, nurture copy |
credit_range | Field · dropdown | LO alert |
target_state | Field · dropdown | Licensing check, day 6 email |
first_time_buyer | Field · yes/no | Routing |
ad_name | Field · text | Reporting by ad |
src-meta src-web | Tag | Source reporting |
wf-nurture wf-appt | Tag | Entry / exit control |
replied noshow needs-manual-call | Tag | Smart lists for the LO |
booking_link lo_name nmls_id | Custom value | Every message, per client |
Acceptance · test matrix
Ten scenarios, each fired with a test contact.
Pass means the execution logs, the contact record, the pipeline card and the test phone all agree. Waits are shortened to minutes in a test copy of each workflow, then restored.
| # | Scenario | Expected |
|---|---|---|
| 1 | New lead, never replies | All 7 nurture touches send, card ends in Long-term, wf-nurture removed |
| 2 | Replies on day 2 | Exits WF-02, card → Contacted, LO alert + task, no further nurture |
| 3 | Books on day 4 | Exits WF-02, card → Booked, confirmation sent, 24 h and 1 h reminders scheduled |
| 4 | No-show | Card → No-show, reschedule SMS, LO task, noshow tag |
| 5 | Reschedules after no-show | Card → Booked, reminders rebuilt for the new time, no duplicate confirmation |
| 6 | Texts STOP | SMS DND on, no further SMS, email continues until unsubscribed |
| 7 | Submits the form again 2 h later | Same contact, same opportunity, nurture not restarted |
| 8 | Lead arrives 11:40pm | LO alert immediately, first SMS at 8:00am in the lead's timezone |
| 9 | No valid phone | Email-only path, needs-manual-call, appears on LO smart list |
| 10 | LO drags card to Application | Removed from WF-01/02/03 within a minute, no messages after |
Decisions
Why it's built this way.
One giant workflow is hard to test a branch of. Twelve small ones hide how they interact. Four workflows, each with one entry and a written exit, can be disabled and re-tested on their own.
WF-04 does all the "stop automating" work. When a lead gets a message they shouldn't, there's one workflow to check, not four.
LO name, booking link and NMLS ID are custom values. The same build moves to the next client sub-account through a snapshot, and only the values change.
Every workflow's description holds its entry, exit and last change date. A short handoff doc lists how to re-run the test matrix.