# Webhooks

Webhooks allow you to connect Jam to external systems and receive real-time notifications when key events occur.\
This makes it possible to automate workflows, trigger actions in Intercom, or log events in your internal systems without relying on polling.

{% hint style="warning" %}
Webhooks are currently in **beta**. To enable access for your workspace, please contact our Sales team.
{% endhint %}

***

### 🧪 Supported Events (Beta)

At this stage, Jam supports two events related to the Intercom workflow:

* **`intercom.recorder.recorded`** – fired when a customer records and submits their screen.
* **`intercom.recorder.opted_out`** – fired when a customer chooses not to record their screen.

{% hint style="info" %}
More events will be added as we expand the webhook beta.
{% endhint %}

***

### Sample Payloads

All webhook events share the same general structure:

* **`id`** – unique identifier for the event.
* **`type`** – the event type (e.g. `intercom.recorder.recorded`).
* **`created_at`** – timestamp of when the event occurred.
* **`data`** – object containing event-specific information.

Example (`intercom.recorder.recorded`):

```json
{
  "id": "evt_12345",
  "type": "intercom.recorder.recorded",
  "created_at": "2025-09-09T12:00:00Z",
  "data": {
    "conversationId": "215470686832743",
    "jamId": "9573a43b-3ec9-49ab-b7e4-bf6cfc4bdfc",
    "recording_url": "https://jam.dev/r/rec_12345"
  }
}
```

***

### The Webhooks Tab in Jam Dashboard

Inside the **Jam Dashboard**, you’ll find a dedicated tab for Webhooks under:\
**Settings → Integrations → Webhooks**

From this tab you can:

* Create and manage endpoints.
* Subscribe to supported events.
* Monitor active integrations.

<figure><img src="https://1990502200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAIPUIiSH7MWC0IHLJuD%2Fuploads%2F8a1bZHXOtNkZF8O1Tr13%2Fimage.png?alt=media&#x26;token=4bffe5a1-63a4-4a7d-850d-262a80b4acd2" alt=""><figcaption></figcaption></figure>

***

### The Webhook Portal

Beyond the initial configuration, you can monitor and debug deliveries in the **Webhook Portal**. It allows you to:

* **View logs** of all delivery attempts (success and failure).
* **Replay events** that failed to deliver.
* **Access your Signing Secret** to validate incoming requests.
* **Monitor statistics** such as delivery success vs failure rates.
* **Inspect messages** and see full payloads with headers.

<figure><img src="https://1990502200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAIPUIiSH7MWC0IHLJuD%2Fuploads%2F0jX9xkCbMBvm4Mne9blp%2FScreenshot%202025-09-10%20at%2009.32.46.png?alt=media&#x26;token=fdfc9ad2-5d0a-42b0-a6f1-00b7af01e8bf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1990502200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAIPUIiSH7MWC0IHLJuD%2Fuploads%2FUGsQxrlGcVwNm8t2A99B%2Fimage.png?alt=media&#x26;token=b364b29e-a863-4bb6-ba2e-9ad599d888e5" alt=""><figcaption></figcaption></figure>

***

### How to Configure

#### 1. Creating a Manual Endpoint

1. Go to **Settings → Integrations → Webhooks → Manage**.
2. Click **Add Endpoint**.

<figure><img src="https://1990502200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAIPUIiSH7MWC0IHLJuD%2Fuploads%2FufVVSNvzmIGOWngQmgvS%2Fimage.png?alt=media&#x26;token=64488a74-8656-4db7-943d-b20f6d81a8fd" alt=""><figcaption></figcaption></figure>

3. Enter your endpoint URL.
4. Select the events you want to subscribe to (e.g. `intercom.recorder.recorded`, `intercom.recorder.opted_out`).
5. Click **Create**.

***

#### 2. Using Connectors

In addition to generic endpoints, Jam also provides **specific connectors** for popular integrations like Intercom.

**a) Intercom Fin Connector**

If you’re integrating with **Intercom Fin**:

1. In the **Webhook** dropdown, select **Intercom Fin**.
2. Paste the URL you copied from Intercom.
3. Under **Subscribe to Events**, ensure only the following are checked:
   * `intercom.recorder.recorded`
   * `intercom.recorder.opted_out`
4. Click **Create**.

<figure><img src="https://1990502200-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAIPUIiSH7MWC0IHLJuD%2Fuploads%2FR8gb0OutUohiigoYHJsu%2FScreen%20Cast%202025-09-10%20at%209.38.55%20AM.gif?alt=media&#x26;token=46d938c9-f3c0-4ff9-b279-f1bce24df58f" alt=""><figcaption></figcaption></figure>

That’s it — Jam will now send Intercom events directly into your workflow.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jam.dev/docs/integrations/webhooks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
