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

# Webhooks

## Overview

Webhooks enable you to receive notifications when specific actions occur within Jimo, such as experience interactions, content updates, or user events.&#x20;

These webhooks can be used to synchronize Jimo with your internal systems, CRMs, or analytics platforms.

### Webhook Event Categories

Webhook events are grouped into the following categories:

* **Tours**: Events related to tour creation, updates, and user interactions.
* **Surveys**: Events for survey creation, responses, and status changes.
* **Checklists**: Events tracking checklist actions and progress.
* **Hints**: Events for hint interactions and modifications.
* **Banners**: Events monitoring banner changes and user views.
* **Changelog Posts**: Events for changelog content updates.

The list of events is documented on the link bellow

{% content-ref url="/pages/N2d4xDi6vDcs7JDc79Sy" %}
[Events](/docs/for-developers/for-developers/webhooks/events.md)
{% endcontent-ref %}

### Webhook Event Format

Each webhook event follows a standardized JSON payload structure containing key information about the triggered action. The general format is as follows:

```json
{
  "event": "event_name",
  "version": "webhook_version_api"
  "time": "unix_timestamp",
  // other event specific properties
}
```

#### Example

Below is an payload example for a [`tour.completed`](https://help.usejimo.com/docs/for-developers/for-developers/pages/N2d4xDi6vDcs7JDc79Sy#tour.completed) event:

```json
{
  "event": "tour.completed",
  "version": "0",
  "time": 1740133769000,
  "experience": {
    "uid": "0814ae77-568d-41c0-912a-0b4c63dc03ff",
    "title": "Onboarding",
    "type": "TOUR",
    "state": "LIVE",
    "isDraft": false,
    "publishedAt": "2025-02-19T10:37:10.000Z",
    "createdAt": "2025-02-19T10:36:46.000Z",
    "expiresAt": null,
    "triggerType": "DEFAULT",
    "recurrencyType": "EVERY_TIME",
    "recurrencyValue": 1
  },
  "jimer": {
    "uid": "17dff65e-434d-4454-bb57-a1167fefbb6b",
    "identifyToken": "sam",
    "username": "Sam",
    "email": null,
    "createdAt": "2025-02-03T11:50:01.000Z",
    "lastActivityAt": "2025-02-21T10:29:28.000Z"
  }
}
```

## Managing Webhooks

To create, update, or delete webhooks, navigate to [**Settings > Integrations > Webhooks**](https://i.usejimo.com/settings/integrations/webhook) in Jimo. You can:

* Add new webhooks by specifying an endpoint and selecting events.
* View and edit existing webhooks.
* Monitor webhook activity, including success and failure logs.

For a step-by-step guide, visit our [**Webhooks Setup Guide**.](/docs/integrations/webhooks.md)

### Error Handling & Retries

If a webhook request fails (e.g., due to your endpoint being down), Jimo automatically retries sending the event at several intervals. Ensure your endpoint is capable of handling retries and logging errors for troubleshooting.

{% hint style="info" %}
We consider that a webhook request failed if the status code returned by your endpoint is `400` or above.
{% endhint %}

Our retry schedule is approximately as follow :

* 1 hour after first failure
* 3 hours later
* 1 day later
* 3 days later
* 1 week later

You can also launch a manual retry from the webhook activity monitoring page.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://help.usejimo.com/docs/for-developers/for-developers/webhooks.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
