> For the complete documentation index, see [llms.txt](https://docs.elimity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elimity.com/reference-manual/v3.46.6/advanced-topics/itsm-webhook.md).

# ITSM webhook

Elimity Insights allows users to indicate necessary changes in the IAM data, like an AD user that should be deleted. Those change requests are stored by the Elimity Insights server. In addition, you can also integrate with your IT ticketing system by triggering a webhook for every new change request.

## Configuring Elimity Insights

By default, the Elimity Insights server does not trigger any webhook when a new change request is created. To enable this feature, open the 'MISCELLANEOUS' tab on the 'Advanced settings' page and use the toggle in the 'ITSM webhook' section:

<figure><img src="https://content.gitbook.com/content/dCjbKMeEPEP87BEywF69/blobs/V8vvAnZi5qaGAK7p9F8U/Screenshot%202026-08-10%20at%2013.25.21.png" alt=""><figcaption></figcaption></figure>

## Request body format

The Elimity Insights server triggers your webhook by sending an HTTP `POST` request. We include detailed information about the change request in the HTTP request body. More specifically, the request body is a JSON object with the following properties:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>attributeTypeId</code></td><td><code>optional[string]</code></td><td>External identifier of the attribute type for which the assignment should change; present if and only if <code>type</code> is <code>"attributeAssignment"</code></td></tr><tr><td><code>attributeTypeName</code></td><td><code>optional[string]</code></td><td>Name of the attribute type for which the assignment should change; present if and only if <code>type</code> is <code>"attributeAssignment"</code></td></tr><tr><td><code>campaignName</code></td><td><code>optional[string]</code></td><td>Campaign name for the access review from which this change request originates; present if and only if <code>type</code> is <code>"accessReviewSubmission"</code></td></tr><tr><td><code>comment</code></td><td><code>string</code></td><td>User-provided comment for the change request or access review</td></tr><tr><td><code>entity</code></td><td><code>optional[Entity]</code></td><td>Target entity for the change request; present if and only if <code>type</code> is <code>"attributeAssignment"</code> or <code>"entityRemoval"</code></td></tr><tr><td><code>fromEntity</code></td><td><code>optional[Entity]</code></td><td>Entity from which the to-be-removed relationship starts; present if and only if <code>type</code> is <code>"relationshipRemoval"</code></td></tr><tr><td><code>relationshipChanges</code></td><td><code>optional[list[RelationshipChange]]</code></td><td>Relationship changes requested in the access review, present if and only if <code>type</code> is <code>"accessReviewSubmission"</code></td></tr><tr><td><code>requestedAt</code></td><td><code>string</code></td><td>Timestamp indicating when the change was requested</td></tr><tr><td><code>requestedBy</code></td><td><code>string</code></td><td>Email address of the change request creator</td></tr><tr><td><code>reviewCreatedBy</code></td><td><code>optional[string]</code></td><td>Email address of the access review creator; present if and only if <code>type</code> is <code>"accessReviewSubmission"</code></td></tr><tr><td><code>rowRemovals</code></td><td><code>optional[list[RowRemoval]]</code></td><td>Row removals requested in the access review, present if and only if <code>type</code> is <code>"accessReviewSubmission"</code></td></tr><tr><td><code>toEntity</code></td><td><code>optional[Entity]</code></td><td>Entity at which the to-be-removed relationship ends; present if and only if <code>type</code> is <code>"relationshipRemoval"</code></td></tr><tr><td><code>type</code></td><td><code>string</code></td><td>One of <code>"accessReviewSubmission"</code>, <code>"attributeAssignment"</code>, <code>"entityRemoval"</code> or <code>"relationshipRemoval"</code></td></tr><tr><td><code>value</code></td><td><code>optional[Value]</code></td><td>Describes current and requested values for the attribute assignment; only present if and only if <code>type</code> is <code>"attributeAssignment"</code></td></tr></tbody></table>

The table below describes all properties for `Entity` objects:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>External identifier of the entity</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Human-readable name of the entity</td></tr><tr><td><code>sourceId</code></td><td><code>number</code></td><td>Unique identifier of the entity's source</td></tr><tr><td><code>sourceName</code></td><td><code>string</code></td><td>Human-readable name of the entity's source</td></tr><tr><td><code>type</code></td><td><code>string</code></td><td>External identifier of the entity's type</td></tr></tbody></table>

All `RelationshipChange` objects have the following properties:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>columnEntity</code></td><td><code>Entity</code></td><td>Entity corresponding to the access review column for the to-be-changed relationship</td></tr><tr><td><code>comment</code></td><td><code>string</code></td><td>User-provided comment</td></tr><tr><td><code>operation</code></td><td><code>string</code></td><td>One of <code>"add"</code> or <code>"remove"</code></td></tr><tr><td><code>rowEntity</code></td><td><code>Entity</code></td><td>Entity corresponding to the access review row for the to-be-changed relationship</td></tr></tbody></table>

The `RowRemoval` objects have a similar structure:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>comment</code></td><td><code>string</code></td><td>User-provided comment</td></tr><tr><td><code>entity</code></td><td><code>Entity</code></td><td>Entity corresponding to the to-be-removed access review row</td></tr></tbody></table>

Finally we also describe the `Value` objects:

<table data-full-width="true"><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>current</code></td><td><code>any</code></td><td>Current value of the to-be-changed assignment</td></tr><tr><td><code>requested</code></td><td><code>any</code></td><td>Requested value for the to-be-changed assignment</td></tr><tr><td><code>type</code></td><td><code>string</code></td><td>One of <code>"boolean"</code>, <code>"date"</code>, <code>"dateTime"</code>, <code>"number"</code>, <code>"string"</code> or <code>"time"</code></td></tr></tbody></table>


---

# 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.elimity.com/reference-manual/v3.46.6/advanced-topics/itsm-webhook.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.
