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.
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:
- 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.
- 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
| Channel | You do it | We do it |
|---|---|---|
| The whole connection, in one popup | Enable the channel on your plan and your assistant | |
| The same popup | Same | |
| Messenger | The same popup | Same, plus Meta’s own approval of our app |
| Website chat | Create the widget, paste the snippet | Enable the channel |
| Website voice | Create the widget, paste the snippet | Enable the channel |
| Phone | Get an Exotel account, connect it on Configuration, assign a number to an assistant | Enable 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 see | What 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 manually | Go back and share one account. |
| the WhatsApp Business Account has no phone number yet — add one in the signup flow and reconnect | You skipped adding the number. |
| the number’s two-step verification PIN does not match the one kooday holds | Reset the two-step PIN in WhatsApp Manager (Account tools → Two-step verification), then reconnect. |
| this WhatsApp number is already connected to another kooday workspace | Exactly what it says. Disconnect it there first. |
| Facebook signup not configured | The 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:
- On the assistant’s Configuration tab, pick the new connector in the Connector field.
- 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 status → Check 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:
| Field | What to put |
|---|---|
| Name | Where it goes, for your own reference — the placeholder is Marketing site. |
| Bot | Which assistant answers. |
| Type | Voice — “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 quality | Voice 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 Bots → Channels, 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
- Connect your Exotel account — the full walkthrough for the Phone & voice card above.
- Creating your assistant — the Channels card and what each switch does.
- Your knowledge base — what it answers from once people can reach it.
- When a customer asks you to stop — what happens across every channel you just connected.
Still stuck? We answer support mail the same working day.
Email support