Hi, Humans. How may we help you?

Setting up and using Webhooks in Support Service
6 min
Created by Karine Moreira on 1/2/2025 11:38 AM
Updated by Karine Moreira on 1/2/2025 4:11 PM

Webhooks enable you to send ticket data to another system automatically when specific conditions are met. This approach is often simpler than a two-way API setup, as the receiving system does not need to initiate an API request to get the data from Support Service.

If you’re new to triggers, we strongly recommend reviewing the article Triggers first. These resources explain essential concepts, terminology, and how to configure trigger conditions—knowledge that is crucial for setting up webhook triggers effectively.


Glossary

REST API: A standardized framework enabling different systems to communicate over the web.
POST Method: A REST API request used to send data to a server.
Data Packet: A structured unit of data formatted for transmission.
JSON: A widely used file format for transmitting data.


Setting Up a Support Service Webhook

To create a webhook:

  1. Navigate to Configurations > Automations > Triggers > Webhooks and create a trigger of type Ticket.

  2. Configure the trigger conditions to match the scenarios where the webhook should execute.

  3. Select the Trigger Webhook action and enter the URL where the POST request will be sent. The request will include a JSON data packet containing ticket information.

💡Tip: You can add additional actions to the webhook trigger, such as creating a note to log that the ticket information was sent to another system. All configured actions will execute when the trigger fires.

Ensure the receiving system is set up to accept and process the POST request from Support Service.


JSON Data Packet

When a webhook trigger fires, it sends a POST request to the specified URL. The request contains a JSON data packet with details about the ticket. Here’s a breakdown of the data structure:

Key Fields

Field

Description

Id

Object ID (e.g., ticket or note ID)

Subject

Ticket subject

Status

Ticket status

Justification

Reason for ticket status, if applicable

Urgency

Ticket priority

ServiceFirstLevel

Specific service selected on the ticket

Actions

Objects for ticket notes

Description

Plain note text

HtmlDescription

HTML representation of the note text

Attachments

Objects for ticket note attachments

FileName

Name of the attachment file

Path

Internal system path for the attachment

CreatedBy

Details about the creator of the parent object

CreatedDate

UTC timestamp when the object was created

ResolvedInFirstCall

Indicates whether it was resolved in the first call

SlaSolutionTime

Time in minutes between ticket creation and resolution

Example JSON Structure

{
  "Id": int,
  "Subject": string,
  "Status": string,
  "Justification": string,
  "Actions": [
    {
      "Id": int,
      "Description": string,
      "HtmlDescription": string,
      "Attachments": [
        {
          "FileName": string,
          "Path": string,
          "CreatedBy": {
            "Id": string,
            "PersonType": int,
            "ProfileType": int,
            "BusinessName": string,
            "Email": string,
            "Phone": string
          },
          "CreatedDate": string
        }
      ]
    }
  ],
  "WebhookEvents": [
    {
      "Criteria": int,
      "Operator": int
    }
  ],
  "Urgency": string,
  "ServiceFirstLevel": string,
  "CustomFieldValues": [
    {
      "CustomFieldId": int,
      "CustomFieldRuleId": int,
      "Line": int,
      "Value": string,
      "Items": [
        {
          "PersonId": string,
          "ClientId": string,
          "Team": string,
          "CustomFieldItem": string,
          "StorageFileGuid": string,
          "FileName": string
        }
      ]
    }
  ],
  "SlaSolutionTime": int
}



Understanding the Webhook Execution Log

To monitor webhook execution attempts, navigate to Configurations > Automations > Triggers > Webhooks > Webhook Execution Log. This log displays every instance when a trigger with the Trigger Webhook action fired. Use filters like date, ticket number, and error messages to refine your search.

The execution log is particularly helpful for testing or troubleshooting webhooks. For example, it shows if the receiving system rejected the POST request and returned an error.