Back to the build library
Financial services
Standard

Annual Review Scheduling

Client reviews scheduled on a reliable annual cadence, with pre-work collected and evidence that each review actually happened.

Industry
Financial services
Build effort
Standard
Typical time to launch
2–3 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 firm that charges for an ongoing service has promised an annual review, and almost none of them can produce, on demand, a list of which clients are due one this quarter, which are overdue, and which were offered a review and declined it. The cadence runs on memory. An adviser thinks of a client in the shower, or sees their name in a statement, or gets a call and realizes it has been eighteen months. The clients who get reviewed are the ones who are loud, local or recently in touch. The quiet ones drift, which is precisely the wrong selection criterion, because a client who has gone quiet is more likely to have had something change.

The administrative version of the problem is worse than it looks. A review is not one appointment, it is a short chain: identify that it is due, make contact, agree a date, send pre-work, get the pre-work back, hold the meeting, record what was discussed and recommended, issue whatever follow-up is needed, and close the loop. Any link in that chain can break silently. Pre-work that never came back means the adviser spends the first twenty minutes of a sixty minute meeting gathering facts they could have had in advance. Follow-up actions agreed in the meeting sit in handwritten notes and resurface, if at all, weeks later. The review happened, but there is no tidy record that says so.

And that last point is the expensive one. Where a firm charges an ongoing fee, the service behind the fee has to be delivered and the delivery has to be evidenced. A calendar entry is not evidence. A file note someone wrote three weeks afterwards is weak evidence. A reviewer looking at a sample of client files wants to see when the review was offered, when it was held, what was discussed, whether circumstances had changed, and what was done about it, with dates. Firms that cannot show that pattern across their client base are exposed in a way that has nothing to do with the quality of the advice they gave.

02

What gets built

Pipeline and stages

One pipeline, Annual Reviews. Unlike a sales pipeline this one is cyclical: a client leaves it at the end of a review and re-enters it when the next anniversary comes into range. An opportunity is created per review cycle, not per client, so the history of reviews is a stack of closed records rather than one record that has been overwritten twelve times.

  • Review Due - anniversary is within the outreach window, no contact made yet.
  • Outreach Started - at least one invitation sent.
  • Contact Made - client has responded but no date agreed.
  • Review Booked - appointment in the calendar.
  • Pre-Work Outstanding - booked, pre-work issued, not yet returned.
  • Ready for Review - pre-work in, adviser prepared.
  • Review Held - meeting took place.
  • Actions Outstanding - follow-up items agreed and not yet completed.
  • Review Closed - outcome recorded, actions done, evidence filed, next due date set.

Two side exits, both recorded rather than silent: Deferred, with a date it returns, and Declined, where the client was offered a review and chose not to take it. Declined is the important one. A firm that can show a client was offered a review and said no is in a completely different position from a firm that simply never asked.

Calendars

  • Annual Review - In Person - 90 minutes, office or home visit, travel buffer of 30 minutes before and after, 3 days minimum notice.
  • Annual Review - Video - 60 minutes, 15 minute buffer after, 1 day minimum notice, auto-generated meeting link.
  • Annual Review - Phone - 45 minutes, for clients on a lighter service tier or who prefer it.
  • Circumstances Check-In - 15 minutes, used when a client flags a material change between reviews and needs a short conversation before the full review.

All four sit in one group so a single booking link offers the formats the client's service tier allows, and each is bound to the owning adviser's live calendar rather than a shared one.

Custom fields

  • review_anniversary_date - date, the fixed annual anchor. Usually the original advice date or the start of the ongoing service agreement, decided once and documented.
  • review_cycle - dropdown: Annual, Semi-annual, Biennial, Ad hoc. Drives how next_review_due_date is calculated.
  • service_tier - dropdown of the firm's own ongoing service levels, since the review the client is entitled to depends on what they pay for.
  • last_review_held_date and next_review_due_date - dates. next_review_due_date is the field every scheduled scan reads.
  • review_cycle_year - text, e.g. 2027, so repeat opportunities are distinguishable.
  • adviser_assigned - dropdown, the owning adviser.
  • preferred_review_format - dropdown: In person, Video, Phone, No preference.
  • preferred_contact_window - dropdown: Morning, Afternoon, Evening, Any.
  • review_booked_date, review_held_date - dates written by the automation.
  • prework_status - dropdown: Not sent, Sent, Partially complete, Complete.
  • circumstances_changed - dropdown: No change reported, Change reported, Not yet asked. Set from the Circumstances Update form, not inferred.
  • circumstances_change_detail - long text, the client's own words, carried into the adviser's prep pack unedited.
  • review_outcome_recorded - switch, set by the adviser when the file note and any suitability record for the cycle is complete.
  • review_actions - long text, and review_actions_due_date - date.
  • review_evidence_filed_date - date, the single field an audit sweep reads to confirm the cycle is properly closed.
  • deferral_reason and deferral_until_date.
  • declined_date and declined_reason, plus declined_acknowledgement_sent - switch.
  • support_needs_flag - switch, human-set, which softens every cadence and forces a call over a text.
  • marketing_consent and service_comms_only - switches. Review invitations are service communications about an agreement the client is paying for, not marketing, but that distinction has to be a field you can point at rather than an assumption.

Tags

  • Timing: review-due-90, review-due-60, review-due-30, review-overdue, review-overdue-90.
  • State: review-booked, prework-outstanding, review-held, actions-outstanding, review-closed, review-deferred, review-declined.
  • Handling: needs-human-now, support-needs-review, complaint-language-detected, circumstances-change-flagged, two-cycles-missed.
  • Suppression: sms-opted-out, email-unsubscribed. Checked before every send, with service-category email still permitted where the firm has decided it is a service communication.

Forms

  • Annual Review Pre-Work - the main instrument. Factual only: employment and income changes, new or closed accounts and policies, changes to dependants, health or care responsibilities the client chooses to share, changes to plans and timescales, anything they want on the agenda. It explicitly says the adviser will discuss these at the meeting. It does not score anything, rank anything, or return any kind of result to the client.
  • Circumstances Update - a shorter always-on version of the same thing, linked in every client communication, so a client who moves house in March does not wait until November to tell anyone. Submission flags circumstances-change-flagged and notifies the adviser.
  • Agenda Request - one free-text question: what would you most like to get out of this meeting. This single field does more for perceived value than anything else in the build.
  • Review Deferral - internal, captures deferral_reason and deferral_until_date.
  • Review Declined Confirmation - internal, captures declined_reason and triggers a written acknowledgement to the client.
  • Post-Review Feedback - two questions and a comment box, sent after the cycle closes.

BO's role and guardrails

BO runs the scheduling conversation and nothing else. Its job is to get a mutually workable date in the calendar, collect the pre-work, and keep the client informed. It is a calendar and a form, not an adviser.

BO may: explain that the client's annual review is due and what the meeting covers in process terms; offer slots from the owning adviser's live calendar in the formats the client's service tier allows; reschedule and cancel; chase pre-work; confirm who the client will be meeting; take a deferral request and a preferred later date; answer logistics questions about location, duration and format; direct the client to the Circumstances Update form.

BO must never: comment on performance, values, returns or how anything has done; say whether a client is on track, ahead, behind, or should be doing something differently; interpret a change in circumstances or say what it means; suggest a product, contribution level, withdrawal or any action; answer a tax or legal question; or discuss anything from the pre-work beyond confirming it was received. If asked how my investments are doing, the answer is not a number.

Hard handoff triggers, each applying needs-human-now, notifying the owning adviser and removing BO from the conversation: any performance, valuation, returns or on-track question; any should I, can I, is it worth, or what do you recommend; any mention of bereavement, divorce, serious illness, redundancy, care needs or financial difficulty, which also raises support-needs-review; any mention of a complaint, the ombudsman or a regulator; any request to withdraw, transfer, surrender or stop paying; and any request to speak to a person. BO's line: "I only handle the calendar, so I will pass that straight to [adviser_first_name] - they will come back to you. Shall I get your review booked in the meantime?"

If a client submits a pre-work form disclosing a material change, BO does not respond to the content at all. It confirms receipt in neutral terms, flags the record, and the adviser sees it before the meeting.

Numbers and channels

  • Email as the primary channel, sent from the owning adviser's address with their name and photo, because a review invitation from a named person is answered and one from the firm's generic address is not. Replies land on the client record.
  • SMS on a registered messaging number for booking confirmations, reminders and one pre-work nudge per cycle. Opt-out language on the first message of each cycle, keyword handling live.
  • A direct dial for the adviser's team, surfaced in every review communication, so a client who would rather just phone can.
  • Outbound call tasks rather than automated voice for the ninety-day-overdue stage. By that point the client needs a person, not another message.
  • Optional printed letter for clients flagged as preferring post, generated from the same merge fields and logged on the record so the audit trail is complete regardless of channel.
03

How it runs, step by step

One client through one full cycle. Her review_anniversary_date is 14 March and her review_cycle is Annual.

  1. Detection, 90 days out. On 14 December the nightly scan sees next_review_due_date within 90 days, creates an opportunity in Review Due named with her surname and review_cycle_year 2027, applies review-due-90, and adds the cycle to the owning adviser's review dashboard. Nobody had to remember.
  2. Adviser sight-check first. Before anything goes out, a task appears for the adviser: confirm this client is in the right service_tier and the right format, and flag anything the automation should not do. Two minutes per client, and it prevents the one awkward case where a standard invitation is the wrong thing to send.
  3. Invitation, 75 days out. Email from the adviser's own address, subject "Your annual review - let us find a date". It states when her last review was held, what the meeting covers in process terms, the formats available to her, and the booking link. The opportunity moves to Outreach Started.
  4. She books. Nine days later she picks a Video slot for 3 March. The opportunity moves to Review Booked, review_booked_date is written, review-booked applied, the meeting link generated, and the appointment lands on the adviser's connected calendar.
  5. Pre-work out immediately. She gets the Annual Review Pre-Work form and the Agenda Request in one email. prework_status becomes Sent and the opportunity moves to Pre-Work Outstanding.
  6. Pre-work chase. She does not fill it in. At 14 days before, a short email. At 7 days, one SMS. At 3 days, a task for the adviser's administrator to call her. On the call she completes it over the phone and the administrator enters it, which is a perfectly good outcome and the workflow treats it identically.
  7. A change surfaces. In the pre-work she notes that her husband has reduced to three days a week and that her mother has moved in with them. circumstances_changed becomes Change reported, circumstances_change_detail captures her exact words, circumstances-change-flagged is applied, and the adviser is notified the same hour rather than discovering it in the meeting. No automation interprets any of it.
  8. Prep pack. 48 hours before, the adviser gets an internal digest: last review date and summary, the pre-work responses, the agenda request verbatim, the change detail, any open actions from the previous cycle, and a prompt to prepare whatever the firm's process requires for a review of this type. The opportunity moves to Ready for Review.
  9. Reminders. 24 hours before, an email reminder with the meeting link. 2 hours before, an SMS. Both carry a reschedule link and neither is sent inside quiet hours.
  10. The review happens. It is a conversation between a client and a qualified adviser, and the build has no part in it beyond having made it happen on time with the right information to hand. The adviser marks the appointment attended; review_held_date is written and the opportunity moves to Review Held.
  11. Actions captured. The adviser records three follow-up items with a due date into review_actions, which moves the opportunity to Actions Outstanding, applies actions-outstanding, and creates a dated task per item assigned to a named person. The client gets a short written summary of what was agreed and who is doing what, which the adviser approves before it sends.
  12. Evidence filed. The adviser completes the file note and any suitability record the firm requires and sets review_outcome_recorded. The platform writes review_evidence_filed_date. Until both exist the cycle cannot close, and a nagging task sits on the adviser at 7 and 14 days.
  13. Close and reset. With all actions complete and evidence filed, the opportunity moves to Review Closed. last_review_held_date is set to 3 March 2027 and next_review_due_date is recalculated to 14 March 2028 from the anniversary, not from the meeting date, so the cadence does not drift a few weeks later every year. All cycle tags are cleared.
  14. Feedback and the next cycle. A week later she gets the Post-Review Feedback form. Then nothing until 14 December 2027, when the scan picks her up again and the whole thing runs once more. Between times, the Circumstances Update link in her communications means a change in July reaches her adviser in July.
04

Automations in detail

Seven workflows plus the audit sweep. Build the suppression check once as a reusable condition at the head of every one: if sms-opted-out, skip all SMS steps and substitute email; if email-unsubscribed, send only what the firm has classified as a service communication and log the reason; if needs-human-now or complaint-language-detected, halt all automated client-facing sends until a human clears the tag.

1. Review Due Detection and Cycle Creation

Trigger: scheduled, nightly at 02:00.

Condition: next_review_due_date is within 90 days, and no open opportunity exists in Annual Reviews for this contact with the current review_cycle_year.

Actions in order:

  • Create an opportunity in Review Due, named with the contact surname and review_cycle_year. Set the owner to adviser_assigned.
  • Apply review-due-90. Set prework_status to Not sent and circumstances_changed to Not yet asked.
  • Create task "Review sight-check - [contact_name]" for the owning adviser, due in 3 business days, with three checkboxes: service_tier correct, format correct, nothing unusual about this client.
  • Add the cycle to the adviser's weekly review digest.

Branches: if review_cycle is Semi-annual, the window shortens to 45 days and the ladder below compresses proportionally. If deferral_until_date is in the future, do not create a cycle. If review-declined was applied within the last 11 months, create the cycle but start the ladder at the gentler decline-aware copy in workflow 6.

Exit: opportunity created, or a condition blocked it.

2. Invitation Ladder

Trigger: the sight-check task is completed, or 3 business days elapse without it being completed (the ladder must not be blocked by an unworked task, but the adviser is notified that it started without them).

Actions in order, each conditional on the opportunity still being in Review Due or Outreach Started:

  • Touch 1, 75 days out. Email from the adviser's address, subject "Your annual review - shall we find a date?" Body: "Hello [first_name]. Your annual review is due around [review_anniversary_date_month]. Your last one was [last_review_held_date]. It is an hour with me to go through where things stand, anything that has changed for you, and whatever is on your mind. You can pick a time that suits here: [booking_link]. If it is easier to talk it through first, just reply or call [direct_dial]." Move to Outreach Started; apply review-due-90.
  • Touch 2, 60 days out. SMS: "Hi [first_name], [adviser_first_name] here at [firm_name] - your annual review is due. Book a time that suits: [booking_link]. Reply STOP to opt out of texts." Apply review-due-60.
  • Touch 3, 45 days out. Email with the Agenda Request embedded: "Before we find a date - what would you most like to get out of this year's review? Tell me in a line and I will make sure we cover it: [agenda_link]" This touch converts better than any other because it changes the meeting from an obligation into something the client has shaped.
  • Touch 4, 30 days out. Create a call task for the adviser's administrator, respecting preferred_contact_window. Automated sends pause for 5 business days while the task is open. Apply review-due-30.
  • Touch 5, 14 days out. Final written invitation, stating plainly that the review is nearly due and offering three concrete alternatives: book, defer to a specific month, or tell us you would rather not this year. All three are one click.
  • Touch 6, on the due date with nothing booked. Apply review-overdue and hand to workflow 7.

Branches: if support_needs_flag is on, drop SMS entirely, lengthen the gaps, and bring the call task forward to 60 days. If the client replies at any point, move to Contact Made, pause the ladder for 5 business days and task the adviser.

Exit: opportunity reaches Review Booked, Deferred or Declined.

3. Booking Confirmation and Pre-Work Issue

Trigger: appointment booked on any Annual Review calendar.

Actions in order:

  • Move to Review Booked; write review_booked_date; apply review-booked; clear all review-due timing tags.
  • Immediately: confirmation email with date, time, format, duration, location or meeting link, and the adviser's name. Plus SMS: "Confirmed: your review with [adviser_first_name] on [date] at [time], [format]. Reschedule any time: [link]"
  • Wait 10 minutes. Send the Annual Review Pre-Work form and the Agenda Request in one email: "A few questions before we meet - it means we spend the hour on the conversation rather than on paperwork. It takes about ten minutes: [prework_link]" Set prework_status to Sent; move to Pre-Work Outstanding; apply prework-outstanding.
  • Write the appointment to the adviser's connected calendar with the prep pack link in the description.
  • Wait until 24 hours before. Reminder email with the meeting link and the location or dial-in.
  • Wait until 2 hours before. Reminder SMS.

Branches: if the client reschedules, every downstream wait recalculates from the new start time and no duplicate pre-work is issued. If the client cancels without rebooking, return to Contact Made and restart the ladder at touch 4. If marked no-show, send one message offering to rebook and create an adviser call task; two consecutive no-shows stops automated outreach entirely and escalates to the practice manager.

Exit: appointment attended, canceled or no-showed.

4. Pre-Work Chase and Prep Pack

Trigger: opportunity in Pre-Work Outstanding.

Actions in order, all conditional on prework_status not being Complete:

  • 14 days before the appointment: email nudge naming only the sections not yet done. "You are part way through - the last two sections take about four minutes: [prework_link]"
  • 7 days before: one SMS. "Hi [first_name] - the questions before your review on [date] are still open: [prework_link]. Or call us and we will fill it in with you." This is the only pre-work SMS in the cycle.
  • 3 days before: task for the administrator to call and complete it over the phone. Treat a staff-captured response as equivalent; the point is the adviser has the facts, not that the client typed them.
  • On submission at any point: set prework_status to Complete; neutral acknowledgement only. "Thank you - got it. [adviser_first_name] will have read it before you meet." No commentary on the content whatsoever.
  • If any change is reported: set circumstances_changed to Change reported, write circumstances_change_detail verbatim, apply circumstances-change-flagged, and notify the owning adviser within the hour with the client's exact words. If the detail mentions bereavement, illness, divorce, redundancy, care responsibilities or financial difficulty, also apply support-needs-review and route a human task rather than any further automation.
  • 48 hours before the appointment, regardless of pre-work status: generate the internal prep pack and move to Ready for Review. The pack contains last_review_held_date and the previous file note, pre-work responses, the agenda request verbatim, circumstances_change_detail, open actions from the last cycle, and a note of anything the firm's process requires for this service_tier. Internal only, never sent to the client.

Exit: appointment held, or opportunity leaves this stage.

5. Post-Review Close-Out and Evidence Gate

Trigger: appointment marked attended, or adviser moves the opportunity to Review Held.

Actions in order:

  • Write review_held_date; apply review-held; remove prework-outstanding.
  • Create task "File note and outcome - [contact_name] [review_cycle_year]" for the adviser, due in 2 business days. Nagging repeat at 7 and 14 days, with the practice manager copied at 14.
  • Adviser records review_actions and review_actions_due_date. If review_actions is non-empty, move to Actions Outstanding, apply actions-outstanding, and create one dated task per action, each with a named owner.
  • Send the client a written summary of what was agreed and who is doing what, held in draft for adviser approval before it sends. This is the one client-facing message in the build that must never go out unreviewed, because it touches on what was discussed.
  • When the adviser sets review_outcome_recorded, write review_evidence_filed_date = today.
  • Gate condition: the opportunity may move to Review Closed only when review_outcome_recorded is true, review_evidence_filed_date is populated, and every action task is complete. Any of the three missing holds the cycle open.
  • On close: set last_review_held_date = review_held_date; recalculate next_review_due_date from review_anniversary_date plus the review_cycle interval, not from review_held_date, so the cadence does not drift; clear all cycle tags; apply review-closed.
  • Wait 7 days. Send the Post-Review Feedback form.

Exit: Review Closed.

6. Deferral and Decline Handling

Trigger: Review Deferral or Review Declined Confirmation form submitted, or a client reply BO classifies as a deferral or decline request and a human confirms.

Deferral branch:

  • Write deferral_reason and deferral_until_date; move to Deferred; apply review-deferred; stop the invitation ladder.
  • Send confirmation: "No problem, [first_name]. I have made a note to come back to you in [deferral_month]. If anything changes before then, this form reaches me directly: [circumstances_link]"
  • Schedule re-entry: on deferral_until_date minus 21 days, close the deferred opportunity, create a fresh cycle and start the ladder at touch 3.
  • Cap deferrals at two per cycle. A third request escalates to the owning adviser as a service-tier conversation rather than being accepted automatically.

Decline branch:

  • Write declined_date and declined_reason; move to Declined; apply review-declined; stop all further outreach in this cycle.
  • Send a written acknowledgement, and set declined_acknowledgement_sent. Copy: "Thanks for letting me know, [first_name]. I have recorded that you would rather not have a review this year. Your [service_tier] service continues as normal and I will be in touch again around [next_year_month]. If anything changes in the meantime, tell me here: [circumstances_link]." The written acknowledgement is the whole point of this branch: it documents that the review was offered and declined.
  • Notify the owning adviser and add the client to a quarterly declined-clients report for the practice manager.
  • Still create next year's cycle on schedule, starting at touch 1 with decline-aware copy that acknowledges last year's answer.

Exit: re-entry scheduled or next cycle created.

7. Overdue Escalation

Trigger: scheduled daily, scanning opportunities past next_review_due_date with no review_held_date.

Conditions and actions:

  • Day 1 overdue: apply review-overdue; notify the owning adviser with the full contact history for the cycle.
  • Day 30: create a task for the practice manager and add the client to the weekly overdue list. One further written approach to the client, offering a 15 minute Circumstances Check-In as a lower-commitment alternative to a full review.
  • Day 60: adviser call task, marked high priority, with automated client messaging suspended. At this point more messages are not the answer.
  • Day 90: apply review-overdue-90; escalate to whoever owns compliance with the cycle's complete contact log attached, so the firm can decide and document what it is doing about a client it is being paid to review and has not reviewed.
  • Second consecutive cycle missed: apply two-cycles-missed and raise it as an exception requiring a named decision: re-engage, change service_tier, or end the ongoing service arrangement. Never leave it unresolved.

Exit: review held, deferred, declined, or the service arrangement is formally changed.

8. Weekly Compliance Sweep

Trigger: scheduled weekly. Produces internal exception tasks only; this workflow never messages a client.

  • Any contact with a service_tier that includes reviews and next_review_due_date empty - the cadence cannot run at all for these and they are usually a migration gap.
  • Any Review Held opportunity older than 14 days with review_outcome_recorded false.
  • Any Actions Outstanding opportunity with a task past review_actions_due_date.
  • Any Declined record with declined_acknowledgement_sent false.
  • Any Deferred record with deferral_until_date in the past and no re-entry created.
  • Any contact with circumstances-change-flagged and no adviser note within 5 business days.
  • Any contact where last_review_held_date is more than one review_cycle interval plus 90 days old.

Each exception becomes a dated task for a named person, and the sweep output is retained as evidence that the firm checks its own cadence rather than assuming it works.

05

What changes

The first and most concrete change is that the review population becomes a list rather than a feeling. At any moment the firm can show who is due in the next ninety days, who is booked, who is overdue and by how long, who deferred and until when, and who was offered a review and declined. That list is the thing a reviewer, a buyer doing due diligence or a professional indemnity insurer asks for, and most firms cannot produce it.

The second is that reviews stop being distributed by who shouts. A quiet client on the same service tier gets the same invitation on the same schedule as a client who calls monthly. That is both the fairer outcome and the one the firm is being paid for.

The third is that the meeting itself gets better without the adviser working harder. Pre-work in advance, the client's own agenda question answered, last cycle's actions visible, and any change in circumstances already flagged means the hour is spent on the conversation rather than on fact-gathering. Advisers who adopt this consistently report the review feeling like a different meeting, and clients notice being asked what they want from it.

The fourth is that the cycle cannot close quietly without evidence. review_outcome_recorded and review_evidence_filed_date are gates, not reports. If the file note is not done, the review is not closed, and the overdue sweep will keep saying so. That turns record-keeping from an intention into a structural property of the process.

Metrics to watch

  • Review completion rate per cycle - reviews held divided by reviews due, measured per adviser and per service_tier. This is the headline number and the one to report to whoever owns compliance.
  • Median days from due date to review held, and the proportion held within the firm's own stated window.
  • Overdue count and worst-case age, and the count carrying two-cycles-missed, which should be zero and should be treated as an incident when it is not.
  • Invitation to booking conversion, broken down by which touch in the ladder produced the booking. If almost all bookings come from touch four, the first three need rewriting.
  • Pre-work completion rate before the meeting, and the share completed by the client versus captured by staff on a call.
  • Share of reviews where circumstances_changed is Change reported. A suspiciously low number usually means the pre-work is not being asked properly, not that nothing is changing in clients' lives.
  • Days from review held to review_evidence_filed_date - the single best measure of administrative health in the whole build.
  • Open actions past review_actions_due_date, by owner.
  • Declined rate with reasons, watched for clients repeatedly declining, which is a service-tier conversation rather than an admin one.
  • No-show and reschedule rate by format, which usually argues for offering more video and fewer in-person slots than a firm expects.
06

Before you start

Decisions to make before building

  • What anchors the anniversary. Original advice date, ongoing service agreement start, or calendar quarter. Pick one rule, apply it to the whole book, document it, and accept that migrating existing clients onto it will produce an uneven first year. Recalculating from the anniversary rather than from the last meeting is what stops the cadence sliding later every cycle.
  • What each service_tier actually entitles the client to. The automation enforces whatever you define here, and the definition needs to match what the client agreement says, word for word if possible.
  • Your outreach window and ladder. The 90, 75, 60, 45, 30 pattern below is a sensible default, not a rule. What matters is that it is written down and consistent.
  • What constitutes evidence that a review happened. Agree with whoever owns compliance exactly which artefacts must exist before a cycle may close, then make those the gate fields. Do not build the gate before you have that answer.
  • First-year capacity. Turning this on across a whole book surfaces every review that was quietly overdue, all at once. Stage the rollout by anniversary month or by adviser, and decide in advance how the backlog gets worked through.

Integrations and provisioning

  • Two-way calendar connection for every adviser, including travel time for in-person formats. A review offered into a slot that is already gone costs more goodwill than a slow invitation.
  • Video meeting integration generating a unique link per appointment, carried into every reminder.
  • Client data sync from whichever system holds the authoritative client record, so service_tier, adviser_assigned and review_anniversary_date are never maintained twice. Decide which system wins on conflict before go-live.
  • SMS registered before launch. In the United States and Canada that means A2P 10DLC brand and campaign registration describing your use case accurately; it takes days to weeks and unregistered traffic gets filtered, so start it before you build anything. Elsewhere confirm the local registration and sender-ID requirements.
  • Opt-out handling live from day one: STOP and equivalents suppress automatically and write sms-opted-out, and every send checks suppression first. Opt-out language on the first message of each cycle.
  • Quiet hours configured to your jurisdiction and respected by every scheduled send. Reminders scheduled relative to an appointment are the usual place quiet hours get accidentally bypassed, so test that specifically.
  • Email authentication (SPF, DKIM, DMARC) on each adviser's sending domain, and reply routing onto the client record rather than into a personal inbox.
  • Document storage for file notes and review packs, with the retention period set and access limited to those who need it.

Compliance and record-keeping posture

Financial services communication is regulated, and an annual review sits closer to the regulated core than most automations do, because the review is where ongoing suitability is revisited. Three constraints shape the build directly.

  • Suitability is the adviser's job, not the system's. Reassessing whether existing arrangements remain suitable requires a qualified person applying judgment to the client's current circumstances. So the pre-work gathers facts and returns no result; the prep pack is internal; BO handles only the calendar; and no automated message ever tells a client they are on track, behind, or that they should do something. If a message would read differently to a client who was looking for a steer, it is the wrong message.
  • Record-keeping is the point, not a by-product. Where an ongoing fee is charged, the firm generally needs to be able to show that the service was delivered. Build so the file assembles itself: dated invitations, the booking, the pre-work as submitted, the change in circumstances in the client's own words, the file note, the actions and their completion, and the next due date. The review_outcome_recorded and review_evidence_filed_date gates exist so a cycle cannot be marked done without them.
  • Disclosure and clarity. Communications must be clear, fair and not misleading, and must not imply more than the firm is offering. Say what the meeting is, who it is with, what it covers and what the client's service agreement entitles them to. Have BO identify itself as an assistant in its first message. And record declines in writing with an acknowledgement to the client, so the position is documented on both sides.

On data, the pre-work collects personal and sometimes health or family information. Decide your lawful basis, your retention period, who can see a prep pack, and how the free-text change detail is handled, before the first form goes out. Keep the distinction between a service communication about an agreement the client pays for and a marketing communication explicit in your fields, so suppression behaves correctly and you can explain why a review invitation was sent to someone who had opted out of marketing.

What binds your firm depends on your jurisdiction, your permissions and your client agreements, and it changes. None of the above is regulatory or legal advice. Take the stage gates, the message templates, the BO guardrails, the consent and suppression logic and the retention settings to your own compliance function or legal counsel, get them signed off, and keep a record of that sign-off. Re-review the templates whenever your service proposition or fee structure changes.

To scope this build for your firm, 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