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
Field | Type | Description |
---|---|---|
action | String | Type of action, e.g., "UPDATE" | "CREATE" |
request | Object | Details about the request |
AI_generatedTags | Array | AI generated tags linked to the request |
AI_requestSentiment | String | AI-generated sentiment analysis result |
AI_requestSummary | String | AI-generated summary of the request |
AI_requestTitle | String | AI-generated title for the request |
AI_requestUrgency | String | AI-determined urgency of the request |
activity | Array | List of activities related to the request |
assignedBy | Object | Information about who assigned the request |
assignedTo | Object | Information about who the request is assigned to |
channelId | String | Unique ID for the communication channel |
channelName | String | Name of the communication channel |
closed_by | Object | Information about who closed the request |
closed_on | String | Timestamp when the request was closed |
configuredFieldValues | Object | Configured values for custom fields |
createdAt | String | Timestamp when the request was created |
customer_name | String | Name of the customer who made the request |
description | String | Description or content of the request |
feedbacks | String | Feedback given by the customer |
permalink | String | Permanent link to the request |
replyCount | Number | Count of replies for the request |
requestId | Number | Unique ID for the request |
requestLink | String | Direct link to view the request |
requestor | Object | Information about the individual making the request |
sender | Object | Information about the request sender |
status | String | Current status of the request |
team_id | String | Unique ID of the team handling the request |
team_name | String | Name of the team handling the request |
updatedAt | String | Timestamp 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"
}
}
Updated 29 days ago