Skip to content

Webhooks

These events are sent to your webhook endpoint when certain actions occur. See App Profile to configure your webhook URL.

Events are sent as a POST request to your configured webhookUrl with the following structure:

{
"events": [
{
"type": "EVENT_TYPE",
"timestamp": "2023-08-11T08:10:28.240Z",
"data": { ... }
}
]
}

Fired when a new tenant is created.

Event type: TENANT_CREATED

{
"events": [
{
"type": "TENANT_CREATED",
"timestamp": "2023-08-11T08:10:28.240Z",
"data": {
"id": "624c14cc0c01e70033356285",
"plan": "TEAM",
"trial": false,
"paymentStatus": {
"shouldSelectPlan": false,
"shouldSetupPayments": false,
"provider": "STRIPE",
"paymentsEnabled": false
},
"mfa": false,
"locale": "en",
"name": "Nebulr AB",
"logo": "",
"metadata": {},
"onboarded": true,
"signupBy": {
"email": "john@example.com",
"firstName": "John",
"lastName": "Doe"
},
"createdAt": "2022-04-05T10:07:08.235Z"
}
}
]
}

Fired when a tenant is updated.

Event type: TENANT_UPDATED

The data payload contains the full updated Tenant model.


Fired when a new user is added to a tenant.

Event type: TENANT_USER_CREATED

{
"events": [
{
"type": "TENANT_USER_CREATED",
"timestamp": "2023-08-11T08:29:22.469Z",
"data": {
"id": "63cad6ac48dcba47e9322853",
"role": "OWNER",
"email": "john.doe@example.com",
"username": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"fullName": "John Doe",
"onboarded": true,
"consentsToPrivacyPolicy": false,
"enabled": true,
"teams": ["cool_gang"],
"lastSeen": "2023-01-20T18:00:12.489Z",
"createdAt": "2023-01-20T18:00:12.489Z",
"tenant": {
"id": "624c14cc0c01e70033356285",
"plan": "TEAM",
"name": "Nebulr AB",
"onboarded": true,
"createdAt": "2022-04-05T10:07:08.235Z"
}
}
}
]
}

Fired when a tenant user is updated.

Event type: TENANT_USER_UPDATED

The data payload contains the full updated Tenant User model.


Fired when a tenant user is deleted.

Event type: TENANT_USER_DELETED

The data payload contains the Tenant User model of the deleted user.