Troubleshooting 8 steps

Messages Not Syncing: Fix by Channel

Messages not syncing? Check whether the message arrived at all, then fix it by channel: email polls INBOX every 60s, Telegram long-polls, Meta uses webhooks.

Converge Converge Team
1

Start here: did the message reach Converge at all?

Before changing any settings, work out whether the message was delivered and you can't see it, or whether it never arrived. The conversation list answers this for you.

When Converge ingests an inbound message it does two things to that contact automatically: it reopens the conversation and it promotes the contact to a customer. So an ingested message always lands in Inbox — it cannot stay in Resolved, and it cannot sit in Leads.

What that tells you:

  • The thread is still in Resolved — the reply never reached Converge. This is a delivery problem, not a filing problem. Keep reading.
  • The thread is still in Leads — same conclusion. No inbound message has been processed for that contact.
  • The thread is in Inbox with the new message — delivery is fine. If you couldn't see it a moment ago, that's a browser-side issue; skip to the last step.

Send yourself a test message. Message your own bot, page or mailbox from a personal account and watch the Inbox. A test you control removes the guesswork about whether the customer actually sent anything, and tells you within a minute which of the two problems you have.

2

Check whether the channel is still connected

Open ManagePlatforms. Each channel shows one of two states, and there is no third:

  • Green check + "Online" — the channel is connected and running.
  • Grey dot + "Not connected" — it isn't.

There is no amber "connecting" state and no red "disconnected" state, and a broken channel does not display an error message on its own settings page. If you are hunting for a status light to interpret, you are looking in the wrong place.

How a broken channel actually announces itself

When a channel fails in a way Converge can detect — a revoked token, invalid credentials — Converge doesn't leave it half-running. It switches the channel off and sends a notification to every owner and admin on the account:

"{Channel} Integration Disabled — The {channel} integration was disabled due to an error: {reason}."

That notification carries the actual reason, and it is the only place the reason is shown. Check your notification bell first. On the Platforms page the same event looks like nothing more than the channel having moved back to "Not connected", which is easy to misread as someone having disconnected it by hand.

To fix it: reconnect the channel and re-enter credentials where prompted. Reconnecting is what re-registers everything on the provider's side, so it is also the correct fix for most provider-side breakage.

3

Know how your channel delivers — it changes what can break

Converge does not use one delivery mechanism for every channel. Diagnosing a polled channel as though it were a webhook channel is the most common way to waste an afternoon here.

  • Webhook (provider pushes to us): WhatsApp, Messenger, Instagram, Zalo OA. The webhook body carries the message text itself; only media is fetched afterwards.
  • Long-polling (we hold a connection open and ask): Telegram. Delivery is continuous, not batched.
  • Interval polling every 60 seconds: Email (IMAP) and X (Twitter) DMs. Up to a minute of delay is normal and is not a fault.
  • Persistent gateway connection: Discord, over its WebSocket gateway.
  • Direct: the Widget delivers over Converge's own connection.

What you are not responsible for

Converge is hosted. You do not run a Converge server, so there is no webhook URL for you to keep current, no SSL certificate for you to renew, and no firewall rule on your side that could block an incoming webhook. If a provider needs a webhook registered, connecting the channel in Converge registers it, and reconnecting re-registers it.

The corollary matters too: moving your own website to a new domain has no effect on any messaging channel except the Widget, which is tied to the domain you registered with it.

4

Email: Converge reads INBOX only, and never backfills

The email channel has two rules that account for most "my email isn't syncing" reports, and neither is a fault.

Only INBOX is read

Converge polls the INBOX folder and nothing else. Any mail that never rests in the inbox is invisible to it:

  • A server-side filter or rule that archives on delivery
  • A filter that applies a label or moves mail to a folder without leaving a copy in the inbox
  • Anything the provider files as spam
  • Tabbed inboxes and priority sorting are fine — those stay in INBOX

Check the mailbox's own filter rules before anything else. See setting up the email channel for the full connection walkthrough.

History is never imported

When you connect a mailbox, Converge records the inbox's current position and starts from there. Only mail that arrives after you connect appears in Converge. An inbox with three months of past threads will look empty until someone writes to it, and that is working as designed — the alternative would import your entire archive as open conversations.

Two smaller behaviours worth knowing: mail sent from the connected address is skipped, so your own outbound copies never appear as customer messages; and the poll runs every 60 seconds, so a message can take up to a minute to show up.

5

Telegram: a leftover webhook stops everything

Converge receives Telegram messages by long-polling the Bot API — it holds an open request and Telegram answers it. It does not use a webhook.

This matters because the Telegram Bot API treats the two as mutually exclusive. If a webhook is still registered on your bot, polling is blocked and Converge receives nothing at all. The bot looks perfectly healthy in Telegram, replies to you in the app, and shows a valid token — and not one message reaches Converge.

This is the usual cause when a bot that previously ran on another platform, a self-hosted script, or an automation tool is reconnected to Converge. The old webhook survives the move.

The fix: clear the webhook registered on the bot, then reconnect the channel in Converge. Removing the bot from the old tool is not always enough — the webhook is set on the bot itself and outlives whatever set it.

Other Telegram failures

  • Invalid or regenerated token: the polling connection is rejected, Converge disables the Telegram channel and notifies owners and admins. Regenerating a token in BotFather always requires reconnecting in Converge.
  • Bot deleted or disabled in BotFather: same outcome — the channel switches itself off.
6

Discord: intents, DMs, and the Reply gap

Discord fails in three specific ways, each with a distinctive symptom.

Messages arrive blank as "<unsupported message>"

This is the signature of a missing Message Content Intent. Discord still delivers the message, but with the text and attachment fields emptied out for apps that haven't been granted that privileged intent. Converge receives a message with no content and records it as unsupported. Enable Message Content Intent in the Discord Developer Portal under your application's Bot settings, then reconnect.

Channel messages never appear

The Converge bot subscribes to direct messages only. Messages posted in a server channel are not delivered, no matter the bot's permissions in that channel. Customers have to DM the bot directly.

Replies go missing while normal messages work

Converge processes standard Discord messages. A DM sent using Discord's Reply feature is a different message type (type 19, not type 0) and is not picked up. If some messages from a customer arrive and others vanish, check whether the missing ones were replies — asking them to send a plain message confirms it in seconds.

A fourth case: an invalid or regenerated bot token causes Converge to disable the Discord channel and notify owners and admins.

7

WhatsApp, Messenger and Instagram: expired tokens switch the channel off

These three run on Meta's Graph API and share one failure mode. When Meta rejects the access token — expired, revoked, or invalidated because someone changed a password or removed the app in Business Suite — Converge disables the channel and notifies owners and admins with Meta's own error text.

There is no silent recovery here. Converge does not refresh these tokens in the background, so a channel in this state stays off until somebody reconnects it. Waiting does nothing. If messages stopped arriving on a specific day and nobody touched Converge, a token event on the Meta side is the first thing to check.

Reconnecting the channel issues a fresh token and re-subscribes the webhook in one step.

Zalo OA behaves differently

Zalo OA does refresh its own tokens, so routine expiry is handled without you. It only disables itself when the refresh token expires, at which point you get the same notification and the same fix: reconnect.

WhatsApp has additional failure modes that are specific to it — an old Business Solution Provider still attached to your WhatsApp Business Account, phone number registration problems, and the 24-hour customer service window. Those are covered in troubleshooting WhatsApp connection issues.

8

When it's your browser, not the channel

If your test message reached the Inbox but you weren't seeing new messages arrive live, the channel is fine and the problem is the browser session.

Converge loads your conversations once when the app opens, then receives new messages as live pushes over a WebSocket. There is no offline cache and no local message database, so there is nothing stale to clear — advice about clearing a local cache doesn't apply here, and reloading the page always re-fetches everything from the server.

What to check

  • The offline banner. "Offline — reconnecting…" at the top of the chat means the live connection dropped. Messages are still being received by Converge and will appear once it reconnects.
  • Reload the page. This re-runs the initial load and is the fastest way to confirm whether a message is on the server.
  • A laptop that slept, or a tab left in the background. Browsers throttle background timers, which can stall the reconnect. Converge re-syncs when you return to the tab, but a reload is instant.
  • A network that blocks WebSockets. Some corporate networks and VPNs do. The app loads and history appears, but nothing updates live. Try another network to confirm.

Frequently Asked Questions

Converge checks a connected mailbox over IMAP once every 60 seconds rather than holding a permanent connection open, so a new email can take up to a minute to appear in the inbox. This is normal and is not a sign of a broken connection. Delays consistently longer than a minute point to something else — most often a mailbox filter moving mail out of INBOX, which is the only folder Converge reads.

No. Converge is a hosted service, so there is no server on your side to receive webhooks and nothing to open in a firewall. For channels that use webhooks — WhatsApp, Messenger, Instagram and Zalo OA — connecting the channel in Converge registers the webhook automatically, and reconnecting re-registers it. There is no webhook URL for you to maintain, and changing your own website's domain does not affect any messaging channel except the Widget.

That is the symptom of a missing Message Content Intent. Discord still delivers the message to the bot, but strips the text and attachment fields for applications that have not been granted this privileged intent, so Converge receives a message with no readable content and records it as unsupported. Enable Message Content Intent in the Discord Developer Portal under your application's Bot settings, then reconnect Discord in Converge. Existing blank messages are not backfilled.

Almost always because a webhook is still registered on the bot. Converge receives Telegram messages by long-polling, and the Telegram Bot API does not allow polling and a webhook at the same time — whichever is set, the webhook wins and Converge receives nothing. This usually happens when a bot previously used with another platform or a self-hosted script is moved to Converge, because the old webhook stays attached to the bot itself. Clear the webhook, then reconnect the channel.

No. Connecting a channel starts the flow of new messages from that moment forward; existing history is not backfilled. For email this is explicit: Converge records the mailbox's current position when you connect and only ingests mail that arrives afterwards, so a busy mailbox looks empty until someone writes to it. A newly connected channel showing no conversations is expected behaviour, not a sync failure.

When a provider rejects Converge's credentials — a revoked or expired token, a regenerated bot token, an app removed in Meta Business Suite — Converge disables that channel rather than leaving it silently half-running, and sends a notification to every owner and admin explaining why. On the ManagePlatforms page this looks like nothing more than the channel moving back to "Not connected", so the notification is the only place the actual reason appears. Reconnecting the channel restores it.

Ready to try Converge?

$49/month flat. Up to 15 agents. 7-day free trial, no credit card required.

Start Free Trial