Lead auto-response
When a new lead lands in your Follow Up Boss CRM, your agent reads the inquiry, classifies how warm they are, drafts a reply in your voice, and queues it for your approval. You skim it on your phone, hit send, and the lead gets a thoughtful reply within minutes instead of hours. Every draft requires your approval in v1 — nothing goes out without you saying so.
What it does
Section titled “What it does”When a lead is created or updated in Follow Up Boss, FUB pings a webhook on My Agent Platform. Your agent reads the lead’s name, email, phone, and inquiry text, then:
- Classifies the lead as hot / warm / cold based on the inquiry language
- Looks up the property they asked about (if you’ve saved it as a listing) and pulls beds / baths / sqft / price into the prompt
- Drafts a 4-5 sentence reply that addresses their question, offers two specific time slots, and ends with one qualifying question matched to the temperature
- Runs the Fair Housing scanner on the draft body before persisting
- Queues it for review in your dashboard at Lead Responses — and pings you in chat (“You have 3 lead responses to review — 1 hot, 2 warm”)
- You approve, edit, or reject — only you can send
The whole pipeline takes a few seconds. The first reply lead sees is well-formed, on-brand, and addresses what they actually asked.
How to set up the FUB webhook
Section titled “How to set up the FUB webhook”You’ll do this once. After it’s wired, every new lead gets a draft.
- In My Agent Platform, go to Dashboard → Settings → Lead Auto-Response.
- Toggle Auto-response enabled on.
- Copy the webhook URL shown there (it looks like
https://api.myagentplatform.com/api/webhooks/fub/lead/<your-account-token>). - In Follow Up Boss, go to Admin → Webhooks → Add Webhook.
- Paste the URL.
- Select event
peopleCreated(and optionallypeopleUpdatedfor re-engaged leads). - Set the Webhook Secret — paste the value from your dashboard’s Lead Auto-Response settings page (this is what FUB signs each request with so we can verify it came from your account).
- Save.
That’s it. Send yourself a test lead through your IDX form or website lead-capture and watch your dashboard’s Lead Responses page populate within ~5 seconds.
If nothing shows up: hit Settings → Lead Auto-Response → “Test webhook” to send a synthetic event and verify the round-trip. Most issues are typo’d webhook URL or a missing secret.
What gets drafted
Section titled “What gets drafted”Your agent’s reply has a predictable shape:
Subject: Re: 1234 Crestwood Dr — quick reply for Sarah
Hi Sarah,
Thanks for reaching out about 1234 Crestwood Dr. The home has hardwoods throughout and the kitchen was updated in 2022 — happy to walk you through it in person. I have Thursday at 4pm or Saturday at 10am open this week if either works for you.
Quick question: are you working with another agent right now, or is this an open search?
Best, — Your Name Your Brokerage
Six things the drafter does on every message:
- Acknowledges the property by name — never generic (“Re: your inquiry”) if a listing was attached.
- Answers the actual question when it can without inventing facts. If the lead asks “what’s the lot size?” and the listing’s lot_sqft is in the system, the answer goes in. If it isn’t, the agent says so.
- Offers two specific time slots from your default calendar slots (set in the same settings page; e.g. “Thursday at 3pm” and “Saturday at 10am”).
- Ends with one qualifying question that varies by lead temperature:
- Hot: “Do you have a pre-approval letter, or what’s your target close-by date?”
- Warm: “Are you working with another agent, or what does your search timeline look like?”
- Cold: “Want monthly listing updates for this area, or what would make a property a strong fit?”
- Signs off with your signature — your real name + brokerage from the same Settings page.
- Never invents listing facts. If you didn’t enter sqft or year built, the agent doesn’t make them up.
Authority levels (v1: every draft requires approval)
Section titled “Authority levels (v1: every draft requires approval)”In v1, nothing auto-sends. Every draft sits in the queue with status='draft' until you act on it. This is intentional — the cost of a wrong-toned reply to a hot lead is high enough that we’d rather make you the gate.
You have three options on each draft:
- Approve & send — fires the email through SendGrid, logs a note + tag back to FUB (see Follow Up Boss CRM), marks the row
sent. - Edit then send — open the subject + body in the editor, tweak, then send. Edits are saved on the row so you can go back and see what was modified vs. what the model produced.
- Reject — discards the draft. Useful when the lead is a known dud (spam, duplicate, wrong-segment).
When a lead doesn’t get approved within 24 hours, the row is automatically marked expired and disappears from the active queue. The lead is still in your CRM — only the platform’s draft expires. We chose 24h on purpose: stale auto-replies that arrive 3 days late are worse than no reply.
Coming in v2: an “auto-send hot leads under 5 minutes old” toggle, gated behind a calibration window where you must approve 20 drafts manually first.
Hours of operation gating
Section titled “Hours of operation gating”Your agent respects your business hours. Set them in Settings → Lead Auto-Response → Working hours (e.g. Mon-Fri 9am-7pm, Sat 10am-3pm, Sun off).
- Inside working hours: drafts queue immediately and the agent pings you on Telegram / Slack / Discord (whichever channel you’ve connected).
- Outside working hours: drafts queue silently. The agent batches a single ping at the start of your next working block (“3 lead responses queued overnight — 1 hot Sarah, 2 warm”).
- Hot leads override: if the temperature classifier returns
hot, you get pinged immediately regardless of working hours. Pre-approved buyers calling at 9pm on a Sunday don’t wait until Monday morning.
You can disable the override entirely if you prefer hard-quiet hours — set “Hot-lead override” to off in the same settings page.
Compliance: CAN-SPAM + Fair Housing scanner
Section titled “Compliance: CAN-SPAM + Fair Housing scanner”Two compliance layers run on every draft.
CAN-SPAM — every email body ends with your physical broker address (pulled from your account profile) and an unsubscribe header. The unsubscribe link routes through SendGrid’s managed list-unsubscribe so it’s a one-click opt-out. If your account profile is missing the broker address, the agent will tell you in chat (“Your physical address isn’t set in account profile — leads can’t be replied to until that’s filled in”) and not draft anything.
Fair Housing — the same scanner used in Listing descriptions runs on the body of every draft. Two outcomes:
hard_blockmatch (e.g. “perfect for a growing family”, “no Section 8”) — the draft is persisted withstatus='flagged_review'andreason='fair_housing_hard_block'. You see the full text, the matched phrase, and a link to a suggested rewrite. Draft does not auto-route to your approval queue.warnmatch (banned-style phrases like “stunning”, “exclusive neighborhood”) — the draft is persisted withstatus='draft'andfair_housing_status='warn'. The matched phrases are surfaced in the review modal so you can edit before sending.
Hard-blocks are rare in lead replies because the model is instructed to never reference protected classes; the scanner is the safety net, not the primary line of defense. We still ship it because the cost of a Fair Housing complaint is a multiple of any inconvenience.
Privacy and data flow
Section titled “Privacy and data flow”- The lead inquiry, draft text, and any property context never leave the platform until you approve and send.
- The LLM call uses your BYOK LiteLLM key. The text never goes to any third-party model except the one you’ve provisioned through your own provider account.
- Lead PII (name, email, phone) is encrypted at rest in our database and only readable through your account.
- The Fair Housing scanner is a pure regex pass — it does not call any LLM and does not leave the platform.
- We do not retain LLM-generated drafts after 30 days post-send unless your retention policy says otherwise.
Coming in v2
Section titled “Coming in v2”Lead auto-response v1 is intentionally narrow. Here’s what’s on the v2 list:
- Auto-send for hot leads — opt-in toggle, gated behind calibration (20 manually approved drafts first).
- IMAP detection — sniff replies from your Gmail / Outlook inbox so the agent knows when a lead replied back, and auto-draft a follow-up.
- Follow-up cadence — at Hour 2 (no reply yet), Day 1, Day 3, Day 7. Same approval flow; cadence is configurable.
- HubSpot webhooks — the same pipeline but accepting HubSpot’s deal/contact webhook shape.
- Multi-language drafting — if the inquiry is in Spanish, draft in Spanish. (v1 detects non-English and flags the row for human review without drafting.)
- A/B subject-line testing — generate two subject candidates and have the agent track open-rate by variant.
- Calendar integration — pull live availability from Google / Outlook calendar instead of the static slot pair.
If any of these is blocking you on v1, ping us in Discord — early-tier feedback shapes priorities.
What the agent will say if it can’t draft
Section titled “What the agent will say if it can’t draft”- No BYOK key: “Your LiteLLM key isn’t connected — set it up in Dashboard → Settings → BYOK so I can draft replies.”
- Webhook secret missing: “Lead Auto-Response is enabled but the webhook secret isn’t set. Paste a strong random secret in Settings → Lead Auto-Response → Webhook secret, then add the same value to your FUB webhook config.”
- Fair Housing hard-block hit: “This draft hit a Fair Housing hard-block on the phrase ‘perfect for families’ — I’ve held it in flagged-review. Want me to rewrite it without that language?”
- Recent activity on this lead in FUB: “This lead already has activity in FUB from the last 7 days — flagging for your review before I send a duplicate-feeling reply.”
- Provider rate-limited: “The LLM provider is rate-limiting; one moment, retrying.” (One automatic retry, then the row is marked
flagged_reviewwithreason='transient_error'.)