Back to the build library
Professional services
Standard

The Consultation Funnel

Turn a landing page into booked, qualified, paid-for consultations that end in a proposal nobody has to chase.

Industry
Professional services
Build effort
Standard
Typical time to launch
2–3 weeks, including copy, payment setup and A2P registration
On this page
The problemWhat gets builtHow it runsAutomations in detailWhat changesBefore you start
Want this built for you?

Bring your stack to a call and we will scope it against how your business actually runs.

Book a call
01

The problem

Most professional services firms sell the same way: someone fills in a contact form, an assistant emails back asking for a good time, three messages later a call lands on the calendar, and half the time the person does not show. The ones who do show are a lottery. Some are ready to hire. Some wanted free advice. Some are a competitor doing research. The partner who takes the call cannot tell the difference until twenty minutes in, which means the firm is spending its most expensive hour on its least qualified traffic.

The money leaks in four places, and each one is measurable. First, in the booking gap: every hour between form fill and confirmed slot, intent decays, and a lead who waits a day for a reply has usually already spoken to someone else. Second, in no-shows: a free consultation with no commitment attached is an appointment nobody owes you, and unprepared or absent attendees eat the slot either way. Third, in preparation: a consultation where the adviser is reading the brief for the first time in the room is a consultation that produces a vague next step instead of a scope. Fourth, and largest, in the follow-through: the proposal gets drafted, sent, and then sits. Nobody owns the chase, so the deal does not die cleanly, it just goes quiet, and the firm never learns why.

Underneath all of that is a reporting problem. Without a stage-by-stage record of what happened to each inquiry, the firm cannot say whether its problem is traffic, qualification, show rate, or closing. It buys more traffic because traffic is the only lever it can see. This build replaces all of that with one funnel that qualifies before it books, takes a commitment at the point of booking, briefs the adviser before they walk in, and drives the proposal to a decision on a schedule.

02

What gets built

Landing page and funnel

  • Consultation landing page with a single call to action, a short outcome-led headline, three bullets on what the hour produces, adviser credentials, and an FAQ block that pre-answers the objections you hear most (scope, confidentiality, what happens if we are not a fit).
  • Two-step booking flow: qualification form first, calendar second. The calendar is never shown until the form is submitted. This single ordering decision does most of the qualification work in the build.
  • Thank-you / confirmation page carrying the booked time, the payment receipt or deposit status, the prep instructions, and an add-to-calendar link.
  • Reschedule page linked from every reminder, so a reschedule never becomes a cancellation.

Qualification form

Name it Consultation Request. Fields, in order:

  • First name, last name, email, mobile (mobile required, used for reminders)
  • Company and role
  • What are you trying to solve?: long text, required, minimum useful length enforced in copy ("two or three sentences is plenty")
  • Timeline: radio: Immediately / Within 30 days / This quarter / Just exploring
  • Budget range for this engagement: radio with bands you define, plus "Not sure yet"
  • Decision role: radio: I decide / I decide with one other person / I recommend, someone else decides
  • Have you worked with a firm like ours before?: Yes / No
  • How did you hear about us?: dropdown, free-text other
  • Consent checkbox: explicit, unticked by default, covering email and SMS reminders and follow-up, with the opt-out wording

Custom fields

  • consult_problem_statement: long text, from the form
  • consult_timeline: dropdown
  • consult_budget_band: dropdown
  • consult_decision_role: dropdown
  • consult_fit_score: number, 0 to 100, written by the scoring workflow
  • consult_type: dropdown: Paid consultation / Deposit-held / Complimentary screening
  • consult_payment_status: dropdown: Unpaid / Deposit paid / Paid in full / Refunded / Credited to engagement
  • consult_booked_at and consult_slot_start: date/time
  • consult_intake_complete: yes/no, set when the pre-call brief is submitted
  • consult_adviser: text or user reference
  • consult_outcome: dropdown: Proposal to send / Not a fit / Needs second meeting / Referred out / No show
  • proposal_sent_at, proposal_value, proposal_decision_due
  • lost_reason: dropdown: Price / Timing / Went internal / Chose competitor / No response / Not qualified

Pipeline: Consultations

  1. New Inquiry: form submitted, not yet scored
  2. Qualifying: score below threshold or missing answers; human or AI follow-up in progress
  3. Booking Pending: qualified, calendar link sent, slot not yet chosen
  4. Booked: Unpaid: slot held, payment or deposit outstanding
  5. Booked: Confirmed: slot held and payment cleared
  6. Prep Received: pre-call brief submitted, adviser briefed
  7. Consultation Held
  8. Proposal Drafting
  9. Proposal Sent
  10. Verbal Yes
  11. Won: Engaged
  12. Lost: requires lost_reason
  13. Nurture: right fit, wrong time; returns to the long cycle

Calendars

  • Consultation: 60 min: per-adviser availability, 24-hour minimum notice, 15-minute buffer after, maximum three per day, round-robin across advisers only where any adviser can genuinely take the call. Confirmation and reminder messaging handled by workflows, not by the calendar's own defaults, so the copy stays in one place.
  • Consultation: 90 min (complex): offered only when consult_budget_band is in the top two bands.
  • Second Meeting: 45 min: used after a consultation that needs a technical or stakeholder session before a proposal.
  • Proposal Review: 30 min: booked at the end of the consultation, before the proposal is even written. This is the most important calendar in the build.

Payments

  • Payment collected on the booking form itself, not after. Three configurable modes: full consultation fee, refundable deposit, or card-on-file authorization for complimentary screenings.
  • Receipt issued automatically; consult_payment_status written on payment success and on refund.
  • A credit note rule: when the consultation converts, the fee is credited against the engagement invoice. Automate the field, not the accounting. The invoice line is generated and flagged for the adviser to confirm.

Tags

consult-requested, consult-booked, consult-paid, consult-held, consult-noshow, prep-received, proposal-out, nurture-longcycle, not-a-fit, plus one source tag per channel (src-organic, src-referral, src-paid, src-event).

BO, the AI assistant

BO covers the gap between form fill and booked slot, and the gap between a quiet proposal and a human chase.

  • Role: answer logistics questions (what the consultation covers, how long, who attends, how the fee works in general terms, confidentiality), nudge incomplete bookings, and offer the next three available slots.
  • Guardrails: never quote a fee or a scope figure. It says "the engagement fee depends on scope, which is exactly what the consultation establishes"; never give substantive professional advice; never promise an outcome; never negotiate. Hands off to a human the moment the inquiry mentions an active dispute, a deadline inside 72 hours, a regulator, or asks a second time for advice rather than logistics.
  • Escalation: posts to the internal channel with the problem statement and the reason for handoff, moves the opportunity to Qualifying, and stops its own sequence.
  • Hours: replies at any hour by chat and email; SMS obeys quiet hours.

Permissions

  • Advisers see the whole Consultations pipeline and their own calendar.
  • The coordinator role gets calendar and pipeline write access but no payment refund rights.
  • Proposal value and lost_reason reporting restricted to partner-level users.
03

How it runs, step by step

  1. Monday, 9.14pm. A prospect lands on the consultation page from a referral link, reads the three bullets, and clicks Request a consultation. The qualification form opens. No calendar is visible.
  2. 9.19pm. She submits. Her problem statement is four sentences long, timeline is Within 30 days, budget band is the middle option, decision role is I decide with one other person. Consent box ticked.
  3. 9.19pm, two seconds later. The opportunity is created in New Inquiry, tagged consult-requested and src-referral. The scoring workflow runs: timeline, budget band, decision role and problem-statement length produce consult_fit_score of 78. Threshold is 60, so she clears it.
  4. 9.19pm. Stage moves to Booking Pending. She lands on a page showing live availability for the 60-minute calendar, and an email and SMS arrive carrying the same link in case she closes the tab.
  5. 9.23pm. She picks Thursday 11am and reaches the payment step on the same form. She pays the consultation fee by card. consult_payment_status becomes Paid in full, stage moves to Booked: Confirmed, tags consult-booked and consult-paid applied.
  6. 9.23pm. Confirmation email with receipt, calendar invite, the adviser's name and photo, and one line about the pre-call brief. SMS confirmation is queued, not sent, because it is outside quiet hours. It goes at 8am.
  7. Tuesday, 8.00am. SMS confirmation delivers. Three hours later the pre-call brief request arrives by email: five short questions and a file upload for any documents.
  8. Tuesday, 4.40pm. She submits the brief and uploads two PDFs. consult_intake_complete set to yes, stage moves to Prep Received, tag prep-received. The adviser gets an internal notification with the brief rendered inline and the uploads attached.
  9. Wednesday, 11.00am. Twenty-four-hour reminder by email and SMS, with the reschedule link.
  10. Thursday, 10.00am. One-hour reminder by SMS only, with the join link.
  11. Thursday, 11.00am. The consultation runs. The adviser has read the brief. At minute 50 he opens the Proposal Review: 30 min calendar on screen and books the review for the following Tuesday, with her in the room. This is the moment the follow-through problem is solved.
  12. Thursday, 12.05pm. The adviser marks the outcome: consult_outcome = Proposal to send, proposal_value entered, proposal_decision_due set to the Friday after the review. Stage moves to Proposal Drafting, tag consult-held.
  13. Thursday, 12.06pm. A recap email goes out within the hour: what was discussed, what the proposal will cover, the review time already in both calendars. An internal task is created for the adviser with a 48-hour due date to produce the draft.
  14. Friday, 3.00pm. The proposal is sent from inside the platform. Stage moves to Proposal Sent, proposal_sent_at stamped, tag proposal-out.
  15. Monday, 3.00pm. Open-but-no-reply triggers a soft nudge pointing at tomorrow's review.
  16. Tuesday, 2.00pm. The review call happens. She says yes verbally, needs her partner to sign. Stage moves to Verbal Yes.
  17. Tuesday, 2.30pm. Engagement letter and first invoice go out, with the consultation fee shown as a credit line. The adviser confirms the credit before it sends.
  18. Thursday, 9.00am. Signed. Stage moves to Won: Engaged, the consultation sequence stops, and the onboarding workflow takes over.

The alternative branches run the same shape. A score below threshold goes to Qualifying and gets a human or BO conversation instead of a calendar. A no-show gets one same-day recovery attempt and a one-click rebook. A proposal with no decision by proposal_decision_due plus seven days gets a close-the-loop email and moves to Lost or Nurture depending on the reply.

04

Automations in detail

Workflow 1: Inquiry Scoring and Routing

Trigger: Consultation Request form submitted.

Actions, in order:

  1. Create or update the contact; create an opportunity in New Inquiry; apply consult-requested and the source tag.
  2. Calculate consult_fit_score. Suggested weights: timeline Immediately 30, Within 30 days 25, This quarter 12, Just exploring 0. Budget top band 30, middle 22, lowest 10, Not sure yet 8. Decision role I decide 25, with one other 18, I recommend 8. Problem statement over 120 characters 15, otherwise 0.
  3. Branch A: score 60 or above: move to Booking Pending, then run Workflow 2.
  4. Branch B: score 35 to 59: move to Qualifying, assign BO, run Workflow 3.
  5. Branch C: score under 35: move to Qualifying, apply nurture-longcycle, send the educational sequence, do not offer a calendar. Copy: "Thanks for reaching out. From what you have described, you are early in this, which is a fine place to be. I am sending you the two things we send clients at this stage. When the timing firms up, reply to this email and we will get you in front of an adviser."
  6. Branch D: any timeline plus top budget band plus "I decide": in addition to Branch A, notify the partner channel immediately: "High-intent consultation request just landed: {{contact.first_name}}, {{company}}. Problem: {{consult_problem_statement}}."

Stop conditions: contact already has an open opportunity in Booked: Confirmed or later; contact tagged not-a-fit in the last 90 days.

Workflow 2: Booking Push

Trigger: opportunity enters Booking Pending.

  1. Immediately: email: "You are one click from a time. Here is {{adviser_first_name}}'s live availability for the next two weeks: {{calendar_link}}. The hour is structured. We spend the first twenty minutes on what you described, then map the options, then you leave with a written next step."
  2. Wait 10 minutes. Condition: still in Booking Pending. SMS (quiet hours respected): "{{first_name}}, it's {{business_name}}. Booking link for your consultation: {{calendar_link}}. Reply STOP to opt out."
  3. Wait 4 hours. Condition: still in Booking Pending. Assign BO to open a chat thread and offer the next three concrete slots by name rather than a link.
  4. Wait 20 hours. Condition: still in Booking Pending. Email: "Still holding a slot for you. If none of the times work, reply with two windows that do and I will make one fit."
  5. Wait 2 days. Condition: still in Booking Pending. Create an internal task for the coordinator: phone call, 24-hour due date.
  6. Wait 4 days. Condition: still in Booking Pending. Move to Nurture, apply nurture-longcycle, send the stand-down email: "I will stop chasing. You have enough in your inbox. The booking link stays live: {{calendar_link}}. Use it whenever."

Stop conditions: appointment booked (any calendar); stage changes to anything other than Booking Pending; consult_payment_status becomes Deposit paid or Paid in full; opt-out received; contact replies to any message (pauses the sequence and notifies the coordinator).

Workflow 3: BO Qualification Conversation

Trigger: opportunity enters Qualifying with score 35 to 59.

  1. Immediately: BO opens by email and chat: "Thanks for the detail. That helps. Two quick things before I put you in front of an adviser, so the hour is useful rather than exploratory." BO asks for whichever of timeline, budget band or decision role is weakest or blank, one question per message.
  2. On answer received, rewrite the relevant custom field and re-run the scoring step from Workflow 1.
  3. Branch: new score 60 or above: move to Booking Pending, hand to Workflow 2.
  4. Branch: new score still under 60: BO offers the complimentary 20-minute screening instead of the paid consultation, if your build includes one. Otherwise moves to Nurture.
  5. Branch: escalation triggers (active dispute, deadline inside 72 hours, regulator named, second request for substantive advice): BO stops, posts to the internal channel with the problem statement and the trigger phrase, and assigns a human owner with a 2-hour response task.
  6. Wait 2 days with no reply at any point. BO sends one final message, then stops: "I will leave this with you. Reply here any time and I will pick it straight back up."

Stop conditions: human replies in the thread; stage advances; opt-out; any escalation trigger.

Workflow 4: Booking Confirmed and Payment Handling

Trigger: appointment booked on Consultation: 60 min or Consultation: 90 min.

  1. Stamp consult_booked_at and consult_slot_start; set consult_adviser; apply consult-booked.
  2. Branch: payment cleared on the form: set consult_payment_status, apply consult-paid, move to Booked: Confirmed, send receipt plus confirmation.
  3. Branch: payment not completed: move to Booked: Unpaid. Email immediately: "Your {{slot_time}} slot is held. It becomes confirmed once the fee is settled: {{payment_link}}. Slots release 12 hours before if unpaid." Then wait 2 hours → SMS with the payment link. Wait 12 hours → if still unpaid and the slot is more than 24 hours away, send a final notice. If the slot is inside 12 hours and still unpaid, release it, notify the contact, and return the opportunity to Booking Pending.
  4. Confirmation email content: adviser name and photo, what the hour covers, what to bring, the reschedule link, and "You will get a short prep form tomorrow: five questions, three minutes. Advisers who get it read it before you arrive."
  5. Internal: block the adviser's calendar, add the opportunity link to the event description.

Stop conditions: appointment canceled; refund issued (write consult_payment_status = Refunded, move to Lost with lost_reason prompted).

Workflow 5: Pre-Call Brief and Reminders

Trigger: opportunity enters Booked: Confirmed.

  1. Wait 3 hours (or until 8am next business day, whichever is later). Send the pre-call brief form: five questions plus file upload. Email copy: "Three minutes now saves twenty in the room: {{intake_link}}."
  2. Wait 24 hours. Condition: consult_intake_complete is not yes. SMS: "{{first_name}}, quick prep form for Thursday so {{adviser_first_name}} comes in ready: {{intake_link}}. Reply STOP to opt out."
  3. Wait until 72 hours before the slot. Condition: consult_intake_complete is not yes. Email from the adviser's address: "I am blocking an hour to prepare for our call. If you can fill this in before then, I will come in with options rather than questions: {{intake_link}}."
  4. On brief submitted: set consult_intake_complete = yes, apply prep-received, move to Prep Received, notify the adviser with the answers inline and uploads attached, and create an adviser task due 24 hours before the slot: "Read brief and draft three options."
  5. 24 hours before slot: reminder by email and SMS, both carrying the reschedule link.
  6. 3 hours before slot: email with the join link and the agenda.
  7. 1 hour before slot: SMS only: "See you at {{slot_time}}. Join here: {{join_link}}."
  8. 10 minutes before slot: internal notification to the adviser with the brief link.

Stop conditions: appointment canceled or rescheduled (reschedule restarts the reminder chain against the new slot but does not re-send the brief if already complete); opportunity moves to Lost.

Workflow 6: No-Show Recovery

Trigger: appointment status set to no-show, or slot end time passes with status still confirmed and no outcome recorded (check 15 minutes after slot end).

  1. Apply consult-noshow, set consult_outcome = No show, keep the opportunity in Booked: Confirmed for now.
  2. Wait 15 minutes: SMS: "{{first_name}}, we had {{slot_time}} down for your consultation and did not manage to connect. Things happen. Pick a new time here: {{rebook_link}}."
  3. Wait 2 hours: email from the adviser: "I kept the hour. If something came up, no explanation needed. Grab another slot and I will carry your prep notes across: {{rebook_link}}."
  4. Wait 2 days. Condition: no rebooking. Internal task for the coordinator: one phone call.
  5. Wait 3 days. Condition: no rebooking. Branch on payment: if paid, email offering a credit valid 90 days and move to Nurture; if unpaid, move to Lost with lost_reason = No response.

Stop conditions: any new appointment booked; contact replies; opt-out.

Workflow 7: Post-Consultation and Proposal Drive

Trigger: consult_outcome written, or stage set to Consultation Held.

  1. Branch: outcome Proposal to send:
    1. Move to Proposal Drafting; create adviser task "Draft proposal" due in 48 hours.
    2. Immediately: recap email: "Good conversation. To put it in writing: you are trying to {{consult_problem_statement}}. We discussed three routes. The proposal will cover scope, sequence and timeline, and it will be with you by {{draft_due_date}}. Our review is already booked for {{review_slot}}."
    3. Wait 48 hours. Condition: stage still Proposal Drafting. Escalate internally to the partner channel.
    4. On proposal sent: stamp proposal_sent_at, apply proposal-out, move to Proposal Sent.
    5. Wait 2 days. Condition: no reply. Email: "Any questions before {{review_slot}}? Send them now and I will build the answers into the review rather than improvising."
    6. Wait until review slot passes. If no review was booked, offer the Proposal Review: 30 min calendar directly.
    7. Wait until proposal_decision_due. Condition: still Proposal Sent. Email: "We had {{decision_due_date}} down as your decision date. Where has it landed?"
    8. Wait 7 days past proposal_decision_due. Condition: still Proposal Sent. Close-the-loop email: "I am going to assume this is not moving for now and stop filling your inbox. If I have that wrong, one line back and I will reopen it. Either way, tell me what tipped it. It genuinely changes how we write the next one." Then move to Nurture and prompt an owner to record lost_reason.
  2. Branch: outcome Needs second meeting: send the Second Meeting: 45 min calendar within the hour, with a line naming who else should be in the room. Hold in Consultation Held until booked; nudge at 2 days and 5 days.
  3. Branch: outcome Not a fit or Referred out: send a short, genuinely useful email naming one or two alternatives, apply not-a-fit, move to Lost with the reason set, and suppress all marketing sequences.
  4. Branch: outcome No show: hand to Workflow 6.

Stop conditions throughout: stage reaches Verbal Yes, Won: Engaged or Lost; opt-out; contact asks to be left alone (apply a do-not-contact tag and halt every sequence).

Workflow 8: Verbal Yes to Engaged

Trigger: stage set to Verbal Yes.

  1. Immediately: generate the engagement letter and first invoice; if consult_payment_status is Paid in full or Deposit paid, add the credit line and flag for adviser confirmation before send.
  2. Wait for adviser confirmation, then send. Email: "Here is the engagement letter and the first invoice, with your consultation fee credited against it. Signature and payment unlock the kickoff call."
  3. Wait 2 days. Condition: unsigned. Reminder email.
  4. Wait 2 days. Condition: unsigned. SMS plus internal task for the adviser.
  5. On signature: move to Won: Engaged, stop every consultation sequence, trigger onboarding, and notify the partner channel with proposal_value.
  6. Wait 10 days. Condition: still unsigned. Internal escalation and a direct call task; do not keep emailing.

Workflow 9: Weekly Funnel Report

Trigger: schedule, Monday 7am.

  1. Compute, for the trailing 7 and 28 days: inquiries by source; score distribution; form-to-booking rate; booking-to-payment rate; brief completion rate; show rate; held-to-proposal rate; proposal-to-won rate; median days from inquiry to booked and from consultation to decision; lost_reason counts.
  2. Email the partner channel with the figures and the three largest week-on-week movements.
  3. Flag any opportunity sitting in one stage longer than its threshold: Booking Pending over 4 days, Booked: Unpaid over 24 hours, Proposal Drafting over 3 days, Proposal Sent past proposal_decision_due.
05

What changes

What is different

  • No calendar is ever shown to an unqualified inquiry, so adviser hours stop being a free resource. The form does the screening that a human used to do badly in the first ten minutes of the call.
  • The gap between intent and a held slot collapses from a day or more to minutes, at any hour, because the booking link is automatic and BO covers the overnight window.
  • A commitment (fee, deposit, or card on file) attaches at the point of booking. Show rates respond to this more than any reminder sequence does.
  • Advisers walk in briefed. The brief and the uploads are in the calendar event, not in somebody's inbox.
  • The proposal review is in both calendars before the proposal exists. The follow-up stops being a chase and becomes a meeting that was always going to happen.
  • Every inquiry exits through a named stage with a recorded reason. Nothing goes quiet; it goes to Lost with lost_reason or to Nurture with a date.

Metrics to watch

  • Form-to-booking rate, split by consult_fit_score band. If high scorers are not booking, the problem is the calendar or the fee, not the traffic.
  • Booking-to-payment rate and median time to payment. A low rate here is usually a pricing-page clarity problem.
  • Brief completion rate before the slot. Watch whether briefed consultations convert to proposals at a materially different rate. That figure tells you how hard to push step 3 of Workflow 5.
  • Show rate, segmented by consult_type. Compare paid against complimentary directly.
  • Held-to-proposal-sent rate and median days between them. Anything over three days means Workflow 7's escalation threshold is too loose.
  • Proposal-to-won rate, and separately the share of proposals where a review was booked in the room versus afterwards.
  • lost_reason distribution. This is the field that tells you whether to change price, qualification, or positioning. Review it monthly, not weekly.
  • Score accuracy: won deals by their original consult_fit_score band. Re-weight the scoring step quarterly against this, not against intuition.
06

Before you start

Prerequisites

  • Decide the consultation model first: paid, deposit-held, or complimentary with card on file. Every workflow branches on it, and changing it after launch means rewriting Workflow 4.
  • Fixed, written agenda for the consultation hour. If the advisers run it differently each time, the confirmation copy and the recap email cannot be honest.
  • Adviser availability agreed and genuinely protected in their calendars, with a minimum-notice rule everyone accepts.
  • A proposal template. The 48-hour drafting SLA in Workflow 7 is unachievable without one.
  • Agreed lost_reason picklist. Keep it short, six options maximum, or the data is unusable.

Integrations

  • Calendar sync, two-way, for every adviser, so external meetings block consultation slots.
  • Payment processor connected and tested in live mode with a real small-value charge and a real refund before launch. Confirm the refund path writes consult_payment_status.
  • Email sending domain authenticated with SPF, DKIM and DMARC. Send from the firm's domain, and have advisers' recap emails come from their own addresses.
  • Video conferencing auto-generating a unique link per booking, included in every reminder.
  • File uploads on the pre-call brief, with a size limit and accepted file types set, and storage that your confidentiality obligations actually permit.
  • Website forms: replace the old contact form entirely or redirect it, otherwise inquiries arrive outside the pipeline and the reporting lies.

Number provisioning

  • Provision a dedicated local number for the firm. Do not send consultation SMS from a number used for anything else.
  • Enable inbound. Reminder SMS gets replies, and a reply that lands nowhere is worse than no SMS.
  • Set the number as the sender on every SMS step and verify the reschedule and payment short links resolve correctly on mobile.

Consent and compliance

  • A2P 10DLC registration must be completed and approved before any SMS step goes live. Register the brand with the legal entity name and EIN, then the campaign. For this build the use case is mixed appointment reminders and customer care. Submit the actual consultation page URL, a screenshot of the form showing the unticked consent checkbox and its wording, and at least two sample messages matching the copy you will send. Allow one to three weeks and build the SMS steps disabled until approval lands. Unregistered traffic is filtered or blocked, and a half-delivered reminder sequence is worse than an email-only one.
  • Express written consent captured on the form itself: an unticked checkbox, its own line of text naming the firm, saying what messages will be sent (appointment reminders and follow-up about your inquiry), stating that message and data rates may apply, and giving the opt-out instruction. Store the timestamp, the IP and the exact consent wording against the contact record. If a complaint arrives you need the version that was on screen that day.
  • Opt-out handling: STOP, UNSUBSCRIBE, CANCEL, END and QUIT must suppress all SMS immediately and apply a do-not-SMS tag that every workflow checks as a stop condition. HELP returns the firm name and contact route. Email opt-outs are separate. Suppress marketing but keep transactional booking and payment messages, and say so in the preference copy.
  • Quiet hours: no SMS before 8am or after 9pm in the recipient's time zone, enforced centrally, with a tighter window if your jurisdiction requires it. Queue rather than skip, so a confirmation sent at 9.23pm delivers at 8am rather than never. Email and chat are exempt.
  • Frequency cap: no more than one SMS per contact per 24 hours across all workflows except the reminder chain on the day of the appointment.
  • Confidentiality: a problem statement and uploaded documents from a prospect may be privileged or commercially sensitive. Restrict pipeline visibility accordingly, keep consult_problem_statement out of any message that could be forwarded, and agree a retention period for the uploads of inquiries that never convert.
  • Record-keeping: retain consent records and message logs for the period your regulator or insurer requires, and confirm the platform's retention settings match it before launch.

Launch checks

  • Run three test inquiries end to end (one high score, one mid score, one low score) and confirm each lands in the right branch.
  • Book, pay, reschedule, cancel and refund one real appointment. Verify every field write and every stop condition.
  • Trigger a no-show deliberately and watch Workflow 6 fire.
  • Send yourself every SMS from the live number and check the sender display, the links, and that STOP works.

Scope, fees and the model that fits your firm are set on a call. Book one and we will map it against your actual adviser capacity.

Build it with us.

Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.

Book a call