> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cloud/knowledge-base/how-to-articles/send-real-time-notifications-to-external-services-with-webhooks.md).

# Send real-time notifications to external services with webhooks

Configure Devolutions Cloud webhooks to send real-time event notifications to external services like Slack with custom payloads.

Webhooks allow you to send real-time notifications to external services whenever certain events occur in your Devolutions Cloud. Note that Webhooks are also available in Devolutions Server.

{% hint style="info" %}
The [Devolutions Cloud reporting service](/cloud/web-interface/reports/scheduled-reports.md) must be running, as it handles the encryption and decryption of webhook payloads during processing.
{% endhint %}

1. Navigate to ***Administration*** – ***Webhooks***.
2. Click **Add.**
3. Enter a descriptive name.
4. Provide the endpoint URL where Devolutions Cloud will send the HTTP POST requests.
5. Choose the events that will trigger the webhook.
6. Optionally, you can define a custom payload to be sent with the webhook. For example, if you want to send a message in Slack for every new entry created, the ***Custom HTTP Body (JSON***) would look like this:

​`json { "Text": "New entry {{EntryName}} created by {{CreatedBy.DisplayName}}" } ​`

7. Click ***Add*** to save the webhook.

### Webhook handlebars list

Below is the list of available handlebars placeholders. These placeholders are automatically replaced with actual event data whenever a Webhook is triggered.

#### Additional fields available in every trigger

* VaultName
* TriggerType (enum)
* TriggerTypeName

#### New checkout request

* EntryId
* EntryName
* RequesterMessage
* Requester.DisplayName
* Requester.Email
* Approvers (Array of {DisplayName: "name", Email: "<email@example.com>"})
* RequestedMinutes

#### Checkout request approved & denied

* EntryId
* EntryName
* RequesterMessage
* Requester.DisplayName
* Requester.Email
* Approvers (Array of {DisplayName: "name", Email: "<email@example.com>"})
* ApproverMessage
* RequestedMinutes
* Approved (bool)

#### Entry created

* EntryId
* EntryName
* CreatedBy.DisplayName
* CreatedBy.Email

#### Temporary access request

* EntryId
* EntryName
* RequesterMessage
* Requester.DisplayName
* Requester.Email
* Approvers (Array of {DisplayName: "name", Email: "<email@example.com>"})
* RequestedMinutes

#### Temporary access request approved & denied

* EntryId
* EntryName
* RequesterMessage
* Requester.DisplayName
* Requester.Email
* Approver.DisplayName
* Approver.Email
* ApproverMessage
* RequestedMinutes
* Approved (bool)


---

# 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.devolutions.net/cloud/knowledge-base/how-to-articles/send-real-time-notifications-to-external-services-with-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.
