Webhooks Reference
Webhooks allow you to receive real-time notifications when events occur in Userlist. When an event happens (such as a user being created, a message being opened, or a form being submitted), Userlist sends an HTTP POST request to your configured endpoint with details about the event.
This reference documents the structure of webhook payloads, how to verify their authenticity, and the specific events you can subscribe to.
Setting up webhooks
You can manage your webhook endpoints in the Webhooks Integration settings page. There, you can add new endpoints, select which events to subscribe to, and enable or disable webhook delivery.
Request structure
Webhooks from Userlist are sent as HTTP POST requests with a JSON payload. The payload contains information about the event that triggered the webhook. See below for a full list of webhook events and their payload structures.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
POST /your/webhook/endpoint HTTP/1.1
Host: yourdomain.com
Content-Type: application/json; charset=utf-8
X-Userlist-Signature: t=1764846825,v1=b9a214590ebad332a83034b14527ff257ca19e97899164ef7625cbaa531c3dd8
{
"id": "0ed1e6d0-ba8b-4194-8999-4e7fe4821a2c",
"name": "user_updated",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
Automatic retries
If your webhook endpoint returns an HTTP error status code (400-5xx) or fails to respond, Userlist will automatically retry delivering the webhook up to 10 times. Retries follow an exponential backoff strategy, with increasing delays between attempts to give your server time to recover.
Your endpoint should respond with a 2xx status code to acknowledge successful receipt of the webhook. If you need to perform long-running operations in response to a webhook, consider responding immediately with a success status and processing the webhook asynchronously to avoid timeouts.
Event ordering
Webhook events are delivered as they occur, but the order of delivery is not guaranteed. Due to network conditions, retries, or parallel processing, events may arrive out of sequence at your endpoint.
Verifing webhook payloads
In order verify that incoming webhook requests are genuinely from Userlist, you can use the X-Userlist-Signature header included with each request.
X-Userlist-Signature: t=1764843117,v1=4c72b7ab5caa24d653a065bb70ad77eaa00ad479393ec29b5839abf1fd085d53The signature includes a timestamp and a hash-based message authentication code (HMAC) using SHA-256. To verify the signature, start by splitting the value of the X-Userlist-Signature header by commas to get the timestamp and signature components. Then, split each component by the equals sign (=) to extract the actual values.
X-Userlist-Signature: t=<timestamp>,v1=<hex_signature>Next, prepare the string to sign by concatenating the timestamp extracted from the header and the raw request body (the exact bytes received) with a period (.) in between.
1
"<timestamp>.<raw_request_body>"
Then, use your webhook secret (found in the webhook configuration screen) to compute the HMAC SHA-256 hash of the prepared string.
1
HMAC256("<timestamp>.<raw_request_body>", webhook_secret)
Finally, compare the computed hash (in hexadecimal format) with the signature extracted from the X-Userlist-Signature header. If they match, the webhook request is verified as coming from Userlist. To prevent replay attacks, check that the timestamp is within an acceptable time window to the current time. To prevent timing attacks, use a constant-time comparison function.
Here are a couple of example implementations in different programming languages. Their standard libraries provide the necessary cryptographic functions to compute HMAC SHA-256 hashes.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const crypto = require('crypto');
function verifyWebhookSignature(header, body, webhookSecret) {
const parts = header.split(',');
const timestamp = parts[0].split('=')[1];
const signature = parts[1].split('=')[1];
const signedPayload = `${timestamp}.${body}`;
const computedSignature = crypto
.createHmac('sha256', webhookSecret)
.update(signedPayload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(computedSignature),
Buffer.from(signature)
);
}
List of webhook events
| Title | Event Name |
|---|---|
| User Created | user_created |
| User Updated | user_updated |
| User Subscribed | user_subscribed |
| User Unsubscribed | user_unsubscribed |
| Company Created | company_created |
| Company Updated | company_updated |
| Relationship Created | relationship_created |
| Relationship Updated | relationship_updated |
| Form Submitted | form_submitted |
| Message Enqueued | message_enqueued |
| Message Opened | message_opened |
| Message Clicked | message_clicked |
User Created
Triggered when a new user is created in Userlist.
Properties
-
name string
The name of the event. This is always
user_createdfor this event. -
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "3c67a121-de90-412a-85fe-bae573cc5ecc",
"name": "user_created",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
User Updated
Triggered when an existing user is updated in Userlist.
Properties
-
name string
The name of the event. This is always
user_updatedfor this event. -
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "ceb60db9-5801-4218-962f-a5290438f571",
"name": "user_updated",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
User Subscribed
Triggered when a user subscribes to receive messages. Either globally or for a specific topic.
Properties
-
name string
The name of the event. This is always
user_subscribedfor this event. -
properties object
An object containing additional information about the event, such as the topic subscribed to. If there is no topic, the user subscribed to all messages.
Hide nested properties Show nested properties-
topic_id Optional string
The ID of the topic the user subscribed to. Present only if the subscription is for a specific topic.
-
topic_name Optional string
The name of the topic the user subscribed to. Present only if the subscription is for a specific topic.
-
-
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "d129ba2b-41cc-4e05-9257-bf64749433ec",
"name": "user_subscribed",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
User Unsubscribed
Triggered when a user unsubscribes from receiving messages. Either globally or for a specific topic.
Properties
-
name string
The name of the event. This is always
user_unsubscribedfor this event. -
properties object
An object containing additional information about the event, such as the topic unsubscribed from. If there is no topic, the user unsubscribed from all messages.
Hide nested properties Show nested properties-
topic_id Optional string
The ID of the topic the user unsubscribed from. Present only if the unsubscription is for a specific topic.
-
topic_name Optional string
The name of the topic the user unsubscribed from. Present only if the unsubscription is for a specific topic.
-
-
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "5fa6fb80-c0e8-4ed6-8432-5c4ac37f9b01",
"name": "user_unsubscribed",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
Company Created
Triggered when a new company is created in Userlist.
Properties
-
name string
The name of the event. This is always
company_createdfor this event. -
company object
The company associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the company.
-
identifier string
The unique identifier of the company as provided by your application.
-
name string
The name of the company.
-
properties object
An object containing custom properties about the company.
-
signed_up_at datetime
The timestamp (in UTC) when the company signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the company was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the company was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"id": "c7bc06f6-20dc-44a0-964b-a2914953ea3c",
"name": "company_created",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"company": {
"id": "8b4f7a23-c9d1-4e8a-9b2c-1f5a6e3d8c9b",
"identifier": "company-567",
"name": "Example, Inc.",
"properties": {
"industry": "Software",
"billing_plan": "enterprise"
},
"signed_up_at": "2024-01-10T09:00:00Z",
"created_at": "2024-01-10T09:00:00Z",
"updated_at": "2024-12-01T11:45:00Z"
}
}
Company Updated
Triggered when an existing company is updated in Userlist.
Properties
-
name string
The name of the event. This is always
company_updatedfor this event. -
company object
The company associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the company.
-
identifier string
The unique identifier of the company as provided by your application.
-
name string
The name of the company.
-
properties object
An object containing custom properties about the company.
-
signed_up_at datetime
The timestamp (in UTC) when the company signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the company was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the company was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"id": "4502a2aa-a3d8-4eb9-95fa-a108d31c875c",
"name": "company_updated",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"company": {
"id": "8b4f7a23-c9d1-4e8a-9b2c-1f5a6e3d8c9b",
"identifier": "company-567",
"name": "Example, Inc.",
"properties": {
"industry": "Software",
"billing_plan": "enterprise"
},
"signed_up_at": "2024-01-10T09:00:00Z",
"created_at": "2024-01-10T09:00:00Z",
"updated_at": "2024-12-01T11:45:00Z"
}
}
Relationship Created
Triggered when a new relationship between a user and a company is created in Userlist.
Properties
-
name string
The name of the event. This is always
relationship_createdfor this event. -
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
company object
The company associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the company.
-
identifier string
The unique identifier of the company as provided by your application.
-
name string
The name of the company.
-
properties object
An object containing custom properties about the company.
-
signed_up_at datetime
The timestamp (in UTC) when the company signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the company was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the company was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
relationship object
The relationship associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the relationship.
-
properties object
An object containing custom properties about the relationship.
-
created_at datetime
The timestamp (in UTC) when the relationship was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the relationship was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
"id": "b82b4986-1742-40a1-8d1f-b95193ba5007",
"name": "relationship_created",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
},
"company": {
"id": "8b4f7a23-c9d1-4e8a-9b2c-1f5a6e3d8c9b",
"identifier": "company-567",
"name": "Example, Inc.",
"properties": {
"industry": "Software",
"billing_plan": "enterprise"
},
"signed_up_at": "2024-01-10T09:00:00Z",
"created_at": "2024-01-10T09:00:00Z",
"updated_at": "2024-12-01T11:45:00Z"
},
"relationship": {
"id": "5c7e2a91-b8f3-4d6a-a1e9-7b4c8d2f1a5e",
"properties": { "role": "owner" },
"created_at": "2024-01-15T10:35:00Z",
"updated_at": "2024-11-20T16:10:00Z"
}
}
Relationship Updated
Triggered when an existing relationship between a user and a company is updated in Userlist.
Properties
-
name string
The name of the event. This is always
relationship_updatedfor this event. -
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
company object
The company associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the company.
-
identifier string
The unique identifier of the company as provided by your application.
-
name string
The name of the company.
-
properties object
An object containing custom properties about the company.
-
signed_up_at datetime
The timestamp (in UTC) when the company signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the company was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the company was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
relationship object
The relationship associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the relationship.
-
properties object
An object containing custom properties about the relationship.
-
created_at datetime
The timestamp (in UTC) when the relationship was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the relationship was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
{
"id": "478732bb-d689-4b87-a5c5-802ae62578ed",
"name": "relationship_updated",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
},
"company": {
"id": "8b4f7a23-c9d1-4e8a-9b2c-1f5a6e3d8c9b",
"identifier": "company-567",
"name": "Example, Inc.",
"properties": {
"industry": "Software",
"billing_plan": "enterprise"
},
"signed_up_at": "2024-01-10T09:00:00Z",
"created_at": "2024-01-10T09:00:00Z",
"updated_at": "2024-12-01T11:45:00Z"
},
"relationship": {
"id": "5c7e2a91-b8f3-4d6a-a1e9-7b4c8d2f1a5e",
"properties": { "role": "owner" },
"created_at": "2024-01-15T10:35:00Z",
"updated_at": "2024-11-20T16:10:00Z"
}
}
Form Submitted
Triggered when a user submits a form.
Properties
-
name string
The name of the event. This is always
form_submittedfor this event. -
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
properties object
An object containing additional information about the event.
-
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "74be269f-106f-4302-82c0-2e024bc10f5a",
"name": "form_submitted",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
Message Enqueued
Triggered when a message is enqueued to be sent to a user.
Properties
-
name string
The name of the event. This is always
message_enqueuedfor this event. -
properties object
An object containing additional information about the event, such as the message identifier.
Hide nested properties Show nested properties-
message_id string
The unique identifier of the message that was enqueued. This is not the unique identifier of the messages source (broadcast, workflow message, etc), but rather the unique identifier of the specific instance of the message being sent to the user.
-
subject Optional string
The subject of the message that was enqueued. This is omitted on transactional messages for security reasons.
-
-
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "a45064cf-01ae-4878-958a-f7925096e25e",
"name": "message_enqueued",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
Message Opened
Triggered when a user opens a message.
Properties
-
name string
The name of the event. This is always
message_openedfor this event. -
properties object
An object containing additional information about the event, such as the message identifier.
Hide nested properties Show nested properties-
message_id string
The unique identifier of the message that was opened. This is not the unique identifier of the messages source (broadcast, workflow message, etc), but rather the unique identifier of the specific instance of the message being sent to the user.
-
subject Optional string
The subject of the message that was opened. This is omitted on transactional messages for security reasons.
-
-
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "6bdd16ee-bb5d-4a66-bf99-e2795470ddf1",
"name": "message_opened",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}
Message Clicked
Triggered when a user clicks a link in a message.
Properties
-
name string
The name of the event. This is always
message_clickedfor this event. -
properties object
An object containing additional information about the event, such as the message identifier and the URL clicked.
Hide nested properties Show nested properties-
message_id string
The unique identifier of the message that was clicked. This is not the unique identifier of the messages source (broadcast, workflow message, etc), but rather the unique identifier of the specific instance of the message being sent to the user.
-
subject Optional string
The subject of the message that was clicked. This is omitted on transactional messages for security reasons.
-
url Optional string
The URL that was clicked by the user. This is omitted on transactional messages for security reasons.
-
-
user object
The user associated with the event.
Hide nested properties Show nested properties-
id string
The unique internal identifier for the user.
-
identifier Optional string
The unique identifier of the user as provided by your application.
-
email Optional string
The email address of the user.
-
properties object
An object containing custom properties about the user.
-
signed_up_at datetime
The timestamp (in UTC) when the user signed up, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
last_seen_at datetime
The timestamp (in UTC) when the user was last seen in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
unsubscribed_at Optional datetime
The timestamp (in UTC) when the user unsubscribed from all messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
opted_in_at datetime
The timestamp (in UTC) when the user opted in to receive messages, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the user was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the user was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
-
-
id string
The unique internal identifier for the event.
-
scope string
The scope of the event. This is always
userlistfor events generated by Userlist itself. -
occurred_at datetime
The timestamp (in UTC) when the event was created, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
created_at datetime
The timestamp (in UTC) when the event was created in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601) -
updated_at datetime
The timestamp (in UTC) when the event was last updated in Userlist, formatted as
YYYY-MM-DDTHH:MM:SSZ(RFC3339/ISO8601)
Example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"id": "14902c92-f3ef-4033-9dd5-47482eb227e5",
"name": "message_clicked",
"scope": "userlist",
"occurred_at": "2024-12-04T14:20:00Z",
"created_at": "2024-12-04T14:20:15Z",
"updated_at": "2024-12-04T14:20:15Z",
"user": {
"id": "3d70d1d4-484a-4e72-8857-916ee525214e",
"identifier": "user-123",
"email": "user-123@example.com",
"properties": {
"first_name": "Delaney",
"last_name": "Jones"
},
"signed_up_at": "2024-01-15T10:30:00Z",
"last_seen_at": "2024-12-04T14:22:00Z",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-12-04T14:22:00Z"
}
}