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": "CCBot\/2.0 (https:\/\/commoncrawl.org\/faq\/)",
"parsed_user_agent": {
"platform": null,
"browser": "CCBot",
"version": "2.0"
},
"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": 187541
},
{
"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-11-12 22:35:55"
}
}
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-11-12 22:35:55"
},
"application": {
"id": 15,
"name": "Your Application Name"
},
"attachments": [],
"created_at": "2024-11-12 22:50:55"
}
}
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-11-12 22:35:55"
},
"application": {
"id": 15,
"name": "Your Application Name"
},
"attachments": [],
"created_at": "2024-11-12 22:50:55",
"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