Back to the build library
Any industry
Standard

Customer Onboarding Sequence

The first thirty days after someone buys, built as a system: welcome, setup, first result, check-in, review request and referral ask.

Industry
Any industry
Build effort
Standard
Typical time to launch
2–4 weeks
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

Almost every business invests heavily in the moment before the sale and almost nothing in the thirty days after it. The pipeline is instrumented, the follow-up is automated, the booking reminders fire reliably, and then somebody pays, and the system goes quiet. What happens next depends on who closed the deal, how busy they are that week, and whether they remember. The customer, who has just spent money and is at their most attentive and most anxious, hears nothing for four days.

That silence is expensive in ways that do not show up as a refund. The first identifiable leak is activation: a customer who does not complete the setup step, send the file, book the kickoff, or log in for the first time never reaches the point where the product or service does anything for them. They have paid and received nothing, which produces either a refund request or, worse, a quiet non-renewal that gets recorded as churn eleven months later with no explanation attached. The second leak is reviews. A satisfied customer is most willing to write one within two weeks of their first good result, and that window is almost always missed because nobody is tracking when the first result happened. The third leak is referrals, which depend entirely on being asked at a moment of goodwill, and so almost never happen when asking is left to memory.

The fourth leak is the most insidious: unanswered early questions. In week one a customer has three or four small uncertainties, where to find something, what happens next, who to contact. Each one is trivial and each one, unanswered, erodes confidence. By week three they have stopped asking, and what reads internally as a quiet, low-maintenance account is in fact a disengaged one. This build replaces the thirty-day silence with a defined sequence of touches, each with a job, each with a measurable completion, so that activation is a tracked state rather than an assumption.

02

What gets built

Pipeline and stages

A dedicated Customer Onboarding pipeline, separate from the sales pipeline. A closed-won deal creates a new opportunity here rather than lingering at the end of the sales pipeline, because onboarding has its own stages, its own owner, and its own failure modes.

  • Payment Received: entry stage, created automatically on successful payment or signed agreement.
  • Welcome Sent: the first touch has landed and been delivered.
  • Onboarding Form Pending: the intake form has been sent and not yet completed.
  • Onboarding Form Complete: everything needed to start is in hand.
  • Kickoff Booked: a kickoff or first-session appointment exists.
  • Setup In Progress: work has started; the customer has obligations too.
  • First Value Delivered: the customer has received their first concrete result. This is the single most important stage in the build.
  • Day 30 Review Held: the thirty-day check-in has happened.
  • Onboarded: terminal success; the contact moves to the retention or account-management track.
  • Stalled: a required customer action has not happened within its window; a human owns it.
  • At Risk: negative signal detected; escalated.

Calendars

  • Kickoff Call: longer slots than a sales call, with buffer either side, assigned to the delivery owner rather than the salesperson.
  • Setup Session: optional working session for builds that need the customer present.
  • Day 30 Review: shorter slots, bookable from day twenty-two onward so the invitation can go out before the date.
  • Onboarding Help Window: short open blocks during week one, offered as a safety valve so an early question becomes a booked ten minutes rather than an unanswered email.

Custom fields

  • purchase_date: the anchor for every wait duration in the build. All timing is relative to this, never to enrollment date.
  • product_purchased: drives the branch into the right onboarding variant.
  • onboarding_owner: the named person responsible. Not a team, a person.
  • onboarding_form_complete: yes or no.
  • kickoff_booked_at and kickoff_held_at: two separate fields, because booked is not held.
  • first_value_at: timestamp of the first concrete result. Every review and referral ask reads this.
  • first_value_description: one line saying what the result was, so the review request can refer to something specific.
  • activation_milestones_complete: count of the defined activation steps done.
  • setup_blocker: free text naming what is waiting on the customer.
  • day30_sentiment: the answer to the thirty-day satisfaction question.
  • review_left: yes or no.
  • referral_asked_at: timestamp, so nobody asks twice.
  • payment_method_valid: yes or no, for subscription builds.

Tags

  • customer: applied on payment; the single most useful tag in any account because it suppresses every prospect-facing campaign.
  • onboarding-active, onboarding-complete, onboarding-stalled.
  • activation-week-1, activation-week-2, activation-week-4: cohort markers for reporting.
  • first-value-reached.
  • promoter, passive, detractor: set from the day-30 question, driving three different follow-up paths.
  • review-requested, review-left.
  • referral-asked, referral-given.
  • payment-failed.
  • sms-opted-out, email-opted-out.

Forms

  • Onboarding Intake: everything needed to begin work, and nothing else. The temptation is to ask for everything that might ever be useful; resist it, because an intake form that takes forty minutes is the single largest cause of stalled onboarding. Split it: essentials now, nice-to-haves at the kickoff.
  • Access and Credentials Checklist: a structured list of what the customer needs to hand over or grant, each item individually tickable so partial completion is visible rather than binary.
  • Day 7 Pulse: two questions. Is anything unclear, and is anything blocking you.
  • Day 30 Review: a short satisfaction question plus one open text field, used to set day30_sentiment and the promoter tags.
  • Referral Submission: name, contact, and one line of context, with explicit confirmation that the referrer is happy to be named.

BO's role and guardrails

  • BO handles inbound questions during onboarding on SMS and chat, answering only from a defined set of operational facts: what happens next, when the kickoff is, where to upload files, who the owner is, what is outstanding.
  • BO can send a booking link, resend a form, and restate a deadline. That is the extent of BO's authority.
  • BO never answers questions about scope, deliverables, contractual terms, timelines for work, or anything involving money. Those route to onboarding_owner immediately with the question quoted verbatim.
  • BO never quotes prices, discounts, refunds, or credits in any form.
  • BO escalates on any dissatisfaction signal (frustration, a complaint, the word refund, or a question about canceling) within the same message cycle, and applies at-risk handling rather than attempting reassurance.
  • BO's tone during onboarding is practical rather than enthusiastic. A newly paying customer wants competence, not celebration.
  • Every BO onboarding thread is visible to the owner, who gets a daily summary rather than per-message notifications.

Numbers and channels

  • The existing business number for SMS, so onboarding texts arrive in the same thread as the sales conversation. Starting a new thread from a new number at the moment of purchase is disorienting.
  • Authenticated email domain, with onboarding email sent from the owner's name rather than a generic address: replies need to reach a person.
  • Payment processor connected (Stripe or equivalent) so the purchase event triggers the sequence directly rather than through manual entry. Manual entry is where onboarding sequences die.
  • Optional membership or course area if the build includes self-serve material, with access granted automatically on payment.
  • Optional accounting connection such as QuickBooks or Xero if invoices and receipts are issued outside the payment processor.
  • Team chat connection such as Slack for stalled-account and at-risk alerts.
03

How it runs, step by step

  1. A payment succeeds in the connected payment processor. The platform receives the event, applies the customer tag, stamps purchase_date, writes product_purchased, assigns onboarding_owner by round robin or by product, and creates an opportunity in Payment Received.
  2. Within two minutes the welcome arrives: an SMS confirming the purchase and naming the owner, and an email containing the receipt, what happens next in three bullet points, and a single link to the onboarding intake form. One link, not five.
  3. The opportunity moves to Welcome Sent, then to Onboarding Form Pending. Every prospect-facing nurture campaign the contact was in is exited by the customer tag, so they stop receiving sales material the day after buying.
  4. Four hours later, if the form is not complete, a single short SMS nudge goes out. Not a reminder about the importance of onboarding: just the link and one sentence.
  5. The customer completes Onboarding Intake. onboarding_form_complete is set to yes, the opportunity moves to Onboarding Form Complete, and the owner is notified with the answers attached rather than being asked to go and look them up.
  6. Immediately after form completion, the kickoff booking link is sent, scoped to the Kickoff Call calendar for the assigned owner. The customer books. kickoff_booked_at is stamped and the opportunity moves to Kickoff Booked.
  7. Standard appointment confirmations and reminders run. Twenty-four hours before, an agenda email goes out listing what will be covered and what the customer should have ready. A kickoff where the customer arrives unprepared costs the whole first week.
  8. The kickoff is held. kickoff_held_at is stamped, the opportunity moves to Setup In Progress, and the owner records any customer-side obligations into setup_blocker.
  9. On day seven from purchase_date, the Day 7 Pulse form goes out. An answer naming a blocker creates an assigned task for the owner due within four business hours. Silence is treated as a soft negative and triggers a direct message from the owner rather than another automated send.
  10. The first concrete result is delivered. The owner marks it, which stamps first_value_at, writes first_value_description, applies first-value-reached, and moves the opportunity to First Value Delivered. This is the pivot point of the entire sequence; nothing downstream fires without it.
  11. Three days after first_value_at, the review request goes out, referring to the specific result rather than to the relationship in general.
  12. On day twenty-two, the Day 30 Review booking invitation goes out. On day twenty-eight the short review form goes out to everyone who has not booked, so the data is captured either way.
  13. The thirty-day review happens or the form is returned. day30_sentiment is set and the promoter, passive or detractor tag is applied. The opportunity moves to Day 30 Review Held.
  14. Promoters, and only promoters who have already left a review or declined to, receive the referral ask on day thirty-five. referral_asked_at is stamped so it never happens twice. The opportunity moves to Onboarded and the contact joins the retention track.
04

Automations in detail

Workflow 1: Purchase Trigger, Welcome and Hygiene

Trigger: a successful payment event from the connected payment processor, an invoice marked paid, or an agreement marked signed: whichever is the real moment of commitment for this business.

Conditions and branches: branch on product_purchased to select the onboarding variant; each variant differs only in the intake form, the kickoff calendar, and the activation milestone list, never in the overall shape. Branch on whether the contact already carries customer: an existing customer buying again gets a shorter welcome and skips the account-setup steps entirely, which is the branch most builds forget. Branch on whether a phone number exists; if not, run email-only without erroring.

Actions in order:

  • Apply customer and onboarding-active. Stamp purchase_date. Write product_purchased.
  • Assign onboarding_owner. Prefer the person who will actually do the work over the person who sold it, and make the assignment rule explicit rather than leaving it to whoever picks it up.
  • Remove the contact from every prospect nurture and sales follow-up workflow. This is the hygiene step and it must come before any send, or the customer receives a sales email the day after paying.
  • Create the opportunity in Payment Received.
  • Wait 2 minutes. Send SMS: “Thanks [first name]: payment's through. I'm [owner], I'll be looking after your setup. First thing: a short form so we know where to start. [link]”
  • Send email immediately after, from the owner's name: receipt or invoice attached, a three-bullet “what happens next”, the intake form link, and the owner's direct reply address. No marketing content, no upsell, no newsletter signup.
  • Grant access to any membership or course area if applicable, and include those credentials in the same email rather than a separate one.
  • Move to Welcome Sent, then to Onboarding Form Pending.
  • Notify the owner with the purchase detail and a link to the record.

Stop and exit conditions: exits once the form-pending stage is reached. A refund or chargeback event exits the whole onboarding build immediately and routes to a human; automated onboarding continuing after a refund is a specific and avoidable embarrassment.

Workflow 2: Onboarding Form Chase and Stall Detection

Trigger: opportunity enters Onboarding Form Pending.

Conditions and branches: branch on partial completion. A customer who started the form and abandoned it gets a different message from one who never opened it. The first needs reassurance that their answers were saved, the second needs the link again. Branch on business days, not calendar days: a form sent Friday evening should not be chased Saturday morning.

Actions in order:

  • Wait 4 hours. If onboarding_form_complete is not yes, send SMS: “Quick one. The setup form is still open. Takes about four minutes. [link]”
  • Wait 1 business day. Send email with the link, plus one line removing the main objection: “If anything on there doesn't apply, leave it blank and we'll sort it on the call.”
  • Wait 2 business days. Send SMS: “Still nothing through on the form: would it be easier to run through it together? I've got ten-minute slots here: [Onboarding Help Window link]”
  • Wait 2 business days. Apply onboarding-stalled, move to Stalled, create an assigned task for onboarding_owner to make a personal phone call, due same day, and write what is outstanding into setup_blocker.
  • Wait 3 business days. If still stalled, notify the owner's manager with the account and the number of days elapsed. Do not send the customer a fifth automated message; at this point the sequence has failed and a person must intervene.
  • Abandoned-form branch: substitute the second message with “You'd started the form. Your answers are saved, just pick up where you left off. [link]”

Stop and exit conditions: form completion exits immediately and triggers Workflow 3. Opt-out stops the SMS steps but not the owner's task. A refund exits entirely.

Workflow 3: Kickoff Booking and Preparation

Trigger: onboarding_form_complete set to yes.

Conditions and branches: branch on product_purchased to select the correct kickoff calendar and duration. Branch on whether a kickoff is needed at all. Some products are self-serve, and forcing a call on a customer who does not need one adds friction and delays first value. For self-serve products, skip to Workflow 5 and send the first activation step instead. Branch on how far out the first available slot is: if the earliest kickoff is more than five business days away, send an interim “here is what you can do in the meantime” message, because a five-day silence after an enthusiastic form submission is where doubt starts.

Actions in order:

  • Move to Onboarding Form Complete. Notify the owner with the form answers included in the notification body.
  • Wait 0 minutes. Send SMS and email with the kickoff booking link: “Got everything, thanks. Next step is a [duration] call with me to get this moving. Grab whichever slot suits: [link]”
  • Wait 1 business day. If unbooked, send one reminder with two named slots rather than the link alone.
  • Wait 2 business days. If still unbooked, create an assigned task for the owner to book it by phone, and apply onboarding-stalled.
  • On booking: stamp kickoff_booked_at, move to Kickoff Booked, send immediate confirmation with the join link or address.
  • Wait until 24 hours before. Send the agenda email: what will be covered in three bullets, what to have ready, how long it will take, and who will be on the call.
  • Wait until 1 hour before. Send SMS reminder with the join link only.
  • After the scheduled end time, wait 30 minutes. If the appointment is not marked held, create a task for the owner to mark it, because an unmarked kickoff silently blocks every downstream step.
  • On held: stamp kickoff_held_at, move to Setup In Progress, trigger Workflow 4.
  • On no-show: send one message offering to rebook, apply onboarding-stalled, and create an owner task. Do not run a standard no-show nurture on a paying customer.

Stop and exit conditions: kickoff held, or self-serve branch taken, or refund. Opt-out stops SMS only.

Workflow 4: Activation Milestone Tracking

Trigger: opportunity enters Setup In Progress.

Conditions and branches: define three to five activation milestones per product, in writing, before building this. They must be things the customer does, observable by the system, and genuinely necessary. A vanity milestone pollutes the metric. Branch on whether each milestone is blocked by the customer or by the business: customer-side blockers get a chase, business-side blockers get an internal task and no customer message at all, because chasing a customer for something you owe them is the fastest way to lose them.

Actions in order:

  • On entry, send the sequence of what is outstanding as a single short list, not as separate messages: “From the call, three things on your side: [item one], [item two], [item three]. Whenever you get a minute: no rush today.”
  • Each time a milestone completes, increment activation_milestones_complete and clear the relevant line in setup_blocker.
  • Wait 2 business days after entry. If zero milestones complete, send one nudge naming only the first item. Naming all three again reads as pressure.
  • Wait 3 further business days. If still zero, apply onboarding-stalled, move to Stalled, and create an owner task for a call.
  • Business-side blocker branch: create an internal assigned task with the blocker named and a due date, notify the team channel, and suppress all customer-facing chase messages until it clears. Send the customer one honest holding message instead: “That one's on us: [owner] is on it and will come back to you by [day].”
  • When all milestones complete, notify the owner that the account is ready for first delivery, and create a task to mark first value when it lands.
  • Weekly while in this stage: send the owner a single digest of accounts in Setup In Progress with days elapsed since purchase_date, sorted oldest first.

Stop and exit conditions: all milestones complete, or first_value_at stamped, or refund. Automatic exit after 45 days from purchase_date with an escalation to the manager, so nothing sits in setup indefinitely.

Workflow 5: First Value Confirmation and Review Request

Trigger: first_value_at stamped, or first-value-reached applied.

Conditions and branches: branch on day30_sentiment if it already exists, and on whether any at-risk or detractor signal is present. Never send a review request to an unhappy customer, which requires checking rather than assuming. Branch on whether review_left is already yes, and exit if so. Branch on channel consent.

Actions in order:

  • Move to First Value Delivered. Apply first-value-reached.
  • Wait 1 hour. Send SMS acknowledging the result specifically, using first_value_description: “[first name]: [specific result] is done and live. Anything look off, tell me today and I'll fix it.” The invitation to complain first is what makes the later review request safe.
  • Wait 2 business days. If no complaint has arrived and no at-risk tag exists, send the review request by SMS: “Glad [specific result] landed well. If you've got ninety seconds, a short review genuinely helps us: [direct review link]. And if there's anything you'd change, tell me that instead and I'd rather hear it.”
  • Apply review-requested.
  • Wait 4 days. If review_left is still no, send one email version of the same request, with the direct link and nothing else in the email.
  • Wait 7 days. Stop. Two asks is the limit; a third converts almost nobody and costs goodwill.
  • On review detected: set review_left to yes, apply review-left, notify the owner, and send a short thank-you that does not ask for anything.
  • If a negative review or a complaint arrives: suppress all remaining onboarding sends, apply at-risk, and trigger Workflow 8 immediately.

Stop and exit conditions: review left, two asks made, complaint received, at-risk flagged, or opt-out. Never enters if first_value_at is empty, asking for a review before the customer has received anything is the most common and most damaging error in onboarding builds.

Workflow 6: Day 7 Pulse and Early Question Capture

Trigger: scheduled, 7 days after purchase_date.

Conditions and branches: branch on stage. An account still in Onboarding Form Pending on day seven does not need a satisfaction pulse, it needs a phone call, so route there instead. Branch on the answers: a named blocker creates a task, a “nothing unclear” answer increments confidence and does nothing else, and no answer at all is treated as a soft warning rather than as consent.

Actions in order:

  • Send SMS: “Week one down. Two quick questions, takes a minute: [Day 7 Pulse link]”
  • Wait 1 day. If unanswered, send email with the same two questions inline, answerable by reply, because some people will answer an email and not a form.
  • Wait 2 days. If still unanswered, apply no negative tag but create a low-priority task for the owner to make contact in whatever way they normally would.
  • Blocker-named branch: create an assigned task for onboarding_owner due within 4 business hours, write the blocker into setup_blocker, and send the customer an acknowledgement within the hour: “Got it: [blocker] is with me now. I'll come back to you today.” An acknowledgement that names the specific blocker is worth more than a fast generic reply.
  • Negative-sentiment branch: apply at-risk, suppress every scheduled onboarding send, and trigger Workflow 8.
  • Positive branch: no further automated message. A customer who says everything is fine should not then receive three cheerful emails.

Stop and exit conditions: answered, or three attempts made, or escalated. Does not run at all for accounts already in Stalled or At Risk.

Workflow 7: Day 30 Review and Referral Ask

Trigger: scheduled, 22 days after purchase_date.

Conditions and branches: branch on whether first_value_at exists. If it does not, this is not a thirty-day review, it is a rescue: suppress the review invitation entirely, escalate to the owner's manager, and treat the account as failed onboarding. Branch after the review on day30_sentiment into three distinct paths. Branch the referral ask on both sentiment and referral_asked_at: ask promoters only, and only once ever.

Actions in order:

  • Day 22: send the Day 30 Review booking invitation by email, with the agenda stated: what has been delivered, what is next, and anything the customer wants to raise.
  • Day 25: if unbooked, send one SMS with two named slots.
  • Day 28: if still unbooked, send the Day 30 Review form instead so the sentiment data is captured regardless. A short form returned beats a call never booked.
  • On the call being held or the form returned: set day30_sentiment, move to Day 30 Review Held, and apply promoter, passive or detractor.
  • Detractor branch: no referral ask, no review ask. Create a high-priority task for the owner and their manager within 2 hours, apply at-risk, and trigger Workflow 8.
  • Passive branch: no referral ask. Send one email asking the single question “what would make this a ten out of ten for you” and route the answer to the owner.
  • Promoter branch, day 35: send the referral ask by SMS: “Since things are going well. Do you know anyone who'd get the same out of this? Happy to look after them properly. No obligation at all.” Stamp referral_asked_at, apply referral-asked.
  • Promoter branch, day 38: if no response, send the email version with the Referral Submission form link. Then stop permanently.
  • On a referral submitted: apply referral-given, create the new contact in the sales pipeline with the referrer recorded on the record, notify the owner, and send the referrer a thank-you that promises only that the person will be looked after: never a reward amount or an incentive figure.
  • Move to Onboarded, apply onboarding-complete, remove onboarding-active, and enroll in the retention track.

Stop and exit conditions: onboarded, at-risk escalation, refund, or opt-out. referral_asked_at being populated permanently blocks re-entry to the referral branch.

Workflow 8: At-Risk Escalation and Save Attempt

Trigger: at-risk applied by any route. Negative pulse answer, detractor sentiment, complaint keyword in any inbound message, a cancellation inquiry, a failed payment, or two consecutive stalls.

Conditions and branches: branch on cause, because the responses are genuinely different. A service failure needs an owner call. A payment failure needs a payment-method update and nothing emotional. A cancellation inquiry needs a senior person and no automation beyond acknowledgement. A silence-based stall needs a human, not another message. Branch on severity: anything mentioning refund, legal, or cancellation routes to the business owner directly rather than to the account owner.

Actions in order:

  • Apply at-risk, move to At Risk, and immediately suppress every scheduled onboarding, review, referral and marketing send for this contact. This suppression step comes first, before any notification, because the worst outcome is an upbeat automated email landing while the customer is annoyed.
  • Notify onboarding_owner and their manager by SMS and in the team channel, with the triggering message or event quoted verbatim.
  • Create a high-priority assigned task due within 2 business hours.
  • Send the customer one acknowledgement only, from the owner's name: “I've seen this and I'm looking at it now rather than passing it on. I'll call you today.” No automated apology, no explanation, no offer.
  • Payment-failure branch: send a plain, unemotional message with a secure link to update the payment method, apply payment-failed, set payment_method_valid to no, and retry per the payment processor's schedule. Do not suspend access on a first failure.
  • Wait 2 business hours. If the task is untouched, escalate to the business owner.
  • Once resolved, the owner records the outcome and clears at-risk manually. Never clear it automatically on a timer.
  • On clearing: resume the onboarding sequence from the stage the account was at, not from the beginning, and skip any review or referral ask for this account permanently unless the owner explicitly re-enables it.

Stop and exit conditions: manual clearance by the owner, or the account being marked canceled or refunded, which exits every workflow in the build. Nothing in this workflow sends more than one automated message to the customer.

05

What changes

Afterwards, the thirty days after a sale look the same every time, regardless of who closed it or how busy that week was. The customer hears from the business within minutes of paying, knows who their person is, knows what is expected of them, and gets a defined checkpoint at day seven and day thirty. The business, for its part, knows which accounts are activating and which are stuck, because stuck is a stage with a name and an owner rather than a feeling somebody has.

The most valuable structural change is that first_value_at exists as a field. Once you can measure the number of days between payment and first concrete result, you can shorten it, and shortening it improves retention, reviews, and referrals simultaneously without changing anything else. Most businesses have never measured this and are surprised by how long it actually is.

The second change is that reviews and referrals stop being campaigns and become consequences. The review request fires a fixed interval after a real delivered result, referring to that result by name, and only to customers who have been given an explicit chance to complain first. The referral ask goes only to people who have said they are happy, once, and never again. Both become predictable rather than sporadic.

Metrics to watch:

  • Time to first value: median days from purchase_date to first_value_at. The headline metric of this build.
  • Onboarding form completion rate within 48 hours, and the share needing a human call to complete it. A high human-call share means the form is too long.
  • Kickoff booking rate and kickoff show rate.
  • Activation rate: share of customers completing all defined milestones within thirty days.
  • Stall rate and median stall duration, split by whether the blocker was customer-side or business-side. The business-side figure is the uncomfortable one and the one worth watching.
  • Day 7 pulse response rate, and the proportion naming a blocker.
  • Day 30 sentiment distribution across promoter, passive and detractor.
  • Review request to review left conversion, measured only on requests that followed a stamped first value.
  • Referral ask to referral given conversion, and the eventual close rate of referred leads compared with other sources.
  • At-risk incidence in the first thirty days, and median time from flag to owner contact.
  • Thirty-day and ninety-day retention split by whether first value was reached inside the first week. This comparison usually makes the case for the whole build on its own.
06

Before you start

Prerequisites

  • A written definition of first value for each product or service sold. The specific, observable thing the customer receives that makes the purchase real to them. Without this the build has no pivot point and the review and referral steps have nothing to anchor to. This is the single hardest piece of preparation and the one most worth doing properly.
  • Three to five activation milestones per product, written down, each observable by the system and each genuinely required.
  • A named owner assignment rule. Round robin, by product, or by territory: any explicit rule beats “whoever picks it up”.
  • The onboarding intake form content, trimmed to essentials. Go through every field and ask whether work can begin without it; if it can, move it to the kickoff.
  • Agreed internal response-time commitments for blockers and at-risk flags, since the workflows create tasks against them.
  • A decision on what BO may and may not answer during onboarding, written as a list.

Integrations and provisioning

  • Payment processor connected, with the webhook or native connection verified by test transaction. Confirm that successful payment, failed payment, and refund events all arrive, not just the first one. Refund handling is routinely left untested and then fires cheerful onboarding at a refunded customer.
  • Calendar connections for every potential onboarding owner, two-way, with kickoff durations and buffers configured.
  • Authenticated email sending domain with SPF, DKIM and DMARC. Onboarding email volume per customer is low but its deliverability matters more than marketing email, because it contains credentials and links the customer needs.
  • Existing business number for SMS so onboarding continues the sales thread.
  • Membership or course area connected if self-serve material is part of the product, with automatic access granted on payment and revoked on refund.
  • Accounting connection such as QuickBooks or Xero if invoices and receipts are issued there rather than by the payment processor.
  • Team chat such as Slack for stall and at-risk alerts, and Zapier or Make if the product itself lives in a system the platform does not connect to natively and activation milestones must be read from it.

Messaging compliance

  • A2P and 10DLC registration completed before SMS volume in the United States. Register the brand and the campaign and submit the actual onboarding message samples. Customer-service and transactional messaging is usually straightforward to register, but it must be registered.
  • Opt-out handling on every channel, honoured immediately and suppressed at platform level. Note the distinction worth getting right here: a customer who opts out of marketing SMS may still need transactional messages about the service they are paying for. Keep marketing and transactional consent as separate fields, and do not let a marketing opt-out silently stop an appointment reminder they need.
  • Quiet hours in the customer's time zone for all non-transactional sends. Onboarding nudges are not urgent and should never arrive at night.
  • Consent for ongoing marketing after onboarding needs its own basis. Having bought something is not the same as having asked for a newsletter; capture the marketing opt-in separately, at the point the customer can see what they are agreeing to.
  • Review requests must not be conditioned on the review being positive, and must not offer anything in exchange. Review platforms prohibit incentivized and gated reviews, and the build's own design (inviting complaints first, asking twice at most) keeps it clean. Check the specific terms of whichever review platform the links point at.
  • Referral asks should confirm the referrer is content to be named before the referred person is contacted, which the Referral Submission form does explicitly. Contacting a referred person cold, naming somebody who did not agree to be named, is both poor practice and a consent problem.

Data protection

  • Onboarding collects more sensitive operational data than sales does: credentials, access tokens, account numbers, internal documents. Decide what the platform should hold and what should stay in a dedicated secrets manager or shared vault. Credentials should generally not live in a CRM custom field or in an SMS thread.
  • Restrict access to onboarding records to the owner and their manager rather than the whole team.
  • Set a retention period for onboarding form submissions and attachments, and delete or archive on schedule rather than keeping everything indefinitely.
  • On refund or cancellation, have a defined process for removing access and for handling any customer data the business holds.

None of the above is legal advice. Messaging registration rules, consent standards, review-platform terms, and data-protection obligations vary by jurisdiction and by industry, and they change. Confirm the specifics, including consent wording, retention periods, and how customer data is handled on cancellation: with the client's own counsel before going live. To scope a build for a specific business, book a call at bookings.appbo.io.

Field notes

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