# Telegram and WhatsApp assistants

Connect customer messaging to a **workspace** from **Integrations → Workspace messaging**. Account API keys and agent integrations remain separate.

This integration is under review. Availability depends on release and server configuration; a saved connection alone is not evidence that a provider has delivered a message.

## What customers can do

The assistant answers product questions, finds suitable products and helps create appropriate routines, outfits or bag recommendations. It follows the workspace's selected chatbot template, business profile, AI instructions and enabled AI levels. Greetings offer relevant suggested questions. Replies use the customer's language when detectable, with the configured fallback language.

Only the workspace's active catalogue is available to the assistant. Messaging does not give customers account access, order access or management permissions.

Photos and attachments are not downloaded or analyzed in messaging. When the workspace's Beauty Analysis chatbot is enabled on its website, the assistant can link customers to that existing consent-based web experience. Otherwise, it asks for a text description.

## Credits

Greetings, help, privacy and reset messages do not use AI credits. AI replies use the existing visitor credit limits and reservation system:

1. Shared free/promotional credits are used first.
2. Incele workspace credits are used next.
3. Shopify credits are never used for these channels.

A paid reply is committed once after the provider accepts it. Definitive send rejection or an uncertain send releases the reservation. Provider acceptance is different from final delivery; subsequent delivery failure does not automatically refund completed AI work. Messaging provider fees are separate from Incele credits.

## Connect Telegram

1. Create a bot with Telegram's official **BotFather** and keep its bot token private.
2. Select the intended Incele workspace as its current owner.
3. Choose **Telegram → Connect** and enter the bot token and fallback reply language.
4. Incele verifies the bot and registers its HTTPS webhook with a secret header. Registration preserves pending updates; messages older than this connection are ignored.
5. Send the bot a private message, such as “Hello”.

Group messages, messages from bots, edited messages and unrelated Telegram update types are ignored. If registration is not confirmed, keep the pending connection and retry **Webhook setup**. Do not connect the same bot to another workspace simultaneously.

## Connect WhatsApp

Use a WhatsApp Business Platform **Cloud API** phone number. A personal WhatsApp account or the consumer app alone is insufficient.

1. Set up your business phone number in a Meta app with WhatsApp enabled. Complete Meta's phone registration, business requirements and permissions.
2. Create a suitable access token with the required WhatsApp business-management and messaging permissions. Use a maintained production token for production, rather than relying on a short-lived setup token.
3. In the selected workspace, choose **WhatsApp → Connect**. Enter the Cloud API phone-number ID, access token and the secret of the Meta app that issues your webhooks.
4. In **Webhook setup**, copy the callback URL and verification token into Meta. Subscribe to the **messages** field for the WhatsApp Business Account, and subscribe that Business Account to your Meta app.
5. If your Meta app already has a callback for another system, arrange its routing before replacing it. Incele's WhatsApp callback supports several Incele workspace phone numbers sharing the same Meta app.
6. Send a customer message to that business number. The connection remains pending until a valid signed event for its phone number arrives. Callback challenge verification alone does not prove message delivery.

Setup tokens are visible only in the explicit owner setup window and are cleared when it closes. Provider access tokens and app secrets are never returned by the status API.

WhatsApp replies are limited to the customer-service window opened by an incoming customer message. This integration does not send campaigns or business-initiated template messages outside that window.

## Processing and delivery status

Messages are stored durably before the webhook is acknowledged. The existing background scheduler processes them, normally starting on its next one-minute run. Responses can take longer during provider throttling or queued work.

Messages from one contact are processed in order. Duplicate webhook deliveries do not create duplicate replies or charges. A definitive rate-limit rejection can retry the saved answer, at most three send attempts. A timeout, malformed success or lost acknowledgement is **uncertain** and is never automatically resent.

Review provider records or contact the customer before marking uncertain deliveries reviewed. That action only dismisses the warning; it neither resends a message nor charges credits. Telegram acceptance does not provide a final-delivery receipt. WhatsApp delivery callbacks update accepted replies when a matching recipient and provider message ID are known.

## Privacy and disconnecting

Customers can send:

- `/help` or `/start` for suggestions.
- `/product` for product help; `/routine` to start routine assistance.
- `/privacy` for the retention notice.
- `/reset` or `/forget` to erase saved conversation content and cancel queued replies for their contact.

Content is encrypted at rest and retained for at most seven days, with scheduled cleanup. Context is limited to eight messages and also respects the workspace's chat inactivity setting. Deduplication and delivery metadata can remain for up to 90 days. Financial usage records are retained separately; they contain pseudonymous actor keys, not phone numbers or message text.

Disconnecting revokes local processing and erases this connection's saved content and encrypted credentials. A reply already being sent can still finish. Remove the webhook in the provider dashboard if you no longer need it. Workspace ownership loss, account deactivation, hidden/inactive workspaces or workspace deletion prevent further processing.

## Provider references

- [Telegram Bot API](https://core.telegram.org/bots/api)
- [WhatsApp Business Platform](https://developers.facebook.com/documentation/business-messaging/whatsapp/overview)
- [WhatsApp messages API](https://developers.facebook.com/documentation/business-messaging/whatsapp/reference/whatsapp-business-phone-number/message-api)
