Thena Webhooks

Overview

Thena's webhook functionality provides a seamless way to stay informed about specific events in real-time, like request creation or updates. By integrating these webhooks into systems such as data lakes, CRMs, and other applications, you can instantly process and act upon these events. This real-time synchronization empowers businesses to enhance their operations and customer engagement.

Setting Up Thena Webhooks

  • Go to the Thena dashboard: https://app.thena.ai/settings?tab=integrations
  • Navigate to Global Settings -> Integrations.
  • Select Webhooks -> Add Integration.
  • A dialog will appear. Input your Thena Access Key.
  • Specify the webhook endpoint where you wish to receive the events.
  • Optionally, specify a header authentication value under the header key "authorization" if you want additional security.

Use the toggles within the modal to enable or disable specific webhook events, such as 'request created' and 'request updated'.

Webhook Event Types

Request Created: Triggered when a new request is made.
Request Updated: Triggered when an existing request is updated, which includes status changes, assignment modifications, CSATs, and more.

Webhook Payload Fields

Absolutely! Let's fill in the remaining fields for the table and provide a more comprehensive example.

Webhook Payload Fields

FieldTypeDescription
actionStringType of action, e.g., "UPDATE" | "CREATE"
requestObjectDetails about the request
AI_generatedTagsArrayAI generated tags linked to the request
AI_requestSentimentStringAI-generated sentiment analysis result
AI_requestSummaryStringAI-generated summary of the request
AI_requestTitleStringAI-generated title for the request
AI_requestUrgencyStringAI-determined urgency of the request
activityArrayList of activities related to the request
assignedByObjectInformation about who assigned the request
assignedToObjectInformation about who the request is assigned to
channelIdStringUnique ID for the communication channel
channelNameStringName of the communication channel
closed_byObjectInformation about who closed the request
closed_onStringTimestamp when the request was closed
configuredFieldValuesObjectConfigured values for custom fields
createdAtStringTimestamp when the request was created
customer_nameStringName of the customer who made the request
descriptionStringDescription or content of the request
feedbacksStringFeedback given by the customer
permalinkStringPermanent link to the request
replyCountNumberCount of replies for the request
requestIdNumberUnique ID for the request
requestLinkStringDirect link to view the request
requestorObjectInformation about the individual making the request
senderObjectInformation about the request sender
statusStringCurrent status of the request
team_idStringUnique ID of the team handling the request
team_nameStringName of the team handling the request
updatedAtStringTimestamp of the last update to the request

Sample Webhook Payload

Here's a more comprehensive payload for the "Request Updated" webhook event:

{
    "action": "UPDATE",
    "request": {
        "AI_generatedTags": ["Lorem", "Ipsum"],
        "AI_requestSentiment": "Neutral",
        "AI_requestSummary": "Dolor sit amet, consectetur adipiscing.",
        "AI_requestTitle": "Adipiscing Elit Ipsum",
        "AI_requestUrgency": "Medium",
        "activity": [
            {
                "id": "LOREM12345",
                "text": "<p>Lorem ipsum dolor sit.</p>",
                "ts": "1692826409.902529",
                "user": {
                    "id": "LOREM12345",
                    "name": "lorem.ipsum"
                }
            }
            // ... other activity data
        ],
        "assignedBy": {
            "email": "[email protected]",
            "emailDomain": "thena.ai",
            "id": "IPSUM67890",
            "name": "lorem.ipsum_assigner"
        },
        "assignedTo": {
            "email": "[email protected]",
            "emailDomain": "thena.ai",
            "id": "DOLOR11121",
            "name": "assigned.to_name"
        },
        "channelId": "CHAN12345",
        "channelName": "thena-dev-lorem",
        "closed_by": {
            "email": "[email protected]",
            "emailDomain": "thena.ai",
            "id": "CLOSE98765",
            "name": "closer.name"
        },
        "closed_on": "2023-08-23T21:55:58.034Z",
        "configuredFieldValues": {
            "Product": [
                {
                    "name": "Product Lorem",
                    "value": "Product Ipsum"
                }
            ]
        },
        "createdAt": "2023-08-23T21:31:01.573Z",
        "customer_name": "Lorem Customer Ipsum",
        "description": "<p>Lorem ipsum dolor sit amet.</p>",
        "feedbacks": "<p>lorem.ipsum_customer gave 5 with additional feedback of Great Support!</p>",
        "internalAlert": {
            "channel": "CHANIPSUM789",
            "permalink": "https://lorem.slack.com/archives/CHANIPSUM789/p1692826261224619",
            "ts": "1692826261.224619"
        },
        // ... other internalNotes
        "isInternalHelpdesk": false,
        "isPrivateChannel": false,
        "permalink": "https://lorem.slack.com/archives/CHAN12345/p1692826255621649",
        "replyCount": 8,
        "requestId": "42",
        "requestLink": "http://localhost:3000/requests?requestId=42",
        "requestTs": "1692826255.621649",
        "requestor": {
            "email": "[email protected]",
            "emailDomain": "thena.ai",
            "firstName": "Lorem",
            "id": "REQ123456",
            "lastName": "Ipsum",
            "name": "requestor.name"
        },
        "sender": {
            "email": "[email protected]",
            "emailDomain": "thena.ai",
            "firstName": "Lorem",
            "id": "SEND654321",
            "lastName": "Ipsum",
            "name": "sender.name"
        },
        "status": "ASSIGNED",
        "team_id": "TEAM123456",
        "team_name": "Team Lorem Ipsum",
        "threadTs": "1692826255.621649",
        "updatedAt": "2023-08-23T22:51:21.912Z"
    }
}