Channel Settings (Admin)

What this page is

Admin → Settings → Channel Settings is where the platform owner configures the messaging layer once, for every workspace on the install. Your customers never see it. They only see the channels you have switched on here, and they connect their own accounts on their own Devices page.

It covers three separate things, and it helps to keep them apart:

  1. The Node bridge — required for the Unofficial API (QR-paired numbers).
  2. Platform credentials for channels that need one shared app (WhatsApp Cloud API, Twilio, TikTok, Telegram).
  3. On/off toggles for channels where every workspace brings its own credentials (Facebook, LINE, WeChat, Viber, SMS, Email).

Step 1 — Node bridge URL & token

This is the first thing to set and the most common cause of “nothing works”. The Node bridge is the separate Node.js service that holds WhatsApp sessions for the Unofficial API. Without it, QR pairing, unofficial sending, and flow execution on unofficial numbers all fail.

FieldWhat to enter
Server URL
baileys_server_url
The full address of your running Node service, e.g. https://node.yourdomain.com or http://127.0.0.1:3000 if it runs on the same machine. No trailing slash.
Node webhook token
node_webhook_token
A shared secret. The same value must be set as NODE_WEBHOOK_TOKEN in the Node service’s own .env. It authenticates traffic in both directions.
APP_DOMAIN_NAMESet in the Node service’s .env — it must point back at this app so Node can call in with inbound messages.
The token must match on both sides. A mismatch fails closed and silently: Node accepts the connection, messages never arrive, and no obvious error appears. If inbound stops working after a server move, check this first.
The URLs are crossed. This page holds the Node URL; Node’s .env holds this app’s URL. Each points at the other.

Step 2 — Channels that need YOUR credentials

For these, you register one app with the provider and every workspace on your install reuses it. Your customers paste nothing.

WhatsApp Cloud API (official)

FieldWhere it comes from
waba_app_idMeta App Dashboard → your app → Settings → Basic → App ID.
waba_app_secretSame screen → App Secret (click Show).
waba_config_idMeta → WhatsApp → Embedded Signup configuration id. Setting it switches the Add-number button to the embedded popup instead of manual paste.
waba_webhook_verify_tokenYou invent this. Paste the identical value into Meta’s webhook configuration when you subscribe the callback URL.
waba_graph_api_versionGraph API version, e.g. v23.0. Leave as shipped unless Meta retires it.

Twilio (WhatsApp)

twilio_account_sid, twilio_auth_token and twilio_whatsapp_number — all three from the Twilio Console dashboard. The number must be in E.164 form, e.g. +14155238886.

TikTok

FieldWhere it comes from
tiktok_client_key / tiktok_client_secretTikTok for Developers → your app → Basic information. Paste them exactly — a trailing space or newline makes TikTok reject the login with a client_key error.
tiktok_redirect_uriMust match the Login Kit registration character for character, including any trailing slash. OAuth compares it as an exact string.
tiktok_shop_app_key / tiktok_shop_app_secretOnly if you use TikTok Shop. From TikTok Shop Partner Center.
Sandbox keys will not work on a live site. A TikTok sandbox app only authorises users you added as testers — the same “client_key” error appears for everyone else.

Telegram

Telegram needs nothing here for normal use — each workspace pastes its own bot token from BotFather. telegram_api_id and telegram_api_hash (from my.telegram.org) are optional and only power the in-app bot maker.

Step 3 — Channels that are just a toggle

These need no platform credentials. Switch them on and each workspace connects its own account from its Devices page. Turning a toggle off hides the channel from everyone immediately.

ToggleWhat the workspace suppliesGuide
facebook_enabledNothing extra — Facebook reuses your WhatsApp Meta app. Just switch it on.Facebook
line_enabledChannel access token + channel secret, from the LINE Developers console.LINE
wechat_enabledAppID, AppSecret, Token and EncodingAESKey. Requires a Verified Service Account.WeChat
viber_enabledOne bot authentication token. WaDesk registers the webhook itself.Viber
sms_enabledTwilio or MSG91 keys, per workspace.SMS
email_enabledA connected MailTrixy install plus a shared secret.Email
A toggle alone is not enough — check the plan too. Every channel is also gated by a plan feature in Admin → Packages. If a channel is switched on here but not ticked on the customer’s plan, they will not see it at all. Email ships OFF on every plan by default, which is the most common “the channel is missing” report.

Enabled messaging engines & defaults

  • Enabled messaging engines — which WhatsApp engines (Unofficial API, Cloud API, Twilio) workspaces may use. Switching an engine off hides it from every picker.
  • Default engine (default_engine) — which one is pre-selected for a new workspace.
  • Sender pacing & batching — the gap between messages, batch size and gap between batches. These protect unofficial numbers from being flagged for sending too fast; raise the gaps if you see blocks.
  • Campaign auto-end — automatically close campaigns that have been running longer than the set number of hours, so a stuck campaign cannot run forever.

Updating a credential later

  1. Open Admin → Settings → Channel Settings.
  2. Find the channel’s card and replace the value.
  3. Save. Settings apply within about ten seconds — there is no cache to clear for these.
  4. If you changed the Node bridge URL or token, restart the Node service afterwards (pm2 restart all, or the Node app manager on cPanel/Hostinger).
Secret fields show dots, not the value. That is deliberate. Leave them untouched when saving other changes on the same form — a blank secret keeps the stored one. Only type in the box when you actually want to replace it.
Rotating a credential disconnects the accounts using it. Changing the WhatsApp app secret or the TikTok client key invalidates the tokens already issued from it, so those workspaces must reconnect. Do it when you can tell customers, not mid-campaign.

Troubleshooting

SymptomCause & fix
QR never appears / unofficial numbers will not pairThe Node bridge is unreachable or the token does not match. Check the Server URL opens in a browser, and that NODE_WEBHOOK_TOKEN in Node’s .env is identical to the one saved here.
Messages send but nothing arrivesNode cannot call back. Check APP_DOMAIN_NAME in Node’s .env points at this app over a reachable URL.
A channel is switched on but customers cannot see itThe plan feature is not ticked in Admin → Packages. The toggle here and the plan flag must both be on.
TikTok login fails naming client_keyWhitespace in the pasted key, or a sandbox key on a live site. Re-paste from the portal and confirm the app environment.
“URL Blocked” connecting FacebookThe callback is not whitelisted in the Meta app, or your site is not HTTPS. Meta rejects http:// and IP addresses outright.
Webhook verification failsThe verify token here and in Meta must match exactly, and the callback URL must be public HTTPS with a valid certificate.
WaDesk Documentation