When your app receives a webhook request from Featurebase, check the topic attribute to see what event caused it. The first part of the event type will tell you the payload type, e.g., a post, comment, etc.
{
"id": "notif_0193a6e6-fb6b-78ef-b71f-15008d9f9cde",
"object": "notification_event",
"topic": "post.updated",
"data": {
"object": "notification_event_data",
"item": {
"id": "6755c4afb12a37dffa6319b0",
"object": "post",
"title": "My new title"
},
"changes": [
{
"field": "title",
"oldValue": "My old title",
"newValue": "My new title"
}
]
}
}In the example above, a post was updated, and the payload type is a notification_event_data. Notice how the changes array contains the old and new values for the changed fields.
Each webhook event includes:
| Field | Description |
|---|---|
object | Always "notification_event" |
topic | The specific event type |
organizationId | Your organization's unique identifier |
data | Contains the event details |
data.object | Always "notification_event_data" |
data.item | The resource that triggered the event |
data.changes | For update events, shows what changed |
id | Unique identifier for the webhook event |
webhookId | ID of the webhook configuration |
createdAt | Timestamp when the event occurred |
deliveryStatus | Current delivery status of the webhook |
The item object structure varies based on the event type, but always includes the resource's essential data and any relevant timestamps.
Nova webhook payloads use the standardized API format with key differences from the legacy Clover format:
| Aspect | Nova Format |
|---|---|
| Type identifier | object: 'resource_name' |
| Board reference | boardId |
| Author | author: { id, name, profilePicture } |
| Status | status: { object: 'post_status', ... } |
| Tags | tags: [...] |
| Comments enabled | features.commentsEnabled |
| Access control | access.userIds, access.companyExternalIds |
| Timestamps | createdAt, updatedAt |
| Pinned | isPinned |
{
"object": "notification_event",
"topic": "post.updated",
"organizationId": "6595518396205e06b897ad65",
"data": {
"object": "notification_event_data",
"item": {
"id": "67546dfb6e1363426b90707f",
"object": "post",
"title": "New title",
"content": "<p>New content</p>",
"boardId": "6755d0970b5d5b1fefdf54f4",
"status": {
"object": "post_status",
"id": "6595518396205e06b897ad6d",
"name": "Completed",
"color": "Green",
"type": "completed",
"isDefault": false
},
"author": {
"id": "5fef50c5e9458a0012f82456",
"name": "Admin",
"email": "admin@example.com",
"profilePicture": "https://example.com/profile.jpg"
},
"createdAt": "2024-12-08T17:06:30.577Z",
"updatedAt": "2024-12-08T17:06:30.577Z"
},
"changes": [
{
"field": "title",
"oldValue": "Old title",
"newValue": "New title"
},
{
"field": "content",
"oldValue": "<p>Old content</p>",
"newValue": "<p>New content</p>"
}
]
},
"id": "notif_0193a70c-3015-757c-a260-22ae37c86608",
"webhookId": "675346db13af7340748ce850",
"createdAt": "2024-12-08T16:13:34.102Z",
"deliveryStatus": "pending"
}- Topic types - View all available webhook event types