Every inquiry that lands after closing gets answered, qualified and booked overnight, so the morning starts with a calendar instead of a backlog.
Bring your stack to a call and we will scope it against how your business actually runs.
Book a callMost businesses answer inquiries from roughly nine to five and quietly lose everything else. The call that comes in at 7:10pm, the web form submitted at 11:40pm on a Sunday, the text sent in the forty minutes between the last person locking up and the voicemail greeting being checked the next morning. None of these are smaller or less serious than daytime inquiries. They are often larger, because somebody contacting a business outside its own working hours is usually doing it after finishing their own working day, which means they have stopped browsing and started deciding.
The failure is mechanical rather than attitudinal. A missed call rolls to voicemail. The voicemail is not checked until 9:40 the next morning, after the opening rush. By then the caller has already rung two competitors, and whichever one answered gets the job. A web form drops into an inbox that nobody opens until mid-morning, so the first human reply arrives twelve hours after the inquiry. Long past the window in which a reply still feels like service rather than an interruption. Nothing was handled badly. It simply was not handled at all for twelve hours, and the market does not wait twelve hours.
Money leaks in three identifiable places. First, in response latency: inquiries that get no acknowledgement for hours convert at a fraction of the rate of those acknowledged immediately, and that gap is pure loss because the lead was already paid for. Second, in attribution damage: when overnight inquiries never reach the pipeline, paid channels running twenty-four hours a day look worse than they are, so budget gets cut on the strength of a reporting artefact. Third, in quiet attrition of reputation: a caller who reaches a dead voicemail twice stops calling, and that decision is never recorded anywhere. This build closes all three by making the business behave, between closing and opening, as if somebody competent is awake.
A single pipeline named After-Hours Inquiries, which hands qualified leads across to the day pipeline each morning. Stages in order:
Create these on the contact record. The names matter because every workflow condition below references them.
BO is the AI assistant that owns the conversation between closing and opening. BO's job is to acknowledge, understand, qualify, and either book or queue. BO is not a salesperson and not an adviser.
Trigger: a call to the business number ends without being answered.
Conditions and branches: first check the business-hours definition against the call timestamp. If the call is inside business hours, exit immediately: daytime missed calls belong to a different, shorter workflow. If outside, check whether the contact carries sms-opted-out; if yes, skip all SMS steps and create the record silently for the morning list.
Actions in order:
Stop and exit conditions: any inbound reply exits this workflow and starts Workflow 3. Opt-out language exits and triggers Workflow 8. A successful answered callback from the business exits the workflow. Hard exit if the contact reaches Booked Overnight by any route.
Trigger: the After-Hours Inquiry form is submitted, or a web chat conversation is started, while outside business hours.
Conditions and branches: branch on channel. Form submissions get an immediate SMS plus email because a phone number was captured. Chat conversations stay in chat until a number is offered, since forcing a channel switch mid-sentence loses people. If no mobile was captured on either, branch to email-only and skip every SMS step without erroring.
Actions in order:
Stop and exit conditions: exit on any reply, on booking, or on opt-out. Exit if the contact already has an open thread from a call in the previous two hours, so one person contacting twice does not get two parallel conversations.
Trigger: an inbound reply arrives on an after-hours thread, on SMS, web chat, or social message.
Conditions and branches: the first branch is always urgency. Scan the inbound text against the urgency keyword list before BO composes anything; a match routes to Workflow 4 and this workflow stops. Second branch: if the message contains pricing language, BO does not answer it, and moves straight to offering a booked call. Third branch: if the message mentions an existing order, account, or complaint, BO collects nothing further and routes to Needs Human AM.
Actions in order:
Stop and exit conditions: urgency match, opt-out, booking confirmed, four-exchange ceiling reached, or the business day opening. At opening time BO stops composing new messages entirely and every live thread transfers to the day team.
Trigger: an inbound overnight message matches the urgency keyword list, or the Urgency Triage form marks an inquiry urgent.
Conditions and branches: maintain the keyword list as a named list, not inline, so it can be edited without touching the workflow. Branch on severity: a distress or safety match routes immediately to the on-call human with no automated reply beyond directing the person to the appropriate emergency service. A commercial urgency match (a deadline, a failure, a time-bound loss) routes to on-call with context. Check the On-Call Escalation calendar for who is reachable; if nobody is on-call this week, fall back to a named default and flag the gap in the morning digest.
Actions in order:
Stop and exit conditions: the assigned task completing, or an outbound call to the contact being logged. BO never resumes a thread that reached this workflow; it stays with people. Safety matches never receive a nurture or marketing message afterwards.
Trigger: an appointment is created on Next-Day Consultation while outside business hours.
Conditions and branches: branch on how soon the appointment is. If it is less than fourteen hours away, compress the reminder sequence to a single morning message, because a full reminder ladder does not fit. If more than fourteen hours, run the standard ladder. Branch on channel preference: email-only contacts get the same content without SMS.
Actions in order:
Stop and exit conditions: appointment marked as attended, canceled, or no-show. All steps stop on opt-out except the final transactional reminder for an appointment the person has already confirmed.
Trigger: any outbound non-transactional message is about to send while inside the defined quiet-hours window.
Conditions and branches: define quiet hours explicitly in the contact's own time zone, not the business's, and define them conservatively. Branch on message class. Transactional messages. A confirmation of something the person just did, a reminder for an appointment they booked, a reply inside a conversation they are actively having: send regardless. Promotional and nurture messages (anything the person did not just ask for) are held. An actively running conversation is not quiet-hours restricted; replying to someone who is texting you at 1am is service, not intrusion.
Actions in order:
Stop and exit conditions: discard any queued message if the contact replies before release, opts out, or books, since all three make the queued message obsolete. Discard anything held for more than eighteen hours rather than sending it stale.
Trigger: scheduled, 7:30am local, every day the business opens.
Conditions and branches: if zero overnight contacts, send a single line confirming nothing came in. An absent digest is indistinguishable from a broken digest. If any contact sits in Urgent Escalated unhandled, send that as a separate alert before the digest rather than buried inside it.
Actions in order:
Stop and exit conditions: runs once per business morning and ends. Does not run on days the business is closed; those inquiries roll into the next opening digest instead of vanishing.
Trigger: any inbound message containing opt-out language, on any channel.
Conditions and branches: match on a maintained list of opt-out terms and their obvious variants and misspellings, not on exact-match keywords alone. Branch on scope: a message asking to stop texts suppresses SMS only; a message asking to be removed entirely suppresses every channel. Separately branch on ambiguity. A message like “stop calling me in the evenings” is a preference, not an opt-out, and should route to a human rather than being processed as either.
Actions in order:
Stop and exit conditions: terminal. Nothing in this build re-enrolls an opted-out contact. Re-entry requires fresh opt-in captured on a form that states what the person is agreeing to receive, and that opt-in event is stamped on the record.
Afterwards, the business has no dead hours. An inquiry at 9pm gets an acknowledgement in under a minute, a real conversation if the person wants one, and frequently an appointment on the next day's calendar: all without anybody being on shift. The morning changes character completely: instead of opening a voicemail box and an inbox and reconstructing what happened overnight, the day team opens a digest that is already triaged, with the urgent items at the top and the booked appointments already confirmed.
The second change is less obvious and more valuable. Overnight demand becomes visible. Most businesses have no idea how much inquiry volume arrives outside their hours, because the inquiries that were never captured were never counted. Once every overnight contact carries the after-hours tag, the volume is measurable, and decisions about staffing, hours, and paid media budget stop being guesses.
Metrics to watch, weekly:
None of the above is legal advice. Messaging rules, consent standards, and data-protection obligations vary by jurisdiction and by industry, and they change. Confirm the specifics: registration requirements, consent wording, quiet-hour windows, and retention periods: with the client's own counsel before going live. To scope a build for a specific business, book a call at bookings.appbo.io.
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