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 thread
email
string, 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, and version. 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 of positive, neutral, or negative
application
object, has 2 keys: id, and name
properties
array, array of object, with each object containing: type, name, and value
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 reply
email
string, 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, and created_at
application
object, has 2 keys: id, and name
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