Skip to main content

Webhooks

A webhook calls your HTTPS endpoint whenever something you subscribed to changes in a project. Use it to keep another system in sync with a project without polling.

What triggers a call​

EventWhen
item.createdAn item (chart, presentation, comment, …) was created.
item.updatedAn item was changed, moved into a container, or locked/unlocked.
item.deletedAn item was deleted.
user.addedA user was added to the project.
user.roleChangedA member's role changed.
user.removedA member was removed or left the project.

Calls contain ids only. Fetch the details you need with the Project Item API.

Who can manage webhooks​

Project members with the Manager or Admin role.

Limits​

RuleLimit
Webhooks per project10
urlAbsolute https URL, at most 2048 characters, no user name or password
customDataAny JSON, at most 4096 bytes
nameAt most 128 characters

Every member of a project can see its webhook definitions, including the URL and customData. Do not put secrets into the URL or customData. Verify the signature instead to make sure a call comes from DEON.

Copied projects​

When a project is copied, branched, imported or created from a template, its webhooks are copied along but stay inactive in the copy: they are listed with "inactive": "copiedFromOtherProject" and are never called. Create new webhooks for the copy if you need them.

Managing webhooks without the REST API​

Webhooks are stored as project metadata entries with the key deon.webhook whose value is the JSON definition (including the projectId of the project it belongs to). Clients that edit project metadata directly must follow the same rules as the REST API: only Managers and Admins may create, change or delete these entries, and every definition must be valid.

Next steps​