Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Sep 3, 2025 5:55:13 AM
Sep 2, 2025 11:23:32 AM
The event payloads emitted by the Qlik Cloud webhooks service are changing. Qlik is replacing a legacy event format with a new cloud event format.
Any legacy events (such as anything not already cloud event compliant) will be updated to a temporary hybrid event containing both legacy and cloud event payloads. This will start on or after November 3, 2025.
Please consider updating your integrations to use the new fields once added.
A formal deprecation with at least a 6-month notice will be provided via the Qlik Developer changelog. After that period, hybrid events will be replaced entirely by cloud events.
Webhook automations in Qlik Automate will not be impacted at this time.
The webhooks service in Qlik Cloud enables you to subscribe to notifications when your Qlik Cloud tenant generates specific events.
At the time of writing, the following legacy events are available:
Service | Event name | Event type | When is event generated |
API keys | API key validation failed | com.qlik.v1.api-key.validation.failed | The tenant tries to use an API key which is expired or revoked |
Apps (Analytics apps) | App created | com.qlik.v1.app.created | A new analytics app is created |
Apps (Analytics apps) | App deleted | com.qlik.v1.app.deleted | An analytics app is deleted |
Apps (Analytics apps) | App exported | com.qlik.v1.app.exported | An analytics app is exported |
Apps (Analytics apps) | App reload finished | com.qlik.v1.app.reload.finished | An analytics app has finished refreshing on an analytics engine (not it may not be saved yet) |
Apps (Analytics apps) | App published | com.qlik.v1.app.published | An analytics app is published from a personal or shared space to a managed space |
Apps (Analytics apps) | App data updated | com.qlik.v1.app.data.updated | An analytics app is saved to persistent storage |
Automations (Automate) | Automation created | com.qlik.v1.automation.created | A new automation is created |
Automations (Automate) | Automation deleted | com.qlik.v1.automation.deleted | An automation is deleted |
Automations (Automate) | Automation updated | com.qlik.v1.automation.updated | An automation has been updated and saved to persistent storage |
Automations (Automate) | Automation run started | com.qlik.v1.automation.run.started | An automation run began execution |
Automations (Automate) | Automation run failed | com.qlik.v1.automation.run.failed | An automation run failed |
Automations (Automate) | Automation run ended | com.qlik.v1.automation.run.ended | An automation run finished successfully |
Reloads (Analytics reloads) | Reload finished | com.qlik.v1.reload.finished | An analytics app has been refreshed and saved |
Users | User created | com.qlik.v1.user.created | A new user is created |
Users | User deleted | com.qlik.v1.user.deleted | A user is deleted |
Any events not listed above will remain as-is, as they already adhere to the cloud event format.
Each event will change to a new structure. The details included in the payloads will remain the same, but some attributes will be available in a different location.
The changes being made:
data
object.cloudEventsVersion
is replaced by specversion
. For most events this will be from cloudEventsVersion: 0.1
to specversion: 1.0+
.contentType
is replaced by datacontentype
to describe the media type of the data object.eventId
is replaced by id
.eventTime
is replaced by time
.eventTypeVersion
is not present in the future schema.eventType
is replaced by type
.extensions.actor
is replaced by authtype
and authclaims
.extensions.updates
is replaced by data._updates
extensions.meta
, and any other direct objects on extensions
are replaced by equivalents in data
where relevant.extensions
object will be moved to the root and renamed to be lowercase if needed, such astenantId
,userId
,spaceId
, etc.
This is the current legacy payload of the automation created event:
{
"cloudEventsVersion": "0.1",
"source": "com.qlik/automations",
"contentType": "application/json",
"eventId": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"eventTime": "2025-09-01T09:53:17.920Z",
"eventTypeVersion": "1.0.0",
"eventType": "com.qlik.v1.automation.created",
"extensions": {
"ownerId": "637390ef6541614d3a88d6c3",
"spaceId": "685a770f2c31b9e482814a4f",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"userId": "637390ef6541614d3a88d6c3"
},
"data": {
"connectorIds": {},
"containsBillable": null,
"createdAt": "2025-09-01T09:53:17.000000Z",
"description": null,
"endpointIds": {},
"id": "cae31848-2825-4841-bc88-931be2e3d01a",
"lastRunAt": null,
"lastRunStatus": null,
"name": "hello world",
"ownerId": "637390ef6541614d3a88d6c3",
"runMode": "manual",
"schedules": {},
"snippetIds": {},
"spaceId": "685a770f2c31b9e482814a4f",
"state": "available",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"updatedAt": "2025-09-01T09:53:17.000000Z"
}
}
This will be the temporary hybrid event for automation created:
{
// cloud event fields
"id": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"time": "2025-09-01T09:53:17.920Z",
"type": "com.qlik.v1.automation.created",
"userid": "637390ef6541614d3a88d6c3",
"ownerid": "637390ef6541614d3a88d6c3",
"tenantid": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"description": "hello world",
"datacontenttype": "application/json",
"specversion": "1.0.2",
// legacy event fields
"eventId": "f4c26f04-18a4-4032-974b-6c7c39a59816",
"eventTime": "2025-09-01T09:53:17.920Z",
"eventType": "com.qlik.v1.automation.created",
"extensions": {
"userId": "637390ef6541614d3a88d6c3",
"spaceId": "685a770f2c31b9e482814a4f",
"ownerId": "637390ef6541614d3a88d6c3",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
},
"contentType": "application/json",
"eventTypeVersion": "1.0.0",
"cloudEventsVersion": "0.1",
// unchanged event fields
"data": {
"connectorIds": {},
"containsBillable": null,
"createdAt": "2025-09-01T09:53:17.000000Z",
"description": null,
"endpointIds": {},
"id": "cae31848-2825-4841-bc88-931be2e3d01a",
"lastRunAt": null,
"lastRunStatus": null,
"name": "hello world",
"ownerId": "637390ef6541614d3a88d6c3",
"runMode": "manual",
"schedules": {},
"snippetIds": {},
"spaceId": "685a770f2c31b9e482814a4f",
"state": "available",
"tenantId": "BL4tTJ4S7xrHTcq0zQxQrJ5qB1_Q6cSo",
"updatedAt": "2025-09-01T09:53:17.000000Z"
},
"source": "com.qlik/automations"
}