Guides
A step-by-step guide to routing inbound calls by time of day, building a dedicated after-hours AI agent, configuring SMS follow-up, and alerting your team to urgent leads — so no caller waits until morning.
Last updated
A home services company runs ads all day. By 6 PM, the office closes. By 6:02 PM, a homeowner searches "emergency plumber near me," fills out a form, and calls the number on the website. Nobody picks up. The lead calls the next company on the list. That pattern repeats thousands of times a night across insurance agencies, dental offices, law firms, real estate brokerages, and every other business that closes before its customers stop looking.
According to Ruby Newell-Legner's research, it takes twelve positive experiences to make up for one unresolved negative experience — and a missed call is the most common unresolved experience in high-consideration buying. This guide walks through exactly how to set up AI voiceAI voiceAn artificially generated, natural-sounding voice produced by a TTS model. Thoughtly supports a library of AI voices and brand-specific cloning. agents in Thoughtly to answer, qualify, and route after-hours calls so no lead sits in voicemail until morning.
Before opening the Agent Builder, decide what your after-hours experience should accomplish. Most teams fall into one of three patterns:
| Pattern | When to Use | Example |
|---|---|---|
| Qualify and schedule | You can book appointments outside business hours | Dental office: agent collects reason for visit, insurance info, and books the next available slot |
| Qualify and notify | Only humans can close or schedule | Insurance agency: agent qualifies intent, captures contact info, and sends an urgent Slack alert to the on-call rep |
| Message and follow-up | Volume is low or calls are mostly informational | Law firm: agent takes a detailed message and triggers an SMS confirmation to the caller with expected callback time |
Pick the pattern that matches your operation. The steps below cover the qualify-and-notify flow in detail, which is the most common starting point for teams handling high-consideration leads. The same mechanics apply to the other patterns with minor adjustments.
Create a new agent in the Thoughtly Agent Builder dedicated to after-hours calls. A separate agent keeps your after-hours logic, tone, and voicemail handling isolated from your daytime flow.
In Settings → Advanced prompt, set the agent persona for after-hours interactions. Keep it short — three to six lines — and focused on tone and boundaries, not navigation logic.
You are a friendly, professional after-hours assistant for [Company Name].
Our office is currently closed. Your job is to help the caller with
basic questions, collect their information, and let them know when
someone will follow up. Be warm but efficient. Do not make promises
about pricing, coverage, or eligibility — only a licensed representative
can do that during business hours.Your after-hours agent flow follows this pattern:
In your after-hours agent's Settings → Voicemail section, enable voicemail detection. This handles the edge case where your after-hours agent is making a scheduled callback and reaches voicemail. Keep the message under 20 seconds, include a callback number, and avoid sensitive details.
This is the core of after-hours handling. Thoughtly's Route inbound callers by time of day promptbook describes the recommended pattern: use a triage agent that checks the current time and transfers the caller to the correct downstream agent.
Build a lightweight triage agent whose only job is to determine the time and route the call. This agent sits on your inbound phone number and forwards callers to either your business-hours agent or your after-hours agent.
Example rules for a business that operates Monday–Friday, 8 AM–6 PM Eastern:
Outcome A: "Business hours"
Rule: current_hour >= 8 AND current_hour < 18 AND day_of_week NOT IN (Saturday, Sunday)
→ Transfer node → Agent Transfer → [Business-Hours Agent]
Outcome B: "After hours" (Else/Default)
→ Transfer node → Agent Transfer → [After-Hours Agent]Each branch ends with a Transfer node set to Agent Transfer mode. Select the target agent from your account. The optional pre-transfer description lets you customize what the caller hears — for example, "Connecting you with our team now" for business hours, or "Let me connect you with our after-hours assistant" for the evening flow.
Important: Transfer node content is spoken exactly as written. Proofread it before publishing the agent. Transfer nodes also require a minimum of 80 characters.
After-hours callers are anxious — they want confirmation that someone heard them. An automated SMS sent immediately after the call provides that reassurance without requiring a human to wake up.
In your after-hours agent's post-call automation (using the On Call Completed trigger), add a Send SMS action that fires when the call ends. A good after-hours SMS includes:
For a deeper walkthrough on SMS follow-up timing and consent, see How to Use SMS After a Missed Call Without Annoying Prospects.
Not every after-hours call can wait until morning. A caller who says "I need to file a claim tonight" or "there's water coming through my ceiling" needs escalation.
Use the On Call Completed trigger in Automations to build a post-call workflowWorkflowAn automated, multi-step process — usually triggered by an event (form fill, new lead) and orchestrating one or more voice / SMS / email actions. that evaluates urgency:
If your team has on-call staff, you can route urgent calls directly using a Transfer node with Phone Router mode — sending the caller to the on-call rep's number with full context from the early summary. For details on passing call context during transfers, see How to Set Up Warm Transfers with Context Using Thoughtly.
After-hours handling isn't only about inbound calls. If your team runs outbound campaigns or automated follow-up sequences, you need to prevent those from firing during quiet hours.
Thoughtly's Dark Windows feature lets you block outbound calls, SMS, and other channels during specified windows. Configure dark windows in Settings → Campaigns → Dark Windows:
Dark windows are evaluated against your workspace timezone by default. If you contact people across multiple regions, verify which timezone your workspace uses before scaling outbound workflows. Pair dark windows with your consent and suppression list settings for full compliance coverage.
After deploying your after-hours flow, track these metrics to confirm it's working:
| Metric | What to Measure | Target |
|---|---|---|
| After-hours answer rate | % of after-hours inbound calls answered by the AI agent | > 95% |
| Qualification completion rate | % of after-hours calls where the agent collects name, number, and reason | > 80% |
| SMS confirmation delivery | % of after-hours callers who receive a follow-up SMS | > 90% |
| Morning callback time | Average time between office open and first callback to after-hours leads | < 30 minutes |
| After-hours lead conversion | % of after-hours leads that convert to appointments or sales | Track vs. business-hours baseline |
| Escalation accuracy | % of urgent after-hours leads correctly flagged and routed | > 90% |
Use the On Call Completed automation trigger to push call outcomes, disposition tags, and variables to your CRMCRMThe system of record for leads, contacts, deals, and activity. Thoughtly reads from and writes to your CRM continuously. or analytics platform. Thoughtly's built-in disposition tagging can automatically classify calls as "Qualified lead," "Left voicemail," "No answer," or "Request callback" — use these tags to segment after-hours performance from daytime metrics.
Yes. Assign your inbound phone number to the triage agent described in Step 3. The triage agent checks the time and transfers the caller to the appropriate downstream agent. You don't need separate numbers — one number, one triage agent, and two downstream agents handle the split.
The Get Current Time action respects the timezone you configure. Set it to your business's primary timezone (e.g., America/New_York) and it will account for DST automatically. Always include an Else/Default outcome in your rule-based routing to catch any unexpected edge case — routing to the after-hours agent as default is the safest fallback.
Add holiday dates to your rule-based outcomes as additional conditions. For example, check if the current date matches a holiday list and route directly to the after-hours agent. You can maintain the holiday list as a Genius knowledge base entry or pass it via metadata from an automation that checks a calendar integration.
Yes, if you connect a scheduling integration like Calendly, Cal.com, or Acuity Scheduling. Add a scheduling action to your after-hours agent's flow, and it can check availability and book slots in real time. This turns the qualify-and-notify pattern into a qualify-and-schedule pattern with no human in the loop.
An AI receptionist handles all inbound calls — daytime and after-hours — with a single agent flow. After-hours routing adds a time-based split so you can use different agents, tones, qualification logic, and escalation rules depending on when the call comes in. Many teams start with a receptionist agent (see How to Build an AI Receptionist with Thoughtly) and then add after-hours routing as call volume grows.