Webhooks are sent as HTTP POST requests. In the request headers, you can find the Tidio Webhook user agent, which provides information about the source of the webhook, and a signature for verifying the authenticity of the webhook.

The webhook body contains JSON data and follows a consistent base structure for every request. The distinguishing factor for each webhook is the content object, which encapsulates data specific to a particular topic or event.


Each webhook contains at least these three headers

content-type: application/json
user-agent: Tidio Webhook
x-tidio-signature: t=1687177446,s=4ecdcaf813c422d34413671b2ed68e0a6e69ea8496d34ab40bd33cef26571e70


Every webhook body contains following structure

created_atnumberDate when webhook was sent (as timestamp)
project_public_keystringPublic key of your project
topicstringEvent name
versionnumberVersion of the webhook
webhook_idstring(uuid)Unique webhook ID
contentobjectThe object that contains data for specific topics

Example request body:

    "created_at": 1687177445,
    "project_public_key": "m8ixolegtgfvo6ckzvmuempdq0obbqsy",
    "topic": "contact.created",
    "version": 1,
    "webhook_id": "7307ac4d-2c74-4d32-b7f9-f7d037ed2ebb",
    "content": {



Body all of the webhook types you will find here