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

# Agent types

> Learn about the three Nedzo agent types: voice agents for phone calls, chat agents for SMS and social messaging, and web agents for your website.

Nedzo supports three agent types, each designed for a different channel. All agent types share the same prompt, actions, and knowledge base configuration — the differences are in how they communicate.

## Voice agents

Voice agents handle phone calls using AI. They can make outbound calls or answer incoming ones.

### Call direction

* **Outbound** — The agent makes calls to your contacts. Used for lead qualification, appointment reminders, follow-ups, and outreach campaigns.
* **Inbound** — The agent answers incoming calls. Used for customer support, reception, and intake.

You can change the direction at any time from the agent's **Prompt** tab.

### Phone number assignment

Voice agents need a phone number to make or receive calls. Assign one from the **Settings** tab under **Telephony**.

**Purchased numbers** — Phone numbers you own in your workspace. Both inbound and outbound agents can use these. Each inbound agent needs its own number — two inbound agents can't share the same number.

Every new account starts with one free US number, assigned automatically at signup, so an agent has something to use straight away. Buying additional numbers requires a paid plan — see [buying phone numbers on a trial](/billing/managing-your-subscription#buying-phone-numbers-on-a-trial).

Some countries require a regulatory bundle before you can purchase a number. When buying a number for one of these countries, you'll see a prompt to create a regulatory bundle first, with a button that takes you to the Trust Center with the country pre-filled.

**Verified Caller IDs** — Numbers you've verified for outbound use only. Useful when you want calls to show your existing business number. Not available for inbound agents.

### Call settings

| Setting           | Range    | Default | Description                                                |
| ----------------- | -------- | ------- | ---------------------------------------------------------- |
| Max call duration | 1–60 min | 30 min  | The call ends automatically after this time                |
| Ring duration     | 1–60 sec | 30 sec  | How long to ring before marking as "No Answer"             |
| Background sound  | On/Off   | On      | Plays subtle office ambience to make the call feel natural |

### Voicemail

Enable voicemail detection from the **Settings** tab. When turned on:

* The agent detects when a call goes to voicemail
* It leaves your configured voicemail message
* The call is logged with a "Voicemail" disposition

You can customize the voicemail message. The default is: *"Hi, could you please call me back?"*

### HIPAA compliance

Enterprise plans can enable HIPAA compliance mode. When enabled, call recordings, transcriptions, and logs are not stored. This is configured in the **Settings** tab under **Security & Compliance**.

***

## Chat agents

Chat agents handle text-based conversations across multiple messaging channels. They respond automatically and show all conversations in Unibox.

### Channels

Enable the channels you want from the **Settings** tab under **Channels**.

| Channel   | Status      | Description                                       |
| --------- | ----------- | ------------------------------------------------- |
| SMS       | Available   | Responds to incoming text messages                |
| Instagram | Available   | Responds to Instagram DMs                         |
| Messenger | Available   | Responds to Facebook Page messages                |
| Email     | Available   | Responds to inbound emails on a per-agent address |
| WhatsApp  | Coming soon | —                                                 |

**SMS** — Select a phone number from your workspace. Each chat agent needs its own SMS number.

**Instagram & Messenger** — Select a connected Meta account (Facebook Page with linked Instagram). Connect your account first from **Settings > Integrations > Instagram**.

**Email** — Each chat agent gets its own inbound email address on your verified sending domain. Configure it from the **Settings** tab once Email is enabled as a channel.

### Email channel

Once Email is enabled, set a per-agent local part (the part before the `@`). Inbound emails sent to that full address are routed to this agent's conversations.

| Setting               | Description                                                                                                                              |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| Inbound email address | The local part of the address. Combined with your verified sending domain to form the full address (e.g. `support@mail.yourdomain.com`). |

**Local part rules:**

* Lowercase letters, numbers, dots, hyphens, and underscores only
* Max 64 characters
* No leading, trailing, or consecutive dots
* Must be unique within a workspace — two agents in the same workspace can't share the same local part

**Requirements:**

* A verified sending domain on the workspace — set up under **Settings > Integrations > Email**. Without one, the inbound address input is hidden because there's no domain to attach to.
* The Email channel must be enabled on the agent.

**How it works:**

* Inbound emails to the agent's address create or continue a conversation in Unibox under that agent.
* The agent generates AI replies using its prompt, knowledge base, and configured actions — same engine that powers SMS, Instagram, and Messenger.
* Replies sent automatically by the agent or manually from Unibox come **from the agent's own inbound address**, not from a generic notifications address.
* Each agent's email conversations are scoped to that agent — two agents on the same workspace can have parallel email threads with the same contact.

### Channel-aware replies

Chat agents know which channel each incoming message came from and adjust their replies accordingly. You write one prompt — Nedzo layers channel-specific guidance on top automatically.

| Channel   | Default tone           | Default length                                               |
| --------- | ---------------------- | ------------------------------------------------------------ |
| SMS       | Direct, conversational | 1–2 short sentences (designed to fit a single SMS segment)   |
| Email     | Polished, structured   | Multi-paragraph with greeting and sign-off where appropriate |
| Web chat  | Friendly, helpful      | 1–3 sentences, links allowed                                 |
| Instagram | Casual, light          | Short, can use emoji                                         |
| Messenger | Conversational         | Short, can use emoji                                         |
| WhatsApp  | Conversational         | Short — optimized for mobile                                 |

The same agent can run across multiple channels and stay on-brand on each one — an SMS reply won't be a wall of text, and an email reply won't be a single sentence. Channel-specific instructions you put in the system prompt always take precedence over the defaults.

### Response timing

Set a delay (0–60 seconds) before the agent responds. A short delay makes conversations feel more natural. Configure this in the **Settings** tab.

### Manual message behavior

When you or your team sends a manual message, you may want the AI to pause so it doesn't respond over a human.

* **Pause AI after manual message** — Stops the agent from responding after a team member sends a message
* **Auto-reactivate after** — Optionally resume AI responses after a set time (minutes, hours, or days)

### Message limits

Set a maximum number of AI messages per conversation to prevent runaway conversations.

When the limit is reached, you can optionally send a final message — for example: *"Thanks for chatting! A team member will follow up with you shortly."*

Leave the limit blank for unlimited messages.

### Post-event behavior

* **Pause after escalation request** — Stops the agent when a contact asks to speak to a human
* **Pause after appointment booked** — Stops the agent after a calendar booking is made
* **Idle timeout** — How long to wait before the pause takes effect (60–3600 seconds, default 300)

### Auto-close abandoned conversations

Close a conversation automatically when a customer stops replying. Once closed, the conversation moves out of the Open view in Unibox and the same finalization pipeline runs as a manual close: AI summary generation, [Conversation ended](/workflows/triggers/conversation-completed) workflow trigger, [post-conversation webhook](/agents/post-conversation-webhook), and cost rollup.

Configure it from the **Settings** tab → **Auto-close abandoned conversations**.

| Setting                                          | Default | Description                                            |
| ------------------------------------------------ | ------- | ------------------------------------------------------ |
| Close conversations when customers stop replying | Off     | Master toggle. When off, no auto-close timer is armed. |
| Timeout value                                    | 15      | How long to wait for a customer reply before closing.  |
| Timeout unit                                     | minutes | `minutes`, `hours`, or `days`.                         |

**Presets:** 3, 5, 7, 10, or 15 minutes. Custom values (any positive integer + minutes/hours/days) can be set via the API by writing to `chat_agents.auto_close_timeout_value` and `chat_agents.auto_close_timeout_unit` directly. The Settings UI shows custom values as "Custom: N unit" — picking a preset overwrites the custom value.

**How it works:**

* When the agent sends an outbound reply, a timer is armed for the configured duration.
* A customer inbound message **cancels** the timer — the conversation stays open.
* If the timer expires without a customer reply, the conversation closes automatically with `closed_by` set to `null` (system close).
* A customer reply on a system-closed conversation **re-opens it** (subject to the reopen window — see below) and the agent resumes responding. Manually-closed conversations (closed by an operator from Unibox) stay closed even if the customer replies — operator decisions are not overridden.

**Scope:**

* Available on Chat agents only — covers SMS, Instagram, Messenger, and Email channels.
* Not available on Voice agents (calls have their own duration limits) or Web Agents.

### Reopen window for closed conversations

Control how long a closed conversation can be re-opened by a new contact message before a fresh conversation is started instead. Useful when you want returning customers within a short window to land back in the same thread, but treat anyone returning weeks later as a brand-new conversation.

Configure it from the **Settings** tab → **Reopen closed conversations**.

| Setting                     | Default | Description                                                                                                  |
| --------------------------- | ------- | ------------------------------------------------------------------------------------------------------------ |
| Reopen closed conversations | On      | Master toggle. When off, every new contact message on a closed conversation starts a brand-new conversation. |
| Reopen window               | 7 days  | How long after the conversation was closed it can still be re-opened. Options: **3, 7, 14, or 30 days**.     |

**How it works (with auto-close on):**

* When a closed conversation receives a new inbound message from the contact, Nedzo checks the time since the conversation was closed.
* If reopen is **on** and the conversation was closed within the configured window, the **same conversation re-opens** and the agent resumes responding in it.
* If reopen is **off**, or the close happened **outside** the window, a **new conversation** is created instead.
* This applies to both system-closed (auto-close) and operator-closed conversations equally — the window is about elapsed time, not who closed it.

**Scope:**

* Available on Chat agents only.
* Independent of the auto-close timeout — the auto-close timeout decides *when* to close, the reopen window decides *for how long* a closed conversation remains reopenable.

### Protection keywords

Add keywords that trigger an escalation when a contact uses them. For example: "manager", "human", "complaint". You can add up to 50 keywords.

When a contact sends a message containing one of these keywords, the agent pauses and the conversation is flagged for human review.

***

## Web Agent

Web Agents let you embed an AI assistant directly on your website. Visitors can chat, talk, or both.

### Widget modes

* **Chat** — Text-based conversation. This is the default.
* **Voice** — Visitors can speak to your agent through their browser
* **Both** — Visitors choose between voice and chat

Set the mode in the **Settings** tab. New widgets start in Chat mode, so voice is opt-in.

### Appearance

| Setting  | Options                                                                                  | Default            |
| -------- | ---------------------------------------------------------------------------------------- | ------------------ |
| Position | Bottom Right, Bottom Center, Bottom Left, Center Right, Center Left, Top Right, Top Left | Bottom Right       |
| Theme    | Light, Dark                                                                              | Light              |
| CTA text | Any text (max 25 characters)                                                             | "Talk to an agent" |
| Avatar   | Upload PNG, JPEG, SVG, or WebP (max 2 MB)                                                | Gradient default   |

### Branding

* **Show branding** — Toggle the branding footer on/off
* **Branding text** — Customize the text shown in the footer

### Visitor context

The widget automatically captures context about website visitors to give your agent and team more information:

* **Page URL** — The page the visitor was on when they started the conversation. This shows up in Unibox so your team can see what the visitor was looking at.
* **Name extraction** — The agent extracts the visitor's name from the conversation automatically. Once identified, the contact record is updated with their name.

### Markdown rendering

AI responses in the chat widget render basic markdown formatting:

* **Bold** and *italic* text
* [Hyperlinks](url) — links open in a new tab

User-typed messages are displayed as plain text. Markdown rendering works in both the embedded widget and the chat simulator.

### Multilingual support

Web Agents respond in the visitor's language automatically. If a visitor writes in Spanish, the agent replies in Spanish — regardless of the language set in the Prompt tab.

The language setting on the Prompt tab controls the agent's default language and voice. The multilingual behavior applies to chat mode only.

### Embedding on your site

After configuring your widget, copy the script tag from the **Settings** tab and paste it into your site's HTML, just before the closing `</body>` tag.

```html theme={null}
<script src="https://cdn.nedzo.ai/widget.js" data-agent-id="your-agent-id"></script>
```

The widget loads asynchronously and won't slow down your page.
