Skip to content

v1

Webhook Basics

Webhooks provide an automated mechanism for delivering real-time updates directly to your ticketing system. Each message’s content varies based on the specific event that has occurred, ensuring you receive relevant and actionable information.

With webhooks, you gain immediate ticket updates, allowing for seamless integration and processing within your own systems without the need to continuously poll the Cyderes TSI API.

For enabling webhook functionality in your environment, please contact your Customer Success Manager (CSM) with the information outlined below.

Types of Events

There are four actions that trigger a webhook:

Action Trigger
Escalate A ticket has been escalated (Ticket creation event)
Update A ticket has been updated
Comment A comment has been added or updated
Attachment An attachment has been added

Payloads

Escalate Event Field Terminology

Field Description
action The event action (comment, attachment, update, or escalate)
ticket_id The unique id for the ticket
event_timestamp The timestamp of when the message was sent
data The action-specific data for the event
id The unique id for the ticket
type The type of ticket (i.e. "Service Task", "Phishing", "Alert")
escalated A flag to determine if the ticket has been marked as escalated
priority The priority of the issue represented as an integer (1-3)
status The status of the ticket in Cyderes's internal system
created_at The timestamp of when the ticket was created
updated_at The timestamp of when the ticket was updated
analyst_notes The analyst's notes regarding the ticket
recommendations The analyst's recommended actions regarding the ticket
short_description A short description of the ticket
description An explanation of the ticket
soar_references References to Cyderes's SOAR
insights The Cyderes insights for this issue
raw_event_description The Cyderes raw case alert payload

Example Escalate Event Payload

{
    "action": "escalate",
    "ticket_id": "CYDERES-XXXXXX",
    "event_timestamp": "1677614794",
    "data": {
        "ticket": {
            "id": "CYDERES-XXXXXX",
            "type": "Alert",
            "short_description": "PUBLIC_IP_ADDRESS Example",
            "description": "",
            "escalated": true,
            "priority": 3,
            "status": "In-Progress",
            "created_at": "2022-12-31T00:00:00Z",
            "updated_at": "2022-12-31T12:00:00Z",
            "analyst_notes": "This is where an analyst can leave their notes.",
            "recommendations": "This is where an analyst can leave their recommendations",
            "soar_references": {
                "case_id": "XXXXXXX",
                "alert_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
            },
            "insights": {
                "html_format": "",
                "json_format": ""
            },
            "raw_event_description": "[{}]"
        },
        "comments": [
            {
                "id": "XXXXX",
                "author": "Jane Smith",
                "body": "This is the comment body. It is the text of the comment.",
                "created_at": "2022-12-31T00:00:00Z"
            }
        ],
        "attachments": [
            {
                "id": "XXXXX",
                "file_name": "screenshot.png",
                "created_at": "2022-12-31T00:00:00Z",
            }
        ]
    }
}

Comment Event Field Terminology

Field Description
action The event action (comment, attachment, update, or escalate)
ticket_id The unique id for the ticket
event_timestamp The timestamp of when the message was sent
data The action-specific data for the event
id The unique id for the comment
author The name of the comment author
body The comment text content
created_at The timestamp of when the comment was created

Example Comment Event Payload

{
    "action": "comment",
    "ticket_id": "CYDERES-XXXXXX",
    "event_timestamp": "1677614794",
    "data": {
        "comment": {
            "id": "XXXXX",
            "author": "Jane Smith",
            "body": "This is the comment body. It is the text of the comment.",
            "created_at": "2022-12-31T00:00:00Z"
        }
    }
}

Attachment Event Field Terminology

Field Description
action The event action (comment, attachment, update, or escalate)
ticket_id The unique id for the ticket
event_timestamp The timestamp of when the message was sent
data The action-specific data for the event
id The unique id for the attachment
file_name The file name of the attachment
created_at The timestamp of when the attachment was created

Example Attachment Event Payload

{
    "action": "attachment",
    "ticket_id": "CYDERES-XXXXXX",
    "event_timestamp": "1677614794",
    "data": {
        "attachment": {
            "id": "XXXXX",
            "file_name": "screenshot.png",
            "created_at": "2022-12-31T00:00:00Z"
        }
    }
}

Note: A call to our API using the attachment_id is needed to get the body of the attachment. Click here or more information.

Update Event Field Terminology

Field Description
action The event action (comment, attachment, update, or escalate)
ticket_id The unique id for the ticket
event_timestamp The timestamp of when the message was sent
data The action-specific data for the event
id The unique id for the ticket
type The type of ticket (i.e. "Service Task", "Phishing", "Alert")
escalated A flag to determine if the ticket has been marked as escalated
priority The priority of the issue represented as an integer (1-3)
status The status of the ticket in Cyderes's internal system
created_at The timestamp of when the ticket was created
updated_at The timestamp of when the ticket was updated
analyst_notes The analyst's notes regarding the ticket
recommendations The analyst's recommended actions regarding the ticket
short_description A short description of the ticket
description An explanation of the ticket
soar_references References to Cyderes's SOAR
insights The Cyderes insights for this issue
raw_event_description The Cyderes raw case alert payload

Example Update Event Payload

{
    "action": "update",
    "ticket_id": "CYDERES-XXXXXX",
    "event_timestamp": "1677614794",
    "data": {
        "ticket": {
            "id": "CYDERES-XXXXXX",
            "type": "Alert",
            "short_description": "PUBLIC_IP_ADDRESS Example",
            "description": "",
            "escalated": true,
            "priority": 3,
            "status": "In-Progress",
            "created_at": "2022-12-31T00:00:00Z",
            "updated_at": "2022-12-31T12:00:00Z",
            "analyst_notes": "This is where an analyst can leave their notes.",
            "recommendations": "This is where an analyst can leave their recommendations",
            "soar_references": {
                "case_id": "XXXXXXX",
                "alert_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
            },
            "insights": {
                "html_format": "",
                "json_format": ""
            },
            "raw_event_description": "[{}]"
        }
    }
}

Configuration Options

The following options are available for Webhooks:

Option Default Description
Escalated Only True Only send webhooks for escalated tickets
Send Service Requests True Specifies if messages are sent for "Service Request" tickets

Webhook Deployment Request

In order to request a webhook, please provide your CSM with the following information:

Configuration Description
Endpoint URL URL of the endpoint to send webhook payloads to
Endpoint Auth Type The auth type for the endpoint (Basic, Bearer, or API Key)
Endpoint Auth The username/password, bearer token, or API Key that the webhooks should use to authenticate with the endpoint
Configuration Options Any changes to the default configuration options.