After-hours voicemail flow
When the office is closed, the agent takes a short, structured voicemail, then a workflow follows up by SMS the next morning with a link the caller can use to book themselves. Every overnight call becomes a tracked lead instead of a missed opportunity — and your team doesn't wake up to a queue of voicemails to triage.
This recipe pairs nicely with the 24/7 phone receptionist — together they cover the whole 24-hour cycle: live booking during business hours, structured voicemail + SMS rebook outside them.
What you'll build
- A voice assistant with two modes (live answer / voicemail) gated on time of day.
- A phone widget on Twilio, Plivo, or Telnyx.
- A workflow that fires on
inbound_call, branches on business hours, and either lets the call through or runs a short voicemail script. - A second workflow that fires on
booking_missedand sends a rebooking SMS the next morning.
Step 1 — Set up the live-hours assistant
Use the same assistant you built in the 24/7 receptionist recipe. If you haven't built one yet, do Steps 1–3 of that recipe first. We'll layer the after-hours behavior on top.
Step 2 — Add a voicemail-mode prompt
Either clone your live-hours assistant into a second one, or use a single assistant with a system prompt that branches on context. Cloning is simpler:
-
Duplicate the live assistant.
-
Replace the system prompt with a short voicemail script:
You're the after-hours line for Greenview Dental. The office is closed. Greet briefly, take the caller's name, callback number, and a 1–2 sentence reason for the call. Confirm the details back, then thank them and let them know the front desk will follow up first thing tomorrow.
Keep it under 60 seconds total. Don't try to book — just capture the request.
-
Attach a short form with
caller_name,callback_number,reason. Map fields to the contact record so each voicemail becomes a contact in Outreach → Contacts.
Step 3 — Build the inbound-call routing workflow
This workflow decides which assistant handles each incoming call based on time.
- Automation → Workflows → Add workflow.
- Trigger:
inbound_call. - First node:
if_time— set your business hours (e.g. Mon–Fri 9am–6pm America/New_York). - Inside the true branch (during hours): no further action — the call routes to the live-hours assistant configured on the widget.
- Inside the false branch (after hours): use
forward_call(or assistant routing) to direct the call to the voicemail assistant from Step 2.
If your version of the platform handles assistant selection at the
widget level rather than mid-call, configure the phone widget with the
voicemail assistant by default and use forward_call to bridge to a
live answering service or to the receptionist assistant during business
hours instead.
Step 4 — Build the morning rebook workflow
Voicemails captured overnight should turn into outbound rebooking SMS the next morning at, say, 9am.
- Automation → Workflows → Add workflow.
- Trigger: conversation closed with the voicemail assistant
from Step 2 (alternatively, fire on
booking_missedif you've marked these conversations that way via intent). - Add nodes:
wait— until 9am the next business morning.send_smsto{{contact.callback_number}}:"Hi
{{contact.first_name}}, thanks for calling Greenview Dental last night. Book a slot here:https://greenview.example/book?ref={{conversation.id}}. Reply with a time that works if you'd prefer we call you back."
- Save and enable.
Step 5 — Test it
- Outside business hours (or temporarily set
if_timeto a window that excludes "now"), call the number from your own phone. - Confirm you reach the voicemail assistant. Leave name, callback number, and a reason.
- Check Outreach → Contacts — your voicemail should appear as a new contact with the form fields populated.
- Check Engagements → Conversations — the call transcript and captured form should be visible.
- The morning SMS will fire on schedule. To test immediately, lower
the
waitvalue temporarily.
What to do next
- Add an emergency override — use
Intents to detect words like
"emergency", "urgent", "bleeding" in the voicemail and trigger a
forward_callto your on-call number instead of taking a message. - Loop in your team — add a
call_webhookto your team's Slack channel as soon as a voicemail is captured, so urgent ones are visible immediately. - Different hours per channel — clone the workflow with
different
if_timewindows for different phone numbers (e.g. weekday line vs. weekend overflow line).