Webhooks documentation
Basics
The Webhooks make a POST
request to the endpoints you specify. The Content-Type
header will be application/json
.
To set up your webhook endpoints, you'll need to go to the setup page of your application, and find the Notifications > Webhooks section.
New Feedback
- id
int
, the ID of the feedback threadstring
, the email address of the user who submitted the feedback- url
string
, the permalink of the feedback thread- user_agent
string
, the formatted user agent string- parsed_user_agent
object
, has 3 keys:platform
,browser
, andversion
. Will have empty values if it wasn't submitted from the Javascript SDK- message
string
, the message the user sent- sentiment
string
, the sentiment of the message. Can have values ofpositive
,neutral
, ornegative
- application
object
, has 2 keys:id
, andname
- properties
array
, array of object, with each object containing:type
,name
, andvalue
- created_at
string
, the UTC time string of when the feedback was submitted
Example output
{
"event": "new-feedback",
"data": {
"id": 467,
"email": "george@example.com",
"url": "https:\/\/doorbell.io\/applications\/15\/feedback\/467",
"member": {
"id": 168,
"name": "George",
"email": "george@example.com"
},
"user_agent": "Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; ClaudeBot\/1.0; +claudebot@anthropic.com)",
"parsed_user_agent": {
"platform": null,
"browser": "AppleWebKit",
"version": "537.36"
},
"message": "Here is the feedback that the user sent",
"sentiment": "",
"application": {
"id": 15,
"name": "Your Application Name"
},
"properties": [
{
"type": "boolean",
"name": "logged_in",
"value": true
},
{
"type": "integer",
"name": "user_id",
"value": 220115
},
{
"type": "string",
"name": "account_name",
"value": "My Account"
},
{
"type": "string",
"name": "Page URL",
"value": "https:\/\/example.com"
}
],
"attachments": [],
"tags": [
{
"id": 134,
"name": "tag1",
"color": "##2a6b04"
},
{
"id": 135,
"name": "tag2",
"color": "##1660f6"
}
],
"created_at": "2024-12-11 10:45:13"
}
}
To see an example of the webhooks before you integrate, you can use a service like https://hookbin.com
New Reply
- id
int
, the ID of the replystring
, the email address of the user who replied- url
string
, the permalink of the feedback thread- message
string
, the message the user sent- feedback
object
, has 2 keys:id
, andcreated_at
- application
object
, has 2 keys:id
, andname
- created_at
string
, the UTC time string of when the feedback was submitted
Example reply from member
{
"event": "new-reply",
"data": {
"id": 892,
"email": "reply@example.com",
"reply_from_agent": false,
"url": "https:\/\/doorbell.io\/applications\/15\/feedback\/467",
"message": "This is the reply message",
"feedback": {
"id": 467,
"member": {
"id": 168,
"name": "George",
"email": "george@example.com"
},
"created_at": "2024-12-11 10:45:13"
},
"application": {
"id": 15,
"name": "Your Application Name"
},
"attachments": [],
"created_at": "2024-12-11 11:00:13"
}
}
Example reply from agent
{
"event": "new-reply",
"data": {
"id": 892,
"email": "reply@example.com",
"reply_from_agent": true,
"url": "https:\/\/doorbell.io\/applications\/15\/feedback\/467",
"message": "This is the reply message",
"feedback": {
"id": 467,
"member": {
"id": 168,
"name": "George",
"email": "george@example.com"
},
"created_at": "2024-12-11 10:45:13"
},
"application": {
"id": 15,
"name": "Your Application Name"
},
"attachments": [],
"created_at": "2024-12-11 11:00:13",
"agent": {
"id": 708,
"name": "Gilbert",
"email": "gilbert@example.org"
}
}
}
To see an example of the webhooks before you integrate, you can use a service like https://hookbin.com