Fortinet Document Library

Version:


Table of Contents

1.0.0
Copy Link

About the connector

Zendesk is a customer ticketing system that allows companies a method of tracking and responding to customer service requests.

This document provides information about the Zendesk connector, which facilitates automated interactions with Zendesk using FortiSOAR™ playbooks. Add the Zendesk connector as a step in FortiSOAR™ playbooks and perform automated operations, such as creating a new ticket on Zendesk, or retrieving all tickets from Zendesk.

Version information

Connector Version: 1.0.0

Authored By: Fortinet

Certified: No

Installing the connector

All connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and use the yum command to install connectors:

yum install cyops-connector-zendesk

For the detailed procedure to install a connector, click here

Prerequisites to configuring the connector

  • You must have the URL of Zendesk server to which you will connect and perform automated operations and credentials to access that server.
  • To access the FortiSOAR™ UI, ensure that port 443 is open through the firewall for the FortiSOAR™ instance.

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In CyOPsTM, on the connectors page, select the Zendesk connector and click Configure to configure the following parameters:

Parameter Description
Server URL Server address of Zendesk.
Username Username to access Zendesk account.
Password Password to access Zendesk account.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 and onwards:

Function Description Annotation and Category
Create Ticket Create a new ticket in Zendesk. ticket_create
Investigation
Get Ticket List Get all tickets from Zendesk. ticket_list
Investigation
Get Ticket Details Get details of a ticket using the ticket ID. ticket_details
Investigation
Update Ticket Update an existing ticket. ticket_update
Investigation

operation: Create Ticket

Input parameters

Parameter Description
Assignee ID Provide the assignee ID to which to assign the ticket.
Subject Enter the ticket subject.
Description Enter the ticket description.
Priority Set ticket priority.
Type Specify the ticket type.
Tags Specify the ticket tags.

Output

The output contains the following populated JSON schema:
{
     "audit": {
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "ticket_id": "",
         "metadata": {
             "custom": {},
             "system": {
                 "client": "",
                 "longitude": "",
                 "ip_address": "",
                 "location": "",
                 "latitude": ""
             }
         },
         "created_at": "",
         "author_id": "",
         "id": "",
         "events": [
             {
                 "body": "",
                 "author_id": "",
                 "attachments": [],
                 "type": "",
                 "public": "",
                 "plain_body": "",
                 "html_body": "",
                 "id": "",
                 "audit_id": ""
             }
         ]
     },
     "ticket": {
         "has_incidents": "",
         "custom_fields": [],
         "allow_channelback": "",
         "sharing_agreement_ids": [],
         "group_id": "",
         "priority": "",
         "follower_ids": [],
         "forum_topic_id": "",
         "allow_attachments": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "tags": [],
         "brand_id": "",
         "url": "",
         "subject": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "submitter_id": "",
         "status": "",
         "external_id": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "due_at": "",
         "description": ""
     }
}

operation: Get Ticket List

Input parameters

None.

Output

The output contains the following populated JSON schema:
{
     "count": "",
     "previous_page": "",
     "tickets": [
         {
             "has_incidents": "",
             "custom_fields": [],
             "allow_channelback": "",
             "sharing_agreement_ids": [],
             "priority": "",
             "follower_ids": [],
             "forum_topic_id": "",
             "via": {
                 "source": {
                     "rel": "",
                     "from": {},
                     "to": {}
                 },
                 "channel": ""
             },
             "recipient": "",
             "organization_id": "",
             "subject": "",
             "updated_at": "",
             "problem_id": "",
             "satisfaction_rating": "",
             "requester_id": "",
             "id": "",
             "tags": [],
             "fields": [],
             "brand_id": "",
             "url": "",
             "group_id": "",
             "type": "",
             "collaborator_ids": [],
             "created_at": "",
             "is_public": "",
             "assignee_id": "",
             "submitter_id": "",
             "status": "",
             "external_id": "",
             "allow_attachments": "",
             "raw_subject": "",
             "email_cc_ids": [],
             "followup_ids": [],
             "due_at": "",
             "description": ""
         }
     ],
     "next_page": ""
}

operation: Get Ticket Details

Input parameters

Parameter Description
Ticket ID ID of the ticket to get detail information.

Output

The output contains the following populated JSON schema:
{
     "ticket": {
         "follower_ids": [],
         "custom_fields": [],
         "subject": "",
         "sharing_agreement_ids": [],
         "priority": "",
         "has_incidents": "",
         "forum_topic_id": "",
         "submitter_id": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "allow_attachments": "",
         "brand_id": "",
         "url": "",
         "group_id": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "due_at": "",
         "status": "",
         "external_id": "",
         "allow_channelback": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "tags": [],
         "description": ""
     }
}

operation: Update Ticket

Input parameters

Parameter Description
Ticket ID ID of the ticket to update.
Comment Comment to add while updating the ticket.
Priority Set ticket priority.
Type Specify the ticket type.
Tags Specify the ticket tags.
Assignee ID Update the assignee ID to which to assign the ticket.

Output

The output contains the following populated JSON schema:
{
     "audit": {
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "ticket_id": "",
         "metadata": {
             "custom": {},
             "system": {
                 "client": "",
                 "longitude": "",
                 "ip_address": "",
                 "location": "",
                 "latitude": ""
             },
             "notifications_suppressed_for": [
                 ""
             ]
         },
         "author_id": "",
         "created_at": "",
         "id": "",
         "events": [
             {
                 "body": "",
                 "author_id": "",
                 "type": "",
                 "html_body": "",
                 "plain_body": "",
                 "attachments": [],
                 "id": "",
                 "audit_id": "",
                 "public": ""
             }
         ]
     },
     "ticket": {
         "follower_ids": [],
         "custom_fields": [],
         "subject": "",
         "sharing_agreement_ids": [],
         "priority": "",
         "has_incidents": "",
         "forum_topic_id": "",
         "submitter_id": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "allow_attachments": "",
         "brand_id": "",
         "url": "",
         "group_id": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "due_at": "",
         "status": "",
         "external_id": "",
         "allow_channelback": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "tags": [],
         "description": ""
     }
}

Included playbooks

The Sample - Zendesk - 1.0.0 playbook collection comes bundled with the Zendesk connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Zendesk connector.

  • Create Ticket
  • Get Ticket Details 
  • Get Ticket List
  • Update Ticket

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

About the connector

Zendesk is a customer ticketing system that allows companies a method of tracking and responding to customer service requests.

This document provides information about the Zendesk connector, which facilitates automated interactions with Zendesk using FortiSOAR™ playbooks. Add the Zendesk connector as a step in FortiSOAR™ playbooks and perform automated operations, such as creating a new ticket on Zendesk, or retrieving all tickets from Zendesk.

Version information

Connector Version: 1.0.0

Authored By: Fortinet

Certified: No

Installing the connector

All connectors provided by FortiSOAR™ are delivered using a FortiSOAR™ repository. Therefore, you must set up your FortiSOAR™ repository and use the yum command to install connectors:

yum install cyops-connector-zendesk

For the detailed procedure to install a connector, click here

Prerequisites to configuring the connector

Configuring the connector

For the procedure to configure a connector, click here

Configuration parameters

In CyOPsTM, on the connectors page, select the Zendesk connector and click Configure to configure the following parameters:

Parameter Description
Server URL Server address of Zendesk.
Username Username to access Zendesk account.
Password Password to access Zendesk account.
Verify SSL Specifies whether the SSL certificate for the server is to be verified or not.
By default, this option is set as True.

Actions supported by the connector

The following automated operations can be included in playbooks, and you can also use the annotations to access operations from FortiSOAR™ release 4.10.0 and onwards:

Function Description Annotation and Category
Create Ticket Create a new ticket in Zendesk. ticket_create
Investigation
Get Ticket List Get all tickets from Zendesk. ticket_list
Investigation
Get Ticket Details Get details of a ticket using the ticket ID. ticket_details
Investigation
Update Ticket Update an existing ticket. ticket_update
Investigation

operation: Create Ticket

Input parameters

Parameter Description
Assignee ID Provide the assignee ID to which to assign the ticket.
Subject Enter the ticket subject.
Description Enter the ticket description.
Priority Set ticket priority.
Type Specify the ticket type.
Tags Specify the ticket tags.

Output

The output contains the following populated JSON schema:
{
     "audit": {
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "ticket_id": "",
         "metadata": {
             "custom": {},
             "system": {
                 "client": "",
                 "longitude": "",
                 "ip_address": "",
                 "location": "",
                 "latitude": ""
             }
         },
         "created_at": "",
         "author_id": "",
         "id": "",
         "events": [
             {
                 "body": "",
                 "author_id": "",
                 "attachments": [],
                 "type": "",
                 "public": "",
                 "plain_body": "",
                 "html_body": "",
                 "id": "",
                 "audit_id": ""
             }
         ]
     },
     "ticket": {
         "has_incidents": "",
         "custom_fields": [],
         "allow_channelback": "",
         "sharing_agreement_ids": [],
         "group_id": "",
         "priority": "",
         "follower_ids": [],
         "forum_topic_id": "",
         "allow_attachments": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "tags": [],
         "brand_id": "",
         "url": "",
         "subject": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "submitter_id": "",
         "status": "",
         "external_id": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "due_at": "",
         "description": ""
     }
}

operation: Get Ticket List

Input parameters

None.

Output

The output contains the following populated JSON schema:
{
     "count": "",
     "previous_page": "",
     "tickets": [
         {
             "has_incidents": "",
             "custom_fields": [],
             "allow_channelback": "",
             "sharing_agreement_ids": [],
             "priority": "",
             "follower_ids": [],
             "forum_topic_id": "",
             "via": {
                 "source": {
                     "rel": "",
                     "from": {},
                     "to": {}
                 },
                 "channel": ""
             },
             "recipient": "",
             "organization_id": "",
             "subject": "",
             "updated_at": "",
             "problem_id": "",
             "satisfaction_rating": "",
             "requester_id": "",
             "id": "",
             "tags": [],
             "fields": [],
             "brand_id": "",
             "url": "",
             "group_id": "",
             "type": "",
             "collaborator_ids": [],
             "created_at": "",
             "is_public": "",
             "assignee_id": "",
             "submitter_id": "",
             "status": "",
             "external_id": "",
             "allow_attachments": "",
             "raw_subject": "",
             "email_cc_ids": [],
             "followup_ids": [],
             "due_at": "",
             "description": ""
         }
     ],
     "next_page": ""
}

operation: Get Ticket Details

Input parameters

Parameter Description
Ticket ID ID of the ticket to get detail information.

Output

The output contains the following populated JSON schema:
{
     "ticket": {
         "follower_ids": [],
         "custom_fields": [],
         "subject": "",
         "sharing_agreement_ids": [],
         "priority": "",
         "has_incidents": "",
         "forum_topic_id": "",
         "submitter_id": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "allow_attachments": "",
         "brand_id": "",
         "url": "",
         "group_id": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "due_at": "",
         "status": "",
         "external_id": "",
         "allow_channelback": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "tags": [],
         "description": ""
     }
}

operation: Update Ticket

Input parameters

Parameter Description
Ticket ID ID of the ticket to update.
Comment Comment to add while updating the ticket.
Priority Set ticket priority.
Type Specify the ticket type.
Tags Specify the ticket tags.
Assignee ID Update the assignee ID to which to assign the ticket.

Output

The output contains the following populated JSON schema:
{
     "audit": {
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "ticket_id": "",
         "metadata": {
             "custom": {},
             "system": {
                 "client": "",
                 "longitude": "",
                 "ip_address": "",
                 "location": "",
                 "latitude": ""
             },
             "notifications_suppressed_for": [
                 ""
             ]
         },
         "author_id": "",
         "created_at": "",
         "id": "",
         "events": [
             {
                 "body": "",
                 "author_id": "",
                 "type": "",
                 "html_body": "",
                 "plain_body": "",
                 "attachments": [],
                 "id": "",
                 "audit_id": "",
                 "public": ""
             }
         ]
     },
     "ticket": {
         "follower_ids": [],
         "custom_fields": [],
         "subject": "",
         "sharing_agreement_ids": [],
         "priority": "",
         "has_incidents": "",
         "forum_topic_id": "",
         "submitter_id": "",
         "via": {
             "source": {
                 "rel": "",
                 "from": {},
                 "to": {}
             },
             "channel": ""
         },
         "recipient": "",
         "organization_id": "",
         "updated_at": "",
         "problem_id": "",
         "satisfaction_rating": "",
         "requester_id": "",
         "id": "",
         "allow_attachments": "",
         "brand_id": "",
         "url": "",
         "group_id": "",
         "type": "",
         "collaborator_ids": [],
         "created_at": "",
         "is_public": "",
         "assignee_id": "",
         "due_at": "",
         "status": "",
         "external_id": "",
         "allow_channelback": "",
         "fields": [],
         "raw_subject": "",
         "email_cc_ids": [],
         "followup_ids": [],
         "tags": [],
         "description": ""
     }
}

Included playbooks

The Sample - Zendesk - 1.0.0 playbook collection comes bundled with the Zendesk connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the Zendesk connector.

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.