> ## Documentation Index
> Fetch the complete documentation index at: https://docs.haloagents.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Scheduling

> Let your support agent offer customers a meeting with your team — booked right in the chat — when they ask to talk to someone or when a conversation is escalated, for exactly the customers you choose.

## What scheduling does

Some conversations are better finished on a call: an onboarding walkthrough, a screen-share with a frustrated enterprise customer, a success review. **Scheduling** lets a support agent offer a meeting inline in the chat, the same way the [sales agent](https://docs.haloagents.ai/agents/sales-agent.md) books demos:

* a **Calendly event type** or an **Orbit scheduling page** renders as a booking calendar inside the chat (any other booking link opens in a new tab);
* the customer picks a time without leaving the conversation, and the booking lands on their contact through the [Calendly](https://docs.haloagents.ai/integrations/calendly.md) or Orbit integration;
* **audience rules** decide which customers are offered which meeting, so a 30-minute call with an account manager can be reserved for your Enterprise plan while everyone else keeps chatting with the AI.

Configure it per agent at **AI Agents > \[Your support agent] > Configure > Scheduling**.

## Setup

**1. Turn Scheduling on**

Flip the **Scheduling** switch on the support agent's Configure tab.

**2. Choose when the meeting is offered**

* **Offer in the chat** — the agent gets a `showBookingPage` tool and offers the meeting when a customer asks to talk to someone, wants a call or screen-share, asks to schedule time, or when a live session would clearly resolve the issue faster.
* **Offer on escalation** — when the conversation is [escalated](https://docs.haloagents.ai/agents/escalation.md) to your team, the booking card appears right after the ticket confirmation.

Turn on either or both.

**3. Add the meetings**

Under **Meetings**, click **Add meeting** and pick a Calendly event type (from your connected Calendly account, or paste a scheduling link) or an Orbit scheduling page (from your connected Orbit account, or paste its `https://orbitforms.ai/s/...` link). Give each one a label; it is the card title the customer sees.

**4. Decide who is offered a meeting**

Under **Who is offered a meeting**, add rules: *customers where plan is Enterprise → offer the account-manager call*. Rules use the same contact and company filters as segments and escalation, run top to bottom, and the first match wins.

**Everyone else** is the meeting for customers who match no rule. Leave it on **No meeting** to offer meetings only to the segments in your rules.

> [!TIP]
>
> The simplest setup is one meeting with no rules and **Everyone else** set to that meeting: every customer who asks for a call, or whose conversation is escalated, is offered it. Add rules later when you want to reserve a meeting for a plan or segment.

## How it behaves

| Moment | What happens |
| - | - |
| A customer asks to talk to someone | With **Offer in the chat** on, the agent calls `showBookingPage`. Your rules pick the meeting for this customer and the booking calendar appears as a card. If no rule matches and there is no "everyone else" meeting, the tool tells the agent that nothing applies and it keeps helping in the chat. |
| The conversation is escalated | With **Offer on escalation** on, the widget asks the server which meeting this customer gets and shows it right after the "ticket created" confirmation, once per conversation. Customers outside your rules see nothing extra. |
| The customer books | The card shows a confirmation. With Calendly or Orbit connected, the meeting lands on the contact's timeline and in the conversation, and fires the integration's series and workflow triggers. |

The rules never leave the server: the widget only learns whether scheduling is on and which page to show this visitor. Anonymous visitors with nothing to match on only ever get the "everyone else" meeting.

## Scheduling and escalation together

Both can be on. The agent is told that an escalation shows the booking card automatically, so it doesn't add a second one; it may still invite the customer to pick a time. If you only want meetings as a safety net for the team, keep **Offer in the chat** off and **Offer on escalation** on.

## Where to go next

> **[Escalation](https://docs.haloagents.ai/agents/escalation.md)**
>
> When the agent hands a conversation to your team.

> **[Calendly](https://docs.haloagents.ai/integrations/calendly.md)**
>
> Connect Calendly so event types are pickable and bookings sync.

> **[Sales agent](https://docs.haloagents.ai/agents/sales-agent.md)**
>
> The sales agent's demo booking and scheduling routing.

> **[Views and segments](https://docs.haloagents.ai/inbox/views-and-segments.md)**
>
> The filters scheduling rules are built from.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.