HeySoraENRU

Messaging channels architecture #

Messaging channels connect a customer's chat app to the same conversation runtime that serves the web chat and the SDKs. This page describes the flow, the delivery guarantees and what is supported per channel. Channel-specific pages: Telegram and WhatsApp. The chat on your own website is described in Website chat widget.

Message flow #

  1. The provider (Telegram or Meta) sends each customer message to an HTTPS webhook of HeySora.
  2. The webhook address contains a secret path, and the request is verified with the provider's signature or secret header. Requests that fail verification are rejected.
  3. Every incoming event goes through durable deduplication, so a message that the provider delivers twice is processed once.
  4. The conversation runtime attaches the message to the right conversation of the right project.
  5. The AI agent answers from your approved knowledge, or hands the conversation to a human operator.
  6. The operator sees the conversation in the workspace inbox and can reply there.
  7. The outbound sender delivers every reply (AI or operator) to the provider and records the outcome.

Reliability #

Project binding #

Every connection belongs to exactly one project of one organisation. The binding is enforced on the server for incoming and outgoing messages: a message can never be routed into another project or another organisation, whatever the provider payload contains.

Supported message types #

TypeTelegramWhatsApp
TextYesYes
Photo / imageYesYes
DocumentYesYes
Voice / audioYesYes (audio)
LocationPolite "not supported" noticeYes
StickersPolite "not supported" noticeNot part of the supported set
VideoPolite "not supported" noticeNot part of the supported set

Types outside the supported set are not processed as content. Where the channel allows, the customer receives a short notice that the type is not supported and is invited to describe the request in text.

Delivery states #

StateTelegramWhatsApp
SentYesYes
DeliveredNo receipts from TelegramYes, from provider receipts
ReadNo receipts from TelegramYes, from provider receipts
FailedYesYes
Blocked with reasonNot applicableYes (for example, outside the 24-hour window without an approved template)

Setup, testing and troubleshooting #

Connection steps, credentials, project binding, testing and troubleshooting depend on your organisation and are available after you sign in: the Help centre holds the step-by-step connection guides and troubleshooting, and the Developers portal holds technical details and testing tools.