How it worksFeaturesSolutionsGuides PricingFAQ Ask on WhatsApp
Help Getting started

Connecting a channel

What it takes to put your assistant on WhatsApp, Instagram, Messenger, your website or a phone number — and which parts you do yourself versus which ones need us.

Updated 19 August 2026 12 min read

An assistant with no channel talks to nobody. Connecting one always has two halves, and confusing them is the single most common reason a setup looks finished and does nothing:

  1. The account — a WhatsApp number, a Facebook page, an embed key on your website, a phone line. This is the part that lives outside Kooday.
  2. The switch — telling one of your assistants to answer on it, on the Channels card of the Bots page.

Do only the first and messages arrive nowhere. Do only the second and the switch is on with nothing behind it.

This page covers the first half for each channel, and says plainly which ones you can finish on your own.

What you can do yourself, at a glance

ChannelYou do itWe do it
WhatsAppThe whole connection, in one popupEnable the channel on your plan and your assistant
InstagramThe same popupSame
MessengerThe same popupSame, plus Meta’s own approval of our app
Website chatCreate the widget, paste the snippetEnable the channel
Website voiceCreate the widget, paste the snippetEnable the channel
PhoneGet an Exotel account, connect it on Configuration, assign a number to an assistantEnable the channel on your plan

WhatsApp, Instagram and Messenger — one popup

These three are all Meta’s, and Kooday connects them together rather than one at a time.

Where to find it: Integrations (under Settings) → New integration. The card at the top is headed Connect your Meta channels, with the line “One sign-in · Four channels” above it and this underneath:

Sign in with the Facebook account that manages your business — Kooday links every channel it finds in a single step.

Four tiles show what it will look for: WhatsApp (Business number), Messenger (Page inbox), Instagram (Profile DMs) and Catalog (Your products).

Before you click

Meta’s rules, not ours — the button cannot get round any of them:

  • A Facebook account that manages your business, and a Meta Business account with your business verified. Verification is Meta’s process and can take days; start it before you plan the rest.
  • A phone number for WhatsApp. You can create the WhatsApp Business account and add the number inside the popup itself. The number becomes the sender.
  • You will need at least one approved message template before you can start a conversation with someone who has not messaged you in the last 24 hours. Meta reviews templates; approval is usually minutes but is not guaranteed.

The help panel on the manual setup route puts the division of labour exactly right, and it is worth reading once: “WhatsApp messaging is Meta’s, not ours — these all have to exist in your own Meta account first. Kooday only stores the credentials and calls Meta with them.”

What the popup does

Click Connect with Facebook. The button reads “Waiting for Facebook…” while you are in Meta’s window and “Finishing setup…” while we set things up afterwards. In that second phase Kooday, without you doing anything:

  • subscribes your WhatsApp Business account to our webhook, so inbound messages actually arrive;
  • creates one connector per phone number you shared;
  • registers each number with Meta and sets its two-step PIN for you (skipped for a number you are keeping on the WhatsApp Business app — see below);
  • subscribes each Facebook page for messages, which is what makes Messenger and Instagram work;
  • links your product catalogue if you shared one.

Each tile then reports connected, reconnected, needs attention or not linked. A tile can fail on its own without taking the others down — one “needs attention” among three “connected” is a normal, partial success, not a failed run.

⚠️ Only the channels on your plan get connected. Assets you are not entitled to are skipped silently — no error, just a tile that never lights up. If a channel you expected did not connect and the wording gives no reason, that is usually why. Ask us.

Keeping the WhatsApp Business app

If the number you connect is already in use on the WhatsApp Business app, Kooday detects it and connects in coexistence mode:

Connected in coexistence mode — Keep using your WhatsApp Business app — messages you send there will appear in your Kooday inbox too.

The button says the same thing up front: “Already on the WhatsApp Business app? Keep it — the same number works in both places.” You do not have to choose between your phone and your assistant.

When it does not work

The wording is specific, so read it rather than retrying blindly:

What you seeWhat to do
The Facebook signup session expired or was already used — please run Connect with Facebook again.The handoff is valid for about half a minute. Just run it again.
multiple WhatsApp Business Accounts were shared — re-run signup sharing exactly one, or connect manuallyGo back and share one account.
the WhatsApp Business Account has no phone number yet — add one in the signup flow and reconnectYou skipped adding the number.
the number’s two-step verification PIN does not match the one kooday holdsReset the two-step PIN in WhatsApp Manager (Account tools → Two-step verification), then reconnect.
this WhatsApp number is already connected to another kooday workspaceExactly what it says. Disconnect it there first.
Facebook signup not configuredThe one-click route is not switched on for your account — “enter your credentials manually below, or contact support.”

Then wire it to an assistant

The popup creates credentials. It does not put your assistant on the number. Two more steps on the Bots page:

  1. On the assistant’s Configuration tab, pick the new connector in the Connector field.
  2. Switch the channel on in the Channels card.

Until you pick a connector, the WhatsApp row tells you: “On, but not yet active — no WhatsApp connector selected below.” Instagram and Messenger fail the same way and do not warn you, so send yourself a real test message before you believe either is working.

See Creating your assistant for that card in full.

Checking it later

A connection can break without anyone telling you — a number removed in Meta Business Manager, access revoked. Open the connector on Integrations and use Connection statusCheck now. It “Asks Meta right now whether this number is still connected”. If it has broken, Reconnect with Facebook runs the same popup again. A number in coexistence shows a coexistence chip and “This number is also in use on the WhatsApp Business app.”

A word on Messenger

Messenger is the newest of the three and the one most likely to need a further step on our side before inbound messages reach you — Meta reviews our app separately for it. If Instagram and WhatsApp connect and Messenger stays quiet, that is the usual explanation. Ask us rather than re-running the popup.

Your website — chat and voice

Both website channels are fully self-serve, and both live on the same screen.

Where to find it: Widgets, under Settings. “Put your bot on any website — a talk-to-us call button or a text chat bubble. Add a widget, lock it to the sites allowed to use it, and paste the snippet into your page.”

Creating one

New widget asks for five things:

FieldWhat to put
NameWhere it goes, for your own reference — the placeholder is Marketing site.
BotWhich assistant answers.
TypeVoice“A call button — visitors talk to your bot.” Or Chat“A chat bubble — visitors type, replies stream in.”
Allowed sites”One origin per line (scheme + domain, no path). The widget only works on these sites — a key copied elsewhere is refused.”
Audio qualityVoice only. Best (24 kHz), High (16 kHz) or Standard (8 kHz) — matches phone calls. Leave it on Best unless you have a reason.

Two things you cannot change afterwards:

  • The type is fixed at creation. A chat widget never becomes a voice widget.
  • Chat and voice are two separate widgets with two separate snippets. If you want both a bubble and a call button on the same page, create two and paste both.

If a type is greyed out, it reads “Voice isn’t available for Front Desk. Contact your administrator to enable this channel.” — the assistant’s channel is off or not granted. Fix that on Bots first.

The snippet, and the key you see once

⚠️ Copy the snippet before you close the dialog. The confirmation says so: “Your widget is ready — copy the snippet now”, and “It contains a secret key that we show only once — you can reopen the snippet from the list later, but the key will be hidden.” If you lose it, issue a replacement from the list — you cannot recover the original.

It is one <script> tag, pasted before </body>:

<!-- kooday chat widget -->
<script src="https://app.kooday.tech/widgets/chat/v1.js"
  data-tenant="your-tenant"
  data-bot="frontdesk"
  data-key="YOUR_EMBED_KEY"
  data-position="bottom-right"
  async></script>

The voice one is identical but points at /widgets/voice/v1.js.

Allowed sites is a real lock, not a note. The key only works on the origins you listed, so a snippet lifted from your page source cannot be used elsewhere. The flip side: list every origin your site actually serves from, including a staging domain if you test there, or the widget silently refuses on the ones you forgot.

Making it look like your site

Optional attributes go on the same <script> tag. Chat takes data-button-color, data-text-color, data-title, data-greeting, data-launch-label and data-position. Voice takes data-button-color, data-text-color, data-border-radius, data-idle-label, data-position, and data-mount="#your-element" if you want the button inside your own layout rather than floating. Out of the box the voice button is a teal pill in the bottom-right reading “Talk to us”.

If you want to build the interface yourself and keep only the conversation, the dialog also shows a headless option.

Phone

Self-serve, from Configuration. Kooday places and answers calls through Exotel. Our telephony layer is built to take other providers, but Exotel is the only one wired up today — asking for another is a change on our side, not a setting.

What you do:

  • Get an Exotel account and a number in your own name. The account and the per-minute telephony charges stay yours; Kooday does not resell them.
  • Connect it on Configuration. The Phone & voice card takes your Exotel API key, token, caller ID, account SID, subdomain and flow app ID — encrypted the moment you save, and never shown again (only the token’s last four characters). See Connect your Exotel account for the full walkthrough.
  • Assign the number to an assistant. On that assistant’s Configuration tab, set Phone number to the Exotel number in E.164 format. It has to match the caller ID on your connected credential, or the save is refused.
  • Point Exotel at the assistant. In Exotel, the Voicebot applet needs the WebSocket address of the assistant. You will find it on the assistant’s Configuration tab as Connection URL, with a Copy connection URL button and a How to use explainer: “Point Exotel (or any client speaking the same wire protocol) at this WebSocket to start a call with this bot.”

Bringing your own number needs the telephony capability, included from Starter upward.

If the phone side is not finished, the dashboard tells you when you try to place a call: “No telephony number is connected, or the provider is unavailable. Check your call settings.”

Troubleshooting

The popup finished but no messages arrive

Check the two halves. On BotsChannels, is the channel switched on? And on the same tab, is a connector actually selected? WhatsApp says “On, but not yet active” when it is not; Instagram and Messenger do not.

A channel is greyed out and says to contact my administrator

That channel is not granted to that assistant. It is a Kooday-side setting; no switch on your side changes it.

The widget does not appear on my site

In order: is the snippet before </body>; is the site’s origin in Allowed sites exactly as the browser sees it (scheme and domain, no path); and is the assistant’s channel on. An origin mismatch fails silently by design.

I lost the widget key

Issue a replacement from the widget list, then update the snippet on your site. The old key stops working, so do both together.

WhatsApp worked and then stopped

Open the connector and click Check now. If it reports revoked access or a removed number, Reconnect with Facebook.

Where to go next

Still stuck? We answer support mail the same working day.

Email support