> For the complete documentation index, see [llms.txt](https://docs.agilecase.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.agilecase.com/developer-documentation/webhooks.md).

# Webhooks

Moving data between AgileCase and other systems over HTTP.

A webhook is an HTTP request that carries data between AgileCase and another system as something happens, rather than on a schedule or by hand. AgileCase supports them in both directions, and the two are configured in quite different ways.

<table data-view="cards"><thead><tr><th>Direction</th><th>What it does</th><th data-card-target data-type="content-ref">Target</th></tr></thead><tbody><tr><td><strong>Incoming Webhooks</strong></td><td>Another system posts JSON to AgileCase, which creates or updates a case from it. Configured with a JSON mapping file, no code required.</td><td><a href="/developer-documentation/webhooks/incoming-webhooks.md">Incoming Webhooks</a></td></tr><tr><td><strong>Outgoing Webhooks</strong></td><td>AgileCase sends case data to another system when a script decides it should. Triggered from an on save script.</td><td><a href="/developer-documentation/webhooks/outgoing-webhooks.md">Outgoing Webhooks</a></td></tr></tbody></table>

## Which one you need

<table><thead><tr><th width="230">If you want to</th><th>Use</th></tr></thead><tbody><tr><td>Turn form submissions from TypeForm, JotForm or similar into cases</td><td>An incoming webhook</td></tr><tr><td>Let another system update a case it already knows about</td><td>An incoming webhook, with its action set to update</td></tr><tr><td>Tell an external system that a case has reached a particular state</td><td>An outgoing webhook</td></tr><tr><td>Push a case value into another system as soon as it changes</td><td>An outgoing webhook</td></tr></tbody></table>

If you need two-way traffic, the two are independent and can be combined: an outgoing webhook can notify another system, which can then post back through an incoming one.

## Before you start

Both directions need some setting up on your account before they can be used.

Incoming webhooks need a security key for your account and an endpoint, which AgileCase Support provides. Outgoing webhooks need an on save script, so they also need scripting available on the case type.

{% hint style="info" %}
Contact <sales@agilecase.com> to have webhooks enabled on your account, or if you would like them configured for you.
{% endhint %}
