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

# Webhooks

> Trigger Runchat workflows from external services by POSTing JSON data to a unique webhook URL. Use for integrations with Zapier, GitHub, Slack, and more.

Runchat’s API allows developers to run tools by providing data in the format specified by the tool’s io schema. You can also send arbitrary data in any format to any Runchat using the `Run` endpoint and then retrieve this data in the `webhook` input type.

## Use cases

Webhooks can be used to trigger Runchats when certain events happen in other applications. For instance, webhooks can be used to build things like:

* Event: Whenever a customer is created in stripe, stripe triggers your webhook
  Runchat: Get stripe data, save it to a google sheet and post to slack
* Event: Whenever someone fills in a typeform
  Runchat: Create a task to determine who on a support team is best suited to the ticket or complete a round-robin assignment, then send them an email with a summary of the form.

Because posting data to a webhook will trigger a runchat, webhooks can also be used to orchestrate complex asynchronous tasks. These include tasks that might require waiting for input such as:

* Event: A runchat requires human approval before continuing a task, so emails the user a link to a form
  Action: When the user completes the form, trigger the same runchat with new data to continue the task.

## Working with webhooks

To use webhooks in your Runchat, you will need to add a `Webhook` node from the `Node` tab. You can add multiple webhook nodes to your runchat, and this can be used to control execution flow. All nodes downstream from a webhook node will be triggered when you make a `POST` request to the `Run` endpoint. Anything that is not downstream from a webhook node will *not* be triggered.
