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

# Create and Manage Webhooks

A webhook gives your systems a URL they can send data to. Each request to that URL runs the ingestion plan attached to the webhook, with the request body available to the plan.

For the payload format, authentication fields, limits and troubleshooting, see Ingestion Webhooks: Technical Guide.

### Before you begin

* You need the **Admin** role in Sprinto.
* Create the entity type the data will be stored in, and the ingestion plan that maps the webhook body to it. See Where the payload appears in your plan.
* Decide how the sender will authenticate: API key, bearer token or HMAC signature.

### Create a webhook

1. Go to **Ingestion → Webhooks** and click **New webhook**.
2. Enter a **Name** that says what sends the data and what it contains, for example `Device Sync` or `Incident Events`. Add a **Description** if others will manage the webhook.
3. Choose an **Auth Type** and fill in **Auth Config**. See Authentication for the fields each type needs.

   > Use **No Auth** only for testing. Anyone who has the URL of a webhook without auth can send data to it.
4. Optional: set **Event ID Config**, **Challenge Config**, **Rate Limit Per Minute** and **Max Payload Bytes**. The defaults work for most senders. See Duplicate events and Limits.
5. Click **Save**. Sprinto creates the webhook and its URL.
6. Open the webhook, click **Attach Plan** and choose the plan that should process its events. Optionally add a **Filter Expression** or a **Runtime Params Mapping** (see Filter events and Map values to plan parameters). Then click **Attach**.
7. Test the webhook: click **Copy cURL**, replace the sample body with a real record, and run the command. You should get HTTP `202`. The event appears under **Recent Events**. Open its plan run to check that the records were stored.
8. Give the **Webhook URL** to the system that will send events.

### Manage a webhook

Open the webhook from **Ingestion → Webhooks** and use these actions:

| Action          | What it does                                                                                                                      |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Edit**        | Change the name, authentication, advanced settings or limits. Changes apply to the next request.                                  |
| **Rotate ID**   | Issues a new webhook URL. The old URL stops working immediately, so update every sender. Use it if the URL may have been exposed. |
| **Delete**      | Removes the webhook permanently. Requests to its URL get `404`. This can't be undone.                                             |
| **Detach Plan** | Stops running the plan for new events. The webhook keeps receiving and recording events.                                          |

To check what a webhook has received, see **Recent Events** on the webhook page. For what each status means, see Monitor events.

### Related Information

* [Create and Configure an Ingestion Plan](/ingestion/dashboard-actions/create-and-configure-an-ingestion-plan.md)
* [Manage Plan Execution and Version History](/ingestion/dashboard-actions/manage-plan-execution-and-version-history.md)
* [Build and Edit Plans Using YAML and AI Editor](/ingestion/dashboard-actions/build-and-edit-plans-using-yaml-and-ai-editor.md)
* [Create and Manage Entity Types](/ingestion/dashboard-actions/create-and-manage-entity-types.md)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sprinto.com/ingestion/webhooks/create-and-manage-webhooks.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
