> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://poly-ai.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://poly-ai.ferndocs.com/_mcp/server.

# Temporary closures

> Close your agent early or play a closure message for same-day schedule changes.

Handle same-day schedule changes like closing early, holidays, or emergency closures. Choose the approach that matches your agent's current setup.

## Quick reference

| I need to...                               | Best approach                                            | Time estimate |
| ------------------------------------------ | -------------------------------------------------------- | ------------- |
| Play a closure message (no routing change) | [Managed Topic](#option-1-managed-topic)                 | 5 min         |
| Toggle after-hours mode on/off             | [Configuration Builder](#option-2-configuration-builder) | 2 min         |
| Redirect calls to a different number       | [Call handoff](#option-3-update-call-handoff-routing)    | 10 min        |

## Option 1: Managed Topic

**Best for:** Playing a closure message without changing call routing. No developer setup required.

#### Create or update a topic

Go to **Knowledge > FAQs**. Create a new topic or find an existing one related to hours or closures.

* **Name:** `Temporary closure`
* **Sample questions:** "Are you open?", "What are your hours?", "Can I speak to someone?"
* **Content:** "We're currently closed and will reopen at our normal time tomorrow. Please call back then."
* **Actions:** Leave empty (info only) or add a handoff if you want to transfer the caller.

#### Activate the topic in Live

Make sure the topic is active in the **Live** environment. If you have an existing opening hours topic, consider deactivating it temporarily so the closure topic takes priority.

#### Test in Sandbox

Use **Agent Chat** in Sandbox to confirm the agent responds with your closure message.

#### Publish and promote

Publish your changes, then promote to **Pre-release** and **Live**.

#### Revert when done

Deactivate the closure topic and reactivate your normal hours topic. Publish and promote again.

> **Note**
>
> This approach changes what the agent **says**, but does not change call routing. The agent will still answer calls and have a conversation. If you need to hang up or transfer after the message, use one of the other options below.

## Option 2: Configuration Builder

**Best for:** Toggling after-hours mode on and off instantly. Requires a developer to set up the schema first (one-time setup).

> **Info**
>
> If your agent already has after-hours fields in the Configuration Builder, skip to [step 2](#flip-the-toggle).

### One-time setup (developer required)

A developer needs to add an after-hours toggle to the Configuration Builder schema and wire it into the agent's code. See [Configuration Builder](/agent-studio/real-time-config/overview) for the full guide.

Example schema fields:

```json
{
  "after_hours_enabled": {
    "type": "boolean",
    "title": "After hours mode",
    "description": "Enable to play the after-hours message and skip normal conversation"
  },
  "after_hours_message": {
    "type": "string",
    "title": "After hours message",
    "description": "Message to play when after-hours mode is on"
  }
}
```

Example function code:

```python
config = conv.real_time_config
if config.get("after_hours_enabled"):
    message = config.get("after_hours_message", "We're currently closed.")
    conv.call_handoff(
        destination="after_hours",
        utterance=message
    )
    return
```

### Flip the toggle

#### Open Configuration Builder

Go to **Real-time config > Data** tab.

#### Select the Live environment

Switch to the **Live** tab. Changes here take effect immediately — no publish required.

#### Enable after-hours mode

Toggle **After hours mode** on and enter your closure message (e.g., "We're closing early today. Please call back tomorrow.").

#### Save

Click **Save**. The change is live immediately.

#### Revert when done

Toggle **After hours mode** off and save. Normal behavior resumes instantly.

> **Warning**
>
> Configuration Builder changes in Live affect all active calls instantly. Double-check your values before saving.

## Option 3: Update call handoff routing

**Best for:** Redirecting all calls to a different number or voicemail during the closure.

#### Open Call handoffs

Go to **Voice > Handoffs**.

#### Edit the after-hours destination

Find the handoff destination used for after-hours or the default handoff. Update the **Route** to point to the closure number or voicemail.

#### Test in Sandbox

Call the Sandbox number and trigger a transfer to verify it routes correctly.

#### Publish and promote

Publish and promote to Live.

#### Revert when done

Change the route back to the original number. Publish and promote again.

For detailed steps, see [Routing and handoffs](/academy/maintain/routing-and-handoffs).

## Which option should I use?

| Situation                                      | Recommended option                                                                            |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Quick same-day closure, no developer available | [Managed Topic](#option-1-managed-topic)                                                      |
| Recurring closures (holidays, early Fridays)   | [Configuration Builder](#option-2-configuration-builder)                                      |
| Need to redirect calls to another team         | [Call handoff](#option-3-update-call-handoff-routing)                                         |
| Need the agent to hang up after the message    | [Configuration Builder](#option-2-configuration-builder) (with `conv.call_handoff()` in code) |

## Related pages

* [FAQs](/agent-studio/knowledge/fa-qs/fa-qs) - Create and manage agent knowledge
* [Configuration Builder](/agent-studio/real-time-config/overview) - Real-time configuration without publishing
* [Routing and handoffs](/academy/maintain/routing-and-handoffs) - Update handoff destinations
* [Environments](/agent-studio/deployments/overview) - Publish and promote changes