Zendesk

Version: 3.3.2

Zendesk provides customer service software featuring an email ticketing system for a better customer experience.

Connect Zendesk with LogicHub

  1. Navigate to Automations > Integrations.
  2. Search for Zendesk.
  3. Click Details, then the + icon. Enter the required information in the following fields.
    • Label: Enter a connection name.
    • Reference Values: Define variables here to templatize integration connections and actions. For example, you can use https://www.{{hostname}}.com where, hostname is a variable defined in this input. For more information on how to add data, see 'Add Data' Input Type for Integrations.
    • Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).
    • Remote Agent: Run this integration using the LogicHub Remote Agent.
    • URL: URL of the Zendesk server.
    • User: User name to log in with.
    • Password: Password to log in with (Either password or token is required).
    • API Token: API Token to log in with (Either password or token is required).
  4. After you've entered all the details, click Connect.

Actions for Zendesk

Create Ticket

This action creates a ticket with the specified details whenever the parent table has any results. The parent table's data is put into the ticket's body field.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Title Column NameColumn name that contains the title of the ticket to create.Required
Body Column NameColumn name that contains the body of the ticket to create.Required
TypeIssue type.Required
PriorityIssue priority.Required
AssigneeAssign ticket to the selected user.Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False
  • error: message/null
  • result: creates a ticket.
{
   "has_error": true,
   "error": "There was a problem with creating the ticket, please check the base_url and credentials and try again. 422 Client Error: Unprocessable Entity for url: https://d3v-logichub.zendesk.com//api/v2/tickets.json"
}

List Tickets

This action list all ticket. The query parameter is not supported for this action.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
ParamsJinja-templated JSON field containing the params for the Zendesk API. Example: '{"externel_id": "1234"}'Optional
LimitJinja-templated text containing the limit for the Zendesk API (Default is 500).Optional

Output

JSON containing the following items:

{
   "tickets":[
      {
         "follower_ids":[
            
         ],
         "via":{
            "source":{
               "to":{
                  
               },
               "from":{
                  
               },
               "rel":null
            },
            "channel":"api"
         },
         "updated_at":"2021-08-05T18:21:10Z",
         "submitter_id":115334723372,
         "assignee_id":null,
         "brand_id":114094725151,
         "id":345,
         "custom_fields":[
            
         ],
         "subject":"Spark 3.3.3.3",
         "sharing_agreement_ids":[
            
         ],
         "allow_attachments":true,
         "collaborator_ids":[
            
         ],
         "priority":"urgent",
         "satisfaction_rating":null,
         "type":"incident",
         "from_messaging_channel":false,
         "status":"new",
         "description":"UserLoginFailed",
         "tags":[
            
         ],
         "forum_topic_id":null,
         "organization_id":null,
         "due_at":null,
         "is_public":true,
         "requester_id":115334723372,
         "followup_ids":[
            
         ],
         "recipient":null,
         "problem_id":null,
         "url":"https://test-logichub.zendesk.com/api/v2/tickets/345.json",
         "fields":[
            
         ],
         "created_at":"2021-08-05T18:21:10Z",
         "raw_subject":"Spark 3.3.3.3",
         "ticket_form_id":114093994012,
         "email_cc_ids":[
            
         ],
         "allow_channelback":false,
         "has_incidents":false,
         "group_id":114095259271,
         "external_id":null
      }
   ],
   "count":1,
   "has_error":false,
   "error":null
}

Update Ticket

This action takes a ticket object that lists the values to update. All properties are optional.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Ticket IDJinja-templated text containing the ticket ID for the Zendesk API.Required
Ticket ObjectJinja-templated JSON field containing the ticket object for the Zendesk API. Example: '{"ticket": {"comment": {"body": "Thanks for choosing Acme Jet Motors.","public": true},"custom_status_id": 321,"status": "solved"}}'Optional

Output

JSON containing the following items:

{
   "audit":{
      "via":{
         "source":{
            "to":{
               
            },
            "from":{
               
            },
            "rel":null
         },
         "channel":"api"
      },
      "created_at":"2023-05-09T09:38:53Z",
      "id":15605239709325,
      "ticket_id":345,
      "author_id":115334723372,
      "events":[
         {
            "body":"Thanks for choosing Acme Jet Motors.",
            "plain_body":"Thanks for choosing Acme Jet Motors.",
            "attachments":[
               
            ],
            "audit_id":15605239709325,
            "public":true,
            "author_id":115334723372,
            "type":"Comment",
            "id":15605239709453,
            "html_body":"<div class=\"zd-comment\" dir=\"auto\"><p dir=\"auto\">Thanks for choosing Acme Jet Motors.</p></div>"
         }
      ],
      "metadata":{
         "system":{
            "latitude":45.8234,
            "client":"python-requests/2.18.4",
            "ip_address":"52.26.159.7",
            "location":"Boardman, OR, United States",
            "longitude":-119.7257
         },
         "custom":{
            
         }
      }
   },
   "ticket":{
      "follower_ids":[
         
      ],
      "via":{
         "source":{
            "to":{
               
            },
            "from":{
               
            },
            "rel":null
         },
         "channel":"api"
      },
      "updated_at":"2023-05-09T09:38:53Z",
      "submitter_id":115334723372,
      "assignee_id":115334723372,
      "brand_id":114094725151,
      "id":7897,
      "custom_fields":[
         
      ],
      "subject":"Automation: ad.getfond.info",
      "sharing_agreement_ids":[
         
      ],
      "allow_attachments":true,
      "collaborator_ids":[
         
      ],
      "priority":"urgent",
      "satisfaction_rating":null,
      "type":"incident",
      "from_messaging_channel":false,
      "status":"solved",
      "description":"This will become the description 96.17.161.137",
      "tags":[
         
      ],
      "forum_topic_id":null,
      "organization_id":null,
      "due_at":null,
      "is_public":true,
      "requester_id":115334723372,
      "followup_ids":[
         
      ],
      "recipient":null,
      "problem_id":null,
      "url":"https://test-logichub.zendesk.com/api/v2/tickets/345.json",
      "fields":[
         
      ],
      "created_at":"2020-08-23T11:58:00Z",
      "raw_subject":"Automation: ad.getfond.info",
      "ticket_form_id":114093994012,
      "email_cc_ids":[
         
      ],
      "allow_channelback":false,
      "has_incidents":false,
      "group_id":114095259271,
      "external_id":null
   },
   "has_error":false,
   "error":null
}

List Comments

This action returns the comments added to the ticket.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Ticket IDJinja-templated text containing the ticket ID for the Zendesk API.Required
LimitJinja-templated text containing the limit for the Zendesk API (Default is 100).Optional

Output

JSON containing the following items:

{
   "count":5,
   "has_error":false,
   "comments":[
      {
         "body":"This will become the description 96.17.161.137",
         "plain_body":"This will become the description 96.17.161.137",
         "via":{
            "source":{
               "to":{
                  
               },
               "from":{
                  
               },
               "rel":null
            },
            "channel":"api"
         },
         "attachments":[
            
         ],
         "audit_id":1172531969212,
         "created_at":"2020-08-23T11:58:00Z",
         "public":true,
         "author_id":115334723372,
         "metadata":{
            "system":{
               "latitude":45.8491,
               "client":"python-requests/2.18.4",
               "ip_address":"1.1.1.1",
               "location":"Boardman, OR, United States",
               "longitude":-119.7143
            },
            "custom":{
               
            }
         },
         "type":"Comment",
         "id":1172531969252,
         "html_body":"<div class=\"zd-comment\" dir=\"auto\"><p dir=\"auto\">This will become the description 96.17.161.137</p></div>"
      }
   ],
   "error":null
}

Get Ticket

This action returns a number of ticket properties though not the ticket comments.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
Ticket IDJinja-templated text containing the ticket ID for the Zendesk API.Required

Output

JSON containing the following items:

{
  "ticket": {
    "url": "https://sek5487.zendesk.com/api/v2/tickets/1f.json",
    "id": 17,
    "external_id": "zen:side_conversation:dd7e48:ticket:1",
    "via": {
      "channel": "side_conversation",
      "source": {
        "from": {},
        "to": {},
        "rel": null
      }
    },
    "created_at": "2024-04-04T18:40:54Z",
    "updated_at": "2024-04-28T23:01:15Z",
    "generated_timestamp": 1714753,,
    "type": "question",
    "subject": "1",
    "raw_subject": "1",
    "description": "HELLO WORLD",
    "priority": null,
    "status": "open",
    "recipient": null,
    "requester_id": 2720755,
    "submitter_id": 27420755,
    "assignee_id": null,
    "organization_id": 2459,
    "group_id": 28025283,
    "collaborator_ids": [
      24523
    ],
    "follower_ids": [
      2418823
    ],
    "email_cc_ids": [
      2818823
    ],
    "forum_topic_id": null,
    "problem_id": null,
    "has_incidents": false,
    "is_public": true,
    "due_at": null,
    "tags": [
      "de",
      "exemplo",
      "support",
      "zendesk"
    ],
    "custom_fields": [
      {
        "id": 2227,
        "value": null
      }
    ],
    "satisfaction_rating": {
      "score": "unoffered"
    },
    "sharing_agreement_ids": [],
    "custom_status_id": 24598971,
    "fields": [
      {
        "id": 29227,
        "value": null
      }
    ],
    "followup_ids": [],
    "ticket_form_id": 24595315,
    "brand_id": 2459003,
    "allow_channelback": false,
    "allow_attachments": true,
    "from_messaging_channel": false
  },
  "error": null,
  "has_error": false
}

Create Ticket V2

This action creates a ticket with the specified details whenever the parent table has any results. The parent table's data is put into the ticket's body field.

Input Field

Choose a connection that you have previously created and then fill in the necessary information in the following input fields to complete the connection.

Input NameDescriptionRequired
TitleJinja-templated text containing the title of the ticket to create.Required
BodyJinja-templated text containing the body of the ticket to create.Required
TypeIssue type.Required
PriorityIssue priority.Required
AssigneeAssign ticket to selected userOptional
Custom FieldsJinja-templated JSON containing the value of custom field which you want to add. Example : [{ "id": 34, "value": "I need help!" }]Optional
HTML BodySelect if the provided body is of html type. Default is NoOptional

Output

JSON containing the following items:

{
  "ticket": {
    "url": "https://zendesk.com/api/v2/tickets/29.json",
    "id": 29,
    "external_id": null,
    "via": {
      "channel": "api",
      "source": {
        "from": {},
        "to": {},
        "rel": null
      }
    },
    "created_at": "2024-08-07T06:03:32Z",
    "updated_at": "2024-08-07T06:03:32Z",
    "generated_timestamp": 0,
    "type": "question",
    "subject": "TESTING 4",
    "raw_subject": "TESTING 4",
    "description": "My web page\n# Hello, world!\n\nThis is my first web page.\n\nIt contains a **main heading** and _paragraph_",
    "priority": "urgent",
    "status": "open",
    "recipient": null,
    "requester_id": 20608360548882,
    "submitter_id": 20608360548882,
    "assignee_id": 20608360548882,
    "organization_id": 20608355625234,
    "group_id": 20608355625106,
    "collaborator_ids": [],
    "follower_ids": [],
    "email_cc_ids": [],
    "forum_topic_id": null,
    "problem_id": null,
    "has_incidents": false,
    "is_public": true,
    "due_at": null,
    "tags": [],
    "custom_fields": [
      {
        "id": 20608378808338,
        "value": null
      },
      {
        "id": 20608911359890,
        "value": "140"
      },
      {
        "id": 20608914970770,
        "value": "HTML body"
      }
    ],
    "satisfaction_rating": null,
    "sharing_agreement_ids": [],
    "custom_status_id": 20608360649490,
    "fields": [
      {
        "id": 20608378808338,
        "value": null
      },
      {
        "id": 20608911359890,
        "value": "140"
      },
      {
        "id": 20608914970770,
        "value": "HTML body"
      }
    ],
    "followup_ids": [],
    "ticket_form_id": 20608360631058,
    "brand_id": 20608355616018,
    "allow_channelback": false,
    "allow_attachments": true,
    "from_messaging_channel": false
  },
  "audit": {
    "id": 20609136273938,
    "ticket_id": 29,
    "created_at": "2024-08-07T06:03:32Z",
    "author_id": 20608360548882,
    "metadata": {
      "system": {
        "client": "python-requests/2.25.0",
        "ip_address": "34.246.144.16",
        "location": "Dublin, L, Ireland",
        "latitude": 53.3379,
        "longitude": -6.2591
      },
      "custom": {}
    },
    "events": [
      {
        "id": 20609136274066,
        "type": "Comment",
        "author_id": 20608360548882,
        "body": "My web page\n# Hello, world!\n\nThis is my first web page.\n\nIt contains a **main heading** and _paragraph_",
        "html_body": "<div class=\"zd-comment\" dir=\"auto\">My web page<h1 dir=\"auto\">Hello, world!</h1><p dir=\"auto\">This is my first web page.</p><p dir=\"auto\">It contains a <strong>main heading</strong> and <em> paragraph </em></p></div>",
        "plain_body": "My web page Hello, world!  This is my first web page.  It contains a main heading and  paragraph",
        "public": true,
        "attachments": [],
        "audit_id": 20609136273938
      },
      {
        "id": 20609136274194,
        "type": "Create",
        "value": "20608360548882",
        "field_name": "assignee_id"
      },
      {
        "id": 20609136274322,
        "type": "Create",
        "value": "urgent",
        "field_name": "priority"
      },
      {
        "id": 20609136274450,
        "type": "Create",
        "value": "TESTING 4",
        "field_name": "subject"
      },
      {
        "id": 20609136274578,
        "type": "Create",
        "value": "question",
        "field_name": "type"
      },
      {
        "id": 20609136274706,
        "type": "Create",
        "value": "20608360548882",
        "field_name": "requester_id"
      },
      {
        "id": 20609136274834,
        "type": "Create",
        "value": "HTML body",
        "field_name": "20608914970770"
      },
      {
        "id": 20609136274962,
        "type": "Create",
        "value": "140",
        "field_name": "20608911359890"
      },
      {
        "id": 20609136275090,
        "type": "Create",
        "value": "open",
        "field_name": "status"
      },
      {
        "id": 20609136275218,
        "type": "Create",
        "value": "20608355625106",
        "field_name": "group_id"
      },
      {
        "id": 20609136275346,
        "type": "Create",
        "value": "20608355625234",
        "field_name": "organization_id"
      },
      {
        "id": 20609136275474,
        "type": "Create",
        "value": "20608355616018",
        "field_name": "brand_id"
      },
      {
        "id": 20609136275602,
        "type": "Create",
        "value": "20608360631058",
        "field_name": "ticket_form_id"
      },
      {
        "id": 20609136275730,
        "type": "Create",
        "value": "20608360649490",
        "field_name": "custom_status_id"
      },
      {
        "id": 20609136275858,
        "type": "Notification",
        "via": {
          "channel": "rule",
          "source": {
            "from": {
              "deleted": false,
              "title": "Notify requester of new proactive ticket",
              "id": 20608355635730
            },
            "rel": "trigger"
          }
        },
        "subject": "{{ticket.title}}",
        "body": "This ticket was created on your behalf.<br/><br/>To add additional comments, reply to this email.<br/><br/>{{ticket.latest_public_comment_html}}",
        "recipients": [
          20608360548882
        ]
      },
      {
        "id": 20609136275986,
        "type": "Notification",
        "via": {
          "channel": "rule",
          "source": {
            "from": {
              "deleted": false,
              "title": "Notify all agents of received request",
              "id": 20608355638930
            },
            "rel": "trigger"
          }
        },
        "subject": "[{{ticket.account}}] {{ticket.title}}",
        "body": "A ticket (#{{ticket.id}}) by {{ticket.requester.name}} has been received. It is unassigned.<br/><br/>{{ticket.latest_comment_html}}",
        "recipients": [
          20608360548882,
          20608422237970
        ]
      }
    ],
    "via": {
      "channel": "api",
      "source": {
        "from": {},
        "to": {
          "name": "TEST",
          "address": "TEST"
        },
        "rel": null
      }
    }
  },
  "error": null,
  "has_error": false
}

Release Notes

  • v3.3.2 - Added a new actions: Create Ticket V2 that supports HTML body and custom fields.
  • v3.3.0 - Added a new actions: Get Ticket.
  • v3.2.3 - Added token based authentication at connection level.
  • v3.1.1 - Added 3 new actions: List Tickets,Update Ticket and List Comments.
  • v3.0.0 - Updated architecture to support IO via filesystem
  • v2.0.8 - Added documentation link in the automation library.