answerLoopsanswerLoopsDocs
Reference

Webhooks

Find the setup guide for incoming channel and billing events.

A webhook is a message one service sends to another when something happens. answerLoops receives webhook events from the platforms you connect, such as a new question in a Telegram group or a new GitHub issue, and turns each one into a ticket. This page shows how an event travels through answerLoops and points you to the right setup guide for each source.

Each integration has its own registration, permissions, and event format; there is no single payload format for all channels.

How an event becomes a reply

Every channel below feeds the same pipeline, so a question gets the same treatment wherever it was asked.

A platform sends an event to answerLoops, a ticket is created and the AI drafts an answer from your knowledge base. A confident answer is posted back to the original conversation when Automatic Deflections is on; otherwise the draft waits for your team.

A reply that continues an existing conversation is added to that ticket instead of opening a new one, and a message that is delivered twice creates only one ticket.

Which webhook goes where

SourceEndpoint on your deploymentSetup guide
GitHub/api/github/webhookGitHub integration: Issues, Discussions, comments, and repository synchronization.
Slack/api/slack/eventsSlack integration: channel messages (polling is available when you have no public endpoint).
Google Chat/api/google-chat/eventsGoogle Chat integration: messages to the Chat app.
Discourse/api/discourse/webhookDiscourse integration: activity in watched categories.
Circle/api/circle/webhookCircle integration: posts and comments in connected spaces.
Telegram/api/telegram/webhookTelegram integration: messages delivered to the configured bot.
Email/api/email/ingestEmail integration: inbound messages and reply configuration.
Discord/api/ingest (called by the bot service)Discord integration: the bot forwards channel messages; Discord itself does not call a webhook.
Billing/api/billing/webhookStripe integration: subscription events for operators of the hosted service.

Request handling

Every inbound endpoint reads the request body with a byte limit (1 MB for most providers, 2 MB for email, 5 MB for GitHub) and answers 413 when it is exceeded. Messages are truncated to 8,000 characters before they are processed, and each workspace has a per-minute budget for inbound events; events over the budget are answered 429 so the provider retries later.

Stripe events are claimed by event id before they are handled, so a retried or simultaneous delivery of the same event is applied once, and an event older than the last one applied for a workspace is skipped.

Verify delivery

Complete the integration's setup guide.

Send a test message or create the supported event in the connected platform.

Check that the expected ticket or status change appears in answerLoops.

If nothing appears, check the platform's delivery history and the answerLoops application logs for that event.

For self-hosted deployments, confirm that the configured callback URL is reachable over HTTPS and points to the intended deployment. Use the exact route and event types in the integration guide.

Where to go next

On this page