Skip to main content
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. Every voice agent does both: it answers calls that come in to its number, and it places calls out from that same number. There is no direction to choose. That means one agent can cover reception and intake on the same number it uses for lead qualification, appointment reminders, follow-ups and outreach campaigns.

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. One number belongs to one agent, and that number both answers and dials for it, so two agents can’t share the same number. Every new account starts with one free US number, added to the workspace automatically at signup. Buying additional numbers requires a paid plan — see buying phone numbers on a trial. You can buy local numbers in the United States and Canada. These are the only two countries in the buy picker. Toll-free numbers and numbers in other countries aren’t offered. See phone number rental for the price. Verified Caller IDs — Numbers you’ve verified so calls you place can show your existing business number. A verified caller ID can only be used for calls the agent places; it cannot receive calls, so an agent assigned one has no number to answer on.
A new number is not connected to any agent. This covers the free signup number and every number you buy. Until you assign it to an agent, incoming calls ring the users assigned to the number. If no users are assigned, the call is not answered.

Who answers a number

The Assignment column on the Phone Numbers page shows who answers calls on each number. It reads AI agent when a voice agent answers the number, Human when calls ring the assigned users, and a dash for a verified caller ID. On plans on Nedzo’s current pricing, open a number to see the routing in the Manage Number panel: An agent claims a number when you assign the number to it from the agent’s Settings tab. A number can be claimed by one voice agent for calls and a different chat agent for texts. Either claim is enough for AI agent to show. You do not pick the agent on the Phone Numbers page. AI agent shows which state the number is in, and the only change you can make there is to Human. Choosing Human releases the number from its voice and chat agents, and calls go to the assigned users. To hand the number to an AI again, assign it to an agent from the agent’s settings. When no agent claims the number, AI agent is disabled. Hover it to see why: No agent has claimed this number yet. Assign it to an agent on the Agents page, then it will answer here. Verified caller IDs have no routing choice, since they cannot receive calls. If a call comes in for an agent that is switched off or was deleted, the caller does not hear endless ringing. Nedzo answers, plays a short message asking them to call back later, and ends the call.

Choosing a voice

Pick your agent’s voice on the agent’s Identity tab, under Voice and language. Press the play button next to the voice picker to hear a short sample before you commit. See Voice selection for how the picker works.
  • Press play to hear the selected voice
  • Press it again to stop
  • Switch voices and press play again to hear the new one
You no longer need to save and call the agent to find out what it sounds like.

Test calls

Click Call my phone in the agent’s test panel to have the agent call you.
  • 60-second cooldown. After a test call goes out, the same number is locked for 60 seconds. The button counts down.
  • Confirm before a redial. Any later test call to the same number asks you to confirm first.
  • Limits. Each user can place 5 test calls a minute, and each workspace 20 an hour. Past that you see a message saying when to try again.
  • No contact changes. A test call doesn’t create or edit a contact. Numbers marked DND can’t be test called.

Call settings

How Max call duration works

Max call duration is a hard cap on the whole phone call. When the time runs out, the call hangs up, even mid-sentence.
  • It applies to every outbound call. Calls from the Make a call API, the Voice call workflow action, campaigns, and follow-up retries all end at the agent’s Max call duration.
  • It covers the full call. The clock starts when the call is placed and keeps running after a transfer to a person. A 10-minute limit means the whole call, transfer included, ends at 10 minutes. There is no extra buffer.
  • Billing stops with it. Call minutes are billed only up to the cap, so a call that stays connected after the conversation ends can’t run up extra minutes.
  • Default and range. The limit is set in whole minutes from 1 to 60. If an agent has no value saved, calls end at 30 minutes.
If your agent transfers calls to your team, set Max call duration long enough to cover the conversation with the person you transfer to.

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” outcome
You can customize the voicemail message. The default is: “Hi, could you please call me back?”

Email notifications

Nedzo emails your team when something on a voice agent call needs to be seen. These go out for every voice agent, on every plan. Each call sends each email once. A caller who hangs up before a transfer connects does not trigger a transfer email. Test calls send no emails. The Missed call email is sent at most once per number every 24 hours, so a number that keeps getting calls does not flood your inbox. It links to the Phone Numbers page, where you can assign the number to an agent or turn the agent back on. The other emails link to the conversation. Each recipient can turn these emails off in Settings > Profile > Notifications.

HIPAA compliance

HIPAA compliance mode is a $299/month add-on. It works on every plan. When it is on, call recordings, transcriptions, and logs are not stored. You turn it on in the Settings tab under Security & Compliance. You need a signed BAA before you can buy the add-on. Contact support to get one in place. The toggle stays disabled until the add-on is active on your workspace. See Add-ons for pricing and the other add-ons.

Mark calls read when they end

Turn on Mark calls read when they end in the Settings tab to mark an incoming call read in Unibox as soon as it ends. Every ended call counts, including dropped, failed and unanswered calls. It is off by default. When it is off, incoming calls stay in the Unread tab so your team can follow up. Calls the agent places are always read, whatever this setting says. That covers calls from workflows and campaigns. They show in Unibox, but not in Unread, until the contact calls back or replies.

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. SMS — Select a phone number from your workspace. Each chat agent needs its own SMS number. Instagram — Pick one of the Instagram accounts connected to your workspace. Each account goes to one chat agent, and a chat agent has at most one Instagram account. DMs to that account are answered by the agent it is assigned to. Connect accounts first from Integrations. See Instagram. Messenger — Pick a connected Facebook Page. The Messenger and Instagram pickers are separate, so the Page you pick for Messenger does not change the Instagram account. 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. 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. 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. Text replies never use em or en dashes as punctuation. If the AI writes one, Nedzo swaps it for a comma, period, or colon before the message goes out. Ranges such as 9am – 5pm, hyphens, links, and email addresses stay as they are.

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 anyone on your team replies in a conversation, the agent stops responding on it. This is automatic on every channel and there is nothing to configure. A human reply means a human owns the conversation. The agent stays quiet until the conversation closes. The contact’s next message then starts a new conversation, and the agent answers it. See When conversations close. See AI controls for how this looks in Unibox and for the other pause reasons.

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.

Trigger keywords

Use Trigger Keywords when you want the agent to answer only some conversations, like a “comment PRICE” or “text DEMO” campaign. Every other conversation is left for your team. Find it in the agent’s Settings tab. Type a keyword and press Enter. You can add up to 50.
  • Empty list. The agent replies to every message. This is the default.
  • With keywords. The agent stays quiet in a new conversation until the contact sends a message with one of the keywords. From then on, it replies until the conversation closes.
  • Matching. Case does not matter. A keyword matches a whole word or phrase, not part of a word. PRICE matches “price please” but not “pricey”.
  • After a close. The next conversation needs a keyword again.
  • Messages before the trigger still show in Unibox, and your team can reply to them.
  • Team replies never trigger the agent.
  • Email. Only the new text of a reply is checked, not the quoted email chain below it.
  • Conversations the agent already replied in count as triggered, so adding keywords does not silence a conversation that is already running.
Trigger keywords work on SMS, WhatsApp, Messenger, Instagram and email. They are a chat agent setting only. Web agents reply to every visitor. Protection keywords do the opposite: a match pauses the agent.

Post-event behavior

  • Pause after escalation — The agent always stops replying once it hands a conversation to a person. There is no switch for this.
  • Pause AI after appointment booked — Stops the agent after a calendar booking is confirmed

When conversations close

Chat conversations close on their own. There is no setting for this. The same rules apply to every chat and web agent:
  • SMS, WhatsApp, Messenger, Instagram and web chat close after 1 hour with no new message.
  • Email closes after 24 hours with no new message.
  • Every conversation closes 24 hours after it started, even if messages keep coming. An escalated one is the exception, see below.
  • A booking closes the conversation right after the agent confirms it.
  • An escalated conversation stays open for your team. It closes 24 hours after the escalation, not when it goes quiet.
Any message restarts the quiet time: one from the contact, the agent or your team. This is true even when the agent does not reply. When a conversation closes, it is marked read and leaves the Unread tab in Unibox, and the usual close steps run: AI summary, the Conversation ended workflow trigger, the post-conversation webhook and cost rollup. A closed conversation does not reopen by itself. The contact’s next message starts a new conversation. If your team replies to a closed conversation, the reply starts a new one too, and Unibox moves you to it. Web chat is the exception: you cannot reply to a closed web chat, because the visitor has left that chat. They start a new one when they write again. You can still put a conversation back in Unread by hand with Mark as unread in Unibox. A team reply pauses the AI in that conversation until it closes.

Protection keywords

Add keywords that pause the agent when a contact uses them. For example: “manager”, “human”, “complaint”. You can add up to 50 keywords. This is not an escalation: no one is emailed, and the conversation closes on the normal rules. 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. Voice also needs Allow voice calls from visitors switched on, in the same tab. It is off by default. When it is off, the widget offers chat only, even in Voice or Both mode. Turn it on to let visitors call the agent from the widget.

Appearance

Branding

  • Show branding — Toggle the branding footer on/off
  • Branding text — Customize the text shown in the footer. Leave it empty to use the default: Powered by Nedzo AI, or Powered by your brand name on a white-label account.

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.
  • Contact details: When the conversation ends, Nedzo fills the visitor’s name, email, phone, and company on the contact from what they said. See Contact details.

Markdown rendering

AI responses in the chat widget render basic markdown formatting:
  • Bold and italic text
  • Hyperlinks — 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

The web widget is on the Agency plan and up. On a plan without web chat, the Widget card in the Settings tab shows an upgrade prompt instead of the install code. See Plans & Pricing. The Widget card offers two ways to install. Pick one with the toggle above the code, then click the copy button. The code already holds your agent’s ID.

Website HTML

Copy the code and paste it into your site’s HTML, just before the closing </body> tag.

Google Tag Manager

  1. In Google Tag Manager, add a new tag and pick Custom HTML as the tag type.
  2. Paste the code from the Google Tag Manager option.
  3. Set the trigger to All Pages.
  4. Save the tag, then publish the container.
The code looks like this:
Google Tag Manager runs it on every page and adds the widget for you. It needs inline scripts to run. If your site has a strict Content Security Policy that blocks inline scripts, use Website HTML instead. Always copy the code from the Widget card rather than typing it. On some setups the card adds a data-api-url attribute, and both methods carry it.

One widget per page

A page shows one widget, even if the code is on it twice. For example, a site with the HTML code and a Google Tag Manager tag gets one widget, not two. The first one to load starts, and the other stays quiet. If the first one fails to start, the next one takes over. If a page has codes for two different agents, the first one to load wins. Remove the code you don’t want so the right agent shows. The widget loads asynchronously and won’t slow down your page.