07.01
Draw your system map and pick one source of truth
Map every tool a lead touches, decide which one owns each fact, and choose how each pair of tools talks.
Video walkthrough
- Why most Realtor stacks leak: five tools, nobody owns the contact record
- Walk the map: ad or website, CRM, calendar, phone, report
- The ownership table: one home for each fact
- Native, Zapier or webhook: how to pick the connection for each arrow
- Pin the map where your team works and update it when anything changes
What you're building
A one-page system map of your lead business: every place a lead can come from, the CRM it lands in, who gets alerted, how appointments are booked, and where the weekly numbers come from. Next to it, an ownership table that names one tool as the source of truth for each fact (contact details, consent, appointment time, signed status, spend).
Every later chapter in this part connects one arrow on this map. The last chapter tests all the arrows with one fictional lead.
Why it matters
When two tools both think they own a lead's phone number or appointment time, they drift apart. Then an agent calls the wrong number, a reminder goes out for a cancelled meeting, or your weekly report counts the same lead twice.
A map also makes problems findable. When a lead goes missing, you check the arrows in order instead of guessing.
What you need
- A list of every lead source you paid for or used in the last 90 days (portal, website, Meta, open house sign-in, referral form)
- Your CRM: HighLevel or Follow Up Boss (the examples cover both)
- Your calendar (Google or Outlook) and booking link
- A sheet of paper or a whiteboard. Software is optional.
Time and cost
- Time
- 35 to 60 minutes
- Cost
- $0
No new software. Connection costs (Zapier plans, HighLevel premium actions) come up in later chapters.
Step by step
List every entry point a lead can use
Write each one on its own line with how it reaches you today. Be literal: "Zillow emails me", "Website form emails my assistant", "Meta lead form, downloaded as CSV on Fridays".
Anything that reaches you by a manual step (download, copy-paste, forwarding) is a gap to close in this part.
Check: You have at least one line per source you paid for in the last 90 days, each with a "reaches me by" note.
Draw the map: sources on the left, CRM in the middle, actions on the right
Put every source in a column on the left with an arrow into the CRM. From the CRM, draw arrows to: the agent alert, the first follow-up, the calendar, and the report. Label each arrow with how it connects today (or "manual").
The diagram in the demonstration below is a complete example for a two-agent team. Copy its shape, then replace the labels with yours.
Check: Every source has exactly one arrow into the CRM. Nothing goes from a source straight to an agent's personal inbox only.
Fill the ownership table
For each fact, pick the one tool that owns it. Other tools may display a copy, but corrections happen only in the owner. Use the template below.
The usual answer: the CRM owns the person, consent and stage; the calendar tool that took the booking owns the appointment; the ad platform owns spend; your agreement software or transaction system owns signed status until you copy it into the CRM.
Check: Each row of the table names exactly one owner and one person responsible for keeping it right.
Pick a connection type for each arrow
Use the decision table under Templates. Prefer, in order: a native integration built by the two vendors, then a no-code connector (Zapier or similar), then a webhook or API call. Native is the least to maintain; webhooks are the most flexible and the most to maintain.
Check: Every arrow on the map has a label: native, Zapier, webhook/API, email parsing, or manual (with a date to replace it).
Pick one fictional test lead and write it on the map
Name a test person you will use for every test in this part, for example Jordan Testlead, with an email alias you control (
you+test0001@yourdomain.com) and your own mobile number. Never test with a real lead's details.Check: The test name, email and phone are written in the corner of your map.
What success looks like
- One page shows every source, the CRM, alerts, follow-up, calendar and report, with labelled arrows.
- The ownership table names one owner per fact.
- Every manual arrow has a replacement planned in a later chapter of this part.
Copyable templates
Fill one row per fact. "Owner" is the only place a correction is made.
Fact,Owner tool,Copies shown in,Who keeps it right,How copies update
Name / email / phone,CRM,Calendar; report sheet,Team lead,CRM to calendar on booking
Lead source,CRM,Report sheet,Team lead,Set on arrival by form or integration
Text consent (yes/no + date),CRM,None,Team lead,Form checkbox writes it; STOP replies update it
Assigned agent,CRM,Agent alert,Team lead,Routing rule on arrival
Appointment date and time,Calendar tool that took the booking,CRM; agent Google/Outlook calendar,Assigned agent,Calendar sync
Appointment held (showed / no-show),CRM,Report sheet,Assigned agent,Agent marks it after the meeting
Signed agreement,Agreement software,CRM stage,Assigned agent,Agent updates CRM stage same day
Ad spend,Meta Ads Manager,Report sheet,Owner,Copied weekly
| If | Use | Why |
|---|---|---|
| Both tools list each other as an integration (for example Meta lead ads inside HighLevel) | Native integration | The vendors maintain it; fewest moving parts. |
| A lead provider only sends notification emails | Email parsing (Follow Up Boss) or a form that posts to your CRM | No code. Breaks if the email format changes, so test monthly. |
| Two tools have no native link but both are on Zapier | Zapier (or a similar connector) | No code, visible run history. Monthly cost and task limits apply. |
| You need custom fields, speed, or a tool with an API but no connector | Webhook or API | Most control. Someone technical must own and monitor it. |
Try it
- Website form→toCRMform / webhook
- Meta lead form→toCRMnative
- Portal leads→toCRMemail parsing
- CRM→toRouting rule
- Routing rule→toAgent alert
- Routing rule→toFirst follow-up
- First follow-up→toBooking calendarbooking link
- Booking calendar→toAgent Google calendartwo-way sync
- Booking calendar→toCRMsame contact
- CRM→toAI assistantread
- CRM→toWeekly scorecardweekly
How to test it
Hand the map to someone on your team who did not draw it. Ask: "A Meta lead comes in at 9pm Saturday. Who hears about it, and where does the appointment end up?" If they can answer from the map alone, it is complete.
Then pick any one fact (say, a lead's phone number changed) and ask where it gets corrected. The answer must be the owner in your table.
Troubleshooting
Two tools both claim to own the appointment (for example a scheduling app and the CRM calendar).
Pick the tool the lead actually books in as the owner. Turn the other into a synced copy, or stop using it for bookings.
An agent keeps leads in their personal phone and never puts them in the CRM.
Add "manual entry by agent" as a source on the map with the same arrow into the CRM, and make it part of the weekly review. A lead not in the CRM does not exist in your numbers.
The map has more than 15 boxes and nobody reads it.
Group small sources ("Portals", "Open houses") into one box and keep the details in a list beside the map.
Advanced technical details
Optional. You can follow every step above without these.
Technical detailsNative vs connector vs webhook, in technical terms
A native integration is code maintained by one of the vendors, usually OAuth-authorized, with its own field mapping screen. A connector (Zapier) polls or receives a webhook from one app and calls the other app's API; you get run history and retries but pay per task. A webhook is an HTTP POST from one system to a URL the other system exposes; an API call is your own code (or a connector) calling the receiving system directly.
HighLevel exposes an Inbound Webhook workflow trigger that accepts POST, GET or PUT requests at a unique URL, and outbound Webhook / Custom Webhook workflow actions. Follow Up Boss accepts new leads through POST /v1/events and sends change notifications through registered webhooks that carry a resource URI, not the full record. Details and payloads are in the next chapter and in the reporting chapter.
Design rule: every connection should be idempotent (sending the same lead twice must not create two contacts). Follow Up Boss documents de-duplication on phone or email for /v1/events; in HighLevel, contact matching depends on your sub-account's duplicate-contact setting, so confirm it before testing. Either way, this is why your test lead must use a consistent email and phone across every test.
Sources
A method with illustrative numbers. Replace the examples with your own. Last checked 2026-10-20.
- Workflow Trigger - Inbound WebhookHighLevel Help Center · read 2026-10-20
- Workflow Action - Webhook (Outbound)HighLevel Help Center · read 2026-10-20
- POST /v1/eventsFollow Up Boss API Docs · read 2026-10-20
- WebhooksFollow Up Boss API Docs · read 2026-10-20
- Trigger Zap workflows from webhooksZapier Help Center · read 2026-10-20