Deploying and testing channels
Connect WhatsApp, Instagram, Messenger, Web Chat, Web Voice, and telephony on the Console dashboard — then test each channel and go live.
Every agent reaches customers through channels — messaging apps, a website chat widget, or phone calls. Channels are always connected in the Console dashboard on the Deploy screen; the SDK can list what is connected but cannot create channel connections. Integrations (Stripe, custom APIs, and so on) can be wired from the dashboard or the SDK — see Configuring integrations.
Use this page as the canonical reference when you deploy any recipe. Each recipe links back here for channel-specific steps.
Before you deploy
Builder Track users connect channels entirely in the dashboard: Deploy → connect a card → test with the panel at the top → switch the agent live on the Playground or agent settings.
Developer Track users create the agent programmatically (workflow, knowledge base, integrations), then still connect channels on Deploy. Testing can happen three ways:
- Playground — instant chat or voice in the dashboard.
- Human tester — share the test code from Deploy or
agents.getTestCode. - SDK injection —
conversations.sendwithis_test_channel: true, orcalls.makewithis_test_call: truefor voice.
Telephony spans three dashboard screens
After you click Set up on the Telephony card: provision or link a number under Team settings → Phone numbers, then set voice and greeting under Settings → Voice. Telephony conversations appear under the telephony channel in the API.
Two ways to test
Human tester (test code)
Fetch the test code — it is created on the first request:
const { code, channels } = await bimpe.agents.getTestCode(agent.id);
console.log(code);
console.log(channels.whatsapp.url, channels.whatsapp.start_message);
console.log(channels.instagram.url);
console.log(channels.messenger.url);
console.log(channels.telephony.is_enabled);test = client.agents.get_test_code(agent.id)
print(test.code)
print(test.channels.whatsapp.url, test.channels.whatsapp.start_message)
print(test.channels.instagram.url)
print(test.channels.messenger.url)
print(test.channels.telephony.is_enabled)Each messaging channel returns a start message (e.g. start WVVTC37U), a destination (phone number, username, or page), and a deep-link URL. The tester opens the URL or sends the start message, then chats with the agent. WhatsApp opens a 24-hour reply window once that first message lands.
The same panel appears at the top of the Deploy screen with Test on WhatsApp and Test on Instagram buttons.
Programmatic injection (SDK)
// Messaging test channel
await bimpe.conversations.send(agent.id, {
message: "Hello",
channel_type: "whatsapp", // or webchat, telephony
channel_user_id: "<tester-id>",
is_test_channel: true,
});
// Outbound voice test call
await bimpe.calls.make(agent.id, { destination: "+15551234567", is_test_call: true });client.conversations.send(
agent.id,
message="Hello",
channel_type="whatsapp",
channel_user_id="<tester-id>",
is_test_channel=True,
)
client.calls.make(agent.id, {"destination": "+15551234567", "is_test_call": True})Supported programmatic test channels: whatsapp, webchat, telephony (plus test_* variants). On telephony, injection places an outbound call rather than text. Web Voice and embedded SDK widgets are not programmatic test channels.
See Test your agent for the pause-AI rule when a human replies.
Channel reference
What the customer sees: they message your WhatsApp Business number like any other chat. The agent replies in-thread.
Connect WhatsApp
- Open the Deploy screen in the Console dashboard and select your agent.
- Under Messaging & Chat, click Connect on the WhatsApp card.
- Follow the prompts to link your WhatsApp Business number.
- Once connected, customers can message your business number and the agent replies within WhatsApp's 24-hour session window.
Full reference: Deploying and testing channels.
Test WhatsApp
Human tester: fetch the test code with agents.getTestCode (or use the Deploy panel). Share the deep link or start <code> message with a tester.
SDK injection: call conversations.send with is_test_channel: true and the matching channel_type.
Full reference: Deploying and testing channels.
Go live on WhatsApp
Live WhatsApp traffic flows once the Business number is connected and the agent status is live. Monitor threads on the Conversations screen; remember the 24-hour reply window for outbound messages.
Full reference: Deploying and testing channels.
What the customer sees: they DM your linked Instagram business account. The agent replies in Instagram Direct.
Connect Instagram
- Open Deploy and select your agent.
- Under Messaging & Chat, click Connect on the Instagram card.
- Complete the Instagram account linking flow.
- Testers can use the Deploy panel Test on Instagram link before go-live.
Full reference: Deploying and testing channels.
Test Instagram
Human tester: fetch the test code with agents.getTestCode (or use the Deploy panel). Share the deep link or start <code> message with a tester.
SDK injection: call conversations.send with is_test_channel: true and the matching channel_type.
Full reference: Deploying and testing channels.
Go live on Instagram
Live messaging begins once the social account is connected and the agent is live. Filter conversations by channel in the dashboard or via conversations.list.
Full reference: Deploying and testing channels.
Messenger
What the customer sees: they message your Facebook Page in Messenger. The agent replies in-thread.
Connect Messenger
- Open Deploy and select your agent.
- Under Messaging & Chat, click Connect on the Messenger card.
- Link your Facebook Page and grant messaging permissions.
- Customers message your Page; the agent replies in Messenger.
Full reference: Deploying and testing channels.
Test Messenger
Human tester: fetch the test code with agents.getTestCode (or use the Deploy panel). Share the deep link or start <code> message with a tester.
SDK injection: call conversations.send with is_test_channel: true and the matching channel_type.
Full reference: Deploying and testing channels.
Go live on Messenger
Live messaging begins once the social account is connected and the agent is live. Filter conversations by channel in the dashboard or via conversations.list.
Full reference: Deploying and testing channels.
Web Chat
What the customer sees: a chat bubble on your website. They type questions; the agent answers in the widget.
Connect Web Chat
- Open Deploy and select your agent.
- Under Messaging & Chat, click Connect on the Web Chat Widget card.
- Copy the embed snippet and paste it into your site's HTML before the closing body tag.
- Publish your site — the chat bubble appears in the corner and routes messages to this agent.
Full reference: Deploying and testing channels.
Test Web Chat
Playground: open Playground → Chat in the dashboard for a quick sanity check.
SDK injection: call conversations.send with channel_type: "webchat" and a stable channel_user_id, or set is_test_channel: true before go-live.
Full reference: Deploying and testing channels.
Go live on Web Chat
Live web chat starts when the widget embed is on your production site and the agent is live. Each visitor session maps to a channel_user_id you assign or generate client-side.
Full reference: Deploying and testing channels.
Web Voice
What the customer sees: a microphone or call button on your site. They speak in the browser; the agent responds with voice.
Connect Web Voice
- Open Deploy and select your agent.
- Under Voice, click Enable on the Web Voice card.
- Add the Web Voice embed to your site so visitors can talk to the agent from the browser.
- Set the agent's voice profile under Settings → Voice before inviting customers.
Full reference: Deploying and testing channels.
Test Web Voice
Open your staging site with Web Voice enabled and speak to the agent in the browser. Web Voice is not available as a programmatic test channel.
Full reference: Deploying and testing channels.
Go live on Web Voice
Live Web Voice is active when the embed is published and the agent is live. Voice sessions appear under the telephony channel in the API.
Full reference: Deploying and testing channels.
Telephony (inbound)
What the customer sees: they dial your published phone number and speak to the agent like a call centre.
Connect Telephony (inbound)
- Open Deploy and click Set up on the Telephony card (usage-based add-on).
- Under Team settings → Phone numbers, provision or link a number and assign it to this agent.
- Under Settings → Voice, choose the voice profile and greeting callers hear.
- Share the published phone number — inbound calls route to the agent automatically.
Full reference: Deploying and testing channels.
Test Telephony (inbound)
Human tester: dial the linked phone number from a mobile phone and walk through the script.
Playground: use Playground → Voice to hear the agent before publishing the number.
Full reference: Deploying and testing channels.
Go live on Telephony (inbound)
Live inbound calls route to the agent when the number is linked and the agent is live. Review call logs under Team settings → Call logs.
Full reference: Deploying and testing channels.
Telephony (outbound)
What the customer sees: your system calls their phone; the agent speaks when they answer (reminders, fraud alerts, loan follow-ups).
Connect Telephony (outbound)
- Open Deploy and click Set up on the Telephony card.
- Under Team settings → Phone numbers, request or link an outbound-capable number and assign it to this agent.
- Under Settings → Voice, set the outbound voice and greeting.
- Place calls with
calls.makeandis_test_call: false, or trigger calls from your backend when events fire.
Full reference: Deploying and testing channels.
Test Telephony (outbound)
Test call: use calls.make(agentId, { destination, is_test_call: true }) — test telephony consumes no live minutes.
Confirm channels.telephony.is_enabled from getTestCode before placing live calls.
Full reference: Deploying and testing channels.
Go live on Telephony (outbound)
Live outbound calls require an approved number linked to the agent and is_test_call: false. See the Loan Inquiry Agent recipe for programmatic number provisioning.
Full reference: Deploying and testing channels.
Programmatic phone number provisioning
You can request, list, and link phone numbers from the SDK — useful for automated onboarding. The Loan Inquiry Agent recipe (Step 8) and its Runnable scripts walk through phoneNumbers.requests.create, phoneNumbers.update, and calls.make with an is_test_call fallback while provisioning is pending.
Go-live checklist
Before you point real customers at the agent:
- Integrations — run
agents.integrations.list(agentId)and confirm every integration the recipe needs is connected. - Channels — run
agents.channels.list(agentId)and confirm each Deploy card shows enabled. - Escalation — set Escalation Email under Settings → Agent if humans must take over edge cases.
- Agent status — call
updateLiveStatus/update_live_statuswithstatus: "live". - Monitor — watch the Conversations screen or stream messages via the SDK after launch.
Filter live traffic by channel: whatsapp, webchat, telephony, plus test_* variants during development.
Where to next
- The Console dashboard — screen-by-screen tour.
- Anatomy of a workflow agent — shared create → test → live flow.
- Use case recipes — domain-specific agents with deployment steps tailored to each scenario.
Configuring integrations via the API
Connect first-party services, custom HTTP APIs, MCP servers, and Pipedream apps to an agent from the SDK — and fetch the agent's test code.
Booking with Stripe Payment
Let customers check availability, pick a slot, and pay via Stripe — all in a single WhatsApp or web chat conversation before the booking is confirmed.