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

# Deploy

> Connect an agent to phone numbers, website widgets, and WhatsApp.

**Deploy** connects an agent to the channels and addresses where customers reach it. In Agent
Studio, it has three sub-tabs: **Routing**, **Widget**, and **WhatsApp**.

<Note>
  Saving an agent configuration makes the saved version active; there is no separate publish
  step. Test the agent before assigning a live customer-facing number or copying its widget
  script to production.
</Note>

## Routing

### Inbound Number

Choose the phone number that should route incoming calls to this agent. One inbound number can
route to only one agent; numbers assigned to another agent are shown as locked.

The number must already be available in the workspace through a connected telephony provider.
For VoBiz setup and number import, see [VoBiz](/integrations/vobiz).

### Outbound From Number

Choose the default number that should appear in the `From` field when this agent places an
outbound call. Multiple agents can share the same outbound number, and an individual call can
override the default.

The default outbound number is useful for the [Call test](/test/overview), outbound calls, and
batch calling. Use an E.164 number, such as `+919876543210`, when a call form asks for a number.

### Fallback Message

Configure the inbound fallback message for cases where the agent cannot continue handling the
call. The message is also the place to prepare customer-facing copy for future availability
rules.

**Business Hours** is visible in the current Studio but is marked **Coming soon** and is not
editable yet. Do not rely on it to block or accept calls by schedule.

## Widget

The website widget supports browser **Chat** and **Talk**. Vocily prepares one widget for an
agent; configure it in **Deploy → Widget**, then copy the generated **Embed script** and paste it
before the closing `</body>` tag on the allowed website.

### Required setup

1. Add the exact website origin under **Allowed origins**, such as `https://www.example.com`.
2. Enable **Chat**, **Talk**, or both.
3. Configure the title, subtitle, launcher label, and optional widget icon.
4. Copy the embed script and add it to the page.
5. Use **Show preview** and test both the conversation and the origin restriction.

Only pages from an allowed origin can open the widget. Add every website origin where the widget
will appear, including separate origins for testing and production if you use both. Widget
sessions expire after 60 minutes, and a disabled or revoked widget cannot start new sessions.

### Appearance and handoff

The widget can show the agent's inbound phone number on its choice screen when one is assigned.
Advanced appearance controls include position, rounded or soft-square shape, accent and message
colors, panel and message radii, icon size, and panel dimensions.

If the Talk experience should offer a phone alternative, enable **Show inbound number** and make
sure Routing has an inbound number assigned.

## WhatsApp

The WhatsApp sub-tab assigns an agent to a connected WhatsApp Business number and tunes its
per-reply behavior. Connect the WhatsApp Business Account from the workspace WhatsApp area first;
then return to the agent's Deploy tab. See [WhatsApp overview](/whatsapp/overview) for the full
connection flow.

### Assign a number

An agent can be assigned to at most one WhatsApp number, and a WhatsApp number can serve at most
one agent. Numbers assigned to another agent or marked inactive cannot be selected.

Inbound messages on the assigned number route to this agent. Changing the assignment takes effect
as a separate number operation; confirm the success message before testing an inbound message.

### Set WhatsApp context

**Messages sent to LLM per reply** controls how many previous customer-and-agent turns the model
sees for each WhatsApp response. The current range is `3` to `25`, with a default of `7`.

* Raise it when a long conversation needs more context.
* Lower it when you want faster, cheaper replies and the flow is short.

### Configure inbound media

The agent-level **Inbound media policy** controls five Meta media types:

* Image
* Video
* Audio
* Document
* Sticker

At least one type must remain enabled. When no agent override is present, all five types are
allowed and the WABA-level policy is used as the fallback.

For a disabled type, optionally write **Custom reply when an unsupported media type arrives**.
Leave it blank to drop the message silently. A custom free-text reply can be delivered only
inside Meta's 24-hour customer-service window; outside that window the media is dropped without a
reply.

## Go live safely

Use this order for a new deployment:

1. Finish [Agent Core](/building-agents/agent-core), [Intelligence](/building-agents/intelligence),
   [Voice](/building-agents/voice), and [Runtime](/building-agents/runtime).
2. Add the required [Capabilities](/building-agents/capabilities).
3. Run [Chat, Talk, and Call tests](/test/overview).
4. Configure one Deploy channel at a time.
5. Review the first live records in [Conversation History](/conversations/history).
