> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chatsyncs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks in ChatSyncs

> Every place in ChatSyncs where you can send data out to your own webhook URL — messages, keyword triggers, button clicks, and form submissions.

A **webhook** is a URL on your own server or app that ChatSyncs sends data to automatically,
the moment something happens on WhatsApp — a message, a button tap, a completed form. Instead
of exporting data by hand, your system just receives it.

ChatSyncs doesn't have one single "Webhooks" feature — it's an option that shows up in several
different places, depending on **what event** should trigger the send.

<Tip>
  This page covers the **outbound** direction: ChatSyncs sending data *out* when something
  happens inside a bot flow. For the opposite direction — an external event triggering ChatSyncs
  to send a WhatsApp message — see [Webhook Workflow](/learn/chatsyncs-webhook-workflow/introduction).
</Tip>

**Example:** A customer completes a booking form. Instead of you checking ChatSyncs and copying
the details into your CRM, ChatSyncs POSTs the form data straight to your CRM's webhook URL the
moment the customer submits.

## Where to find it

<CardGroup cols={1}>
  <Card title="1. Messages & Status Changes (4 triggers)" href="/learn/chatsyncs-webhooks/webhook-for-messages-status-changes-in-chatsyncs">
    Send every message a bot receives (and every reply it sends) to your own server, plus
    message and conversation status changes — in real time.
  </Card>

  <Card title="2. Keyword Trigger" href="/learn/chatsyncs-webhooks/webhook-on-keyword-trigger-in-chatsyncs">
    Forward the data a Keyword Replies flow collects to a webhook the moment its keyword matches.
  </Card>

  <Card title="3. Button Click" href="/learn/chatsyncs-webhooks/webhook-on-button-click-in-chatsyncs">
    Fire a webhook when a subscriber taps a specific button in a bot flow.
  </Card>

  <Card title="4. Input Flow Submission" href="/learn/chatsyncs-webhooks/webhook-for-input-flow-in-chatsyncs">
    Send every completed User Input Flow's answers to a webhook automatically.
  </Card>

  <Card title="5. WhatsApp Flow Submission" href="/learn/chatsyncs-webhooks/webhook-for-whatsapp-flows-in-chatsyncs">
    Attach one or more webhook URLs directly to a WhatsApp Flow, fired on every form submission.
  </Card>
</CardGroup>

## Frequently asked

<AccordionGroup>
  <Accordion title="Is there one central place to manage all my webhooks?">
    No — each webhook is configured next to the feature that triggers it (Bot Settings, a
    Keyword Replies flow, Outbound Actions, an Input Flow, or a WhatsApp Flow). This page is a
    map to all five locations.
  </Accordion>

  <Accordion title="Which webhook should I use to get notified about every incoming message, not just form submissions?">
    Use the **Incoming Message** trigger under **Bot Settings → Webhook** — it fires for every
    customer message, regardless of whether it's part of a flow or form. See [Webhook for
    Messages & Status Changes](/learn/chatsyncs-webhooks/webhook-for-messages-status-changes-in-chatsyncs) for all four triggers on that
    tab.
  </Accordion>

  <Accordion title="Which webhook should I use to know when a customer finishes filling out a form?">
    If it's a chat-based **User Input Flow**, use its own **Webhook** integration. If it's a
    native **WhatsApp Flow**, use the webhook list attached to that flow — see
    [Webhook for WhatsApp Flows](/learn/chatsyncs-webhooks/webhook-for-whatsapp-flows-in-chatsyncs).
  </Accordion>

  <Accordion title="Can I send data to more than one destination from the same event?">
    Depends on where you're configuring it — the [WhatsApp Flow webhook
    list](/learn/chatsyncs-webhooks/webhook-for-whatsapp-flows-in-chatsyncs) supports multiple URLs directly. For other triggers,
    point the webhook at a service like Zapier or Make.com and fan the data out from there.
  </Accordion>
</AccordionGroup>
