Skip to content

One Agent, Every Channel ​

Priya chats with Acme Store on the website at lunch, then messages the same business on WhatsApp that evening from her phone. She doesn't repeat herself, because the agent already knows her. That's the idea on this page: one agent, reachable everywhere, with every customer recognised as one person across channels.

By the end you'll have taken a single agent live on web, WhatsApp, phone, SMS and email at once, sharing one personality, one set of tools, one knowledge base, and one identity per customer.

Who this is for ​

You're an admin like Asha who already has a working agent and wants it to answer on more than one channel, without building and maintaining a separate agent per channel. If you haven't built an agent yet, start with the FAQ Agent or Customer Service from your Website recipe, then come back.

What you'll build ​

One AI Agent reached through several triggers, one per channel, plus a sender for each messaging channel so the agent can reply there.

One agent on every channel: Phone Call, Email, WhatsApp and Web Chat triggers feed the same AI Agent, with Personality, AI Model and Knowledge below it and senders on its Action port.

How one agent serves every channel ​

Every text channel reaches the agent the same way: Perfox removes duplicate deliveries, identifies the customer, matches the trigger that watches that number or address, and runs the agent. Providers sometimes deliver the same message twice (email forwarders re-send; SMS and WhatsApp retry), but the customer still gets only one reply. A message that no published trigger watches gets no reply. There's no catch-all default agent.

Replies come back in two ways:

  • Web chat and voice reply inline: in the chat window, or spoken on the call.
  • Email, SMS and WhatsApp reply through a sender on the AI Agent's Action port: Email Sender, SMS Sender or WhatsApp Sender. Without one, the message still reaches the agent, but nothing is sent back, and the canvas warns you before you publish.

Before you start ​

  • A working agent, from the FAQ Agent or Customer Service recipe.
  • For WhatsApp, SMS and phone: a Plivo connection on Admin → Connections, with the numbers you'll use.
  • For email: an email provider connection on Admin → Connections (AWS SES, Microsoft 365, Gmail, SMTP / IMAP and others), with the inbox customers write to.
  • For web chat and browser voice: nothing extra. Both are included.

Steps ​

1. Start from a working agent ​

Open your agent. It already has its Personality, AI Model and any Knowledge attached.

2. Add a trigger per channel ​

For each channel, click + → Triggers, pick the channel's trigger, connect it to the same AI Agent node, and open it to choose the business contact it watches:

TriggerWatchesNeeds
Web Chatyour website widgetnothing extra
WhatsAppa WhatsApp numberPlivo connection
Phone Calla phone numberPlivo connection
SMSan SMS numberPlivo connection
Emailan inbox addressemail provider connection

Each number or address routes to one agent, so two agents can't both claim the same WhatsApp number.

3. Add a sender for each messaging channel ​

Click the + under the AI Agent's Action port and add a WhatsApp Sender, an SMS Sender and an Email Sender for the channels you're adding. On each, set Send from to your business number or address and Send to to The person in this conversation. See Messaging actions.

4. Set up the voice ​

For phone and browser voice, open the AI Model sub-node and look at Voice agent model:

  • Live: one speech-to-speech model (Gemini Live or OpenAI Realtime) plus a Voice.
  • Pipeline: Speech-to-text (Sarvam or ElevenLabs), a Voice brain model, and Text-to-speech (Sarvam or ElevenLabs) with a wide choice of voices, which suits Indian languages.

Under While the caller waits, choose what callers hear while the agent looks something up. On a call the agent uses the same personality, tools and knowledge base as in chat. See Voice Providers.

5. Activate ​

Click Activate. Every channel is live at once.

A day in the life: Priya reaches Acme Store three ways ​

Setup. Asha's agent, Rhea, has a Knowledge Base of Acme's shipping and returns policies. She adds Web Chat, Phone Call and WhatsApp triggers to the same AI Agent, a WhatsApp Sender on its Action port, and clicks Activate.

Action: the web chat. At 12:40, Priya opens the chat on Acme's site:

Priya: Can I return shoes if I've worn them outside?

Rhea: Unworn items can be returned within 30 days. Worn items can only be exchanged for a defect. Would you like help starting a return?

Action: the phone call. At 12:45 Priya calls Acme's number from her phone to ask about refunds. Rhea answers by voice, drawing on the same Knowledge Base as the chat a minute ago.

Action: WhatsApp that evening. At 19:10 Priya messages Acme's WhatsApp number from the same phone:

Priya: OK, I'd like to exchange them. They have a torn seam.

Rhea: Sorry about that, Priya. A torn seam counts as a defect, so an exchange is fine. Shall I arrange a pickup?

What just happened. Priya used three channels, but Perfox recognised her phone number on the call and on WhatsApp, so they belong to one customer, and the agent carried the conversation forward instead of starting over. If her earlier conversation was still open, the new messages joined it. If it had closed, a new one started and the agent still remembered her. The WhatsApp reply went out through Asha's own Plivo number because the WhatsApp Sender was connected.

Test it before you activate ​

Click the Web Chat node and open Live preview to chat with your current draft. Fill in Test as with the same phone number or email you'll use on WhatsApp, have a short conversation, then (once activated) message your WhatsApp number from that phone and check that the agent picks up where the chat left off.

Live preview on the Web Chat trigger.

Variations ​

  • Different instructions per channel. In the Personality's system prompt, turn on Channel-specific prompts to write a different prompt for phone, web and other channels. A phone agent and a web agent want different styles.
  • Add channels later. Add another trigger and its sender to the same agent at any time; there's no new agent to build.
  • Keep memory separate for an unrelated agent. If one of your agents covers an unrelated area, turn on Keep this agent's memory separate in its Memory section.

You're set — where to go next ​

You can now run one agent across web, WhatsApp, phone, SMS and email, with each customer recognised as one person everywhere they reach you.