Document toolboxDocument toolbox

Freshservice

[ 1 Connect Freshservice with Devo SOAR ] [ 2 Actions for Freshservice ] [ 2.1 Create Ticket ] [ 2.1.1 Input Field ] [ 2.1.2 Output ] [ 2.2 Get Ticket By ID ] [ 2.2.1 Input Field ] [ 2.2.2 Output ] [ 2.3 Close Ticket ] [ 2.3.1 Input Field ] [ 2.3.2 Output ] [ 3 Release Notes ]

Freshservice is a cloud based IT service management software for service desk with an automation tool to manage incidents, assets and other facilities.

Connect Freshservice with Devo SOAR

  1. Navigate to Automations > Integrations.

  2. Search for Freshservice.

  3. Click Details, then the + icon. Enter the required information in the following fields.

  4. Label: Enter a connection name.

  5. 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.

  6. Verify SSL: Select option to verify connecting server's SSL certificate (Default is Verify SSL Certificate).

  7. Remote Agent: Run this integration using the Devo SOAR Remote Agent.

  8. Server URL: The Server URL to connect to the Freshservice. Example: https://domain.freshservice.com.

  9. API Key: The API Key to connect to the Freshservice.

  10. After you've entered all the details, click Connect.

Actions for Freshservice

Create Ticket

Create a new ticket in your service desk. For detailed documentation please visit: https://api.freshservice.com/v2/#create_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 Name

Description

Required

Input Name

Description

Required

Requester

Jinja-templated text containing the email id of Requester.

 

Example: {{email_column}}.

Required

 

Group ID

Jinja-templated text containing ID of the group.

 

Example: {{column1}}.

Required

 

Subject

Jinja-templated text containing subject of the ticket.

 

Example: {{column1}}, {{column2}}.

Required

 

Description

Jinja-templated text containing description of the ticket.

 

Example: {{column1}}, {{column2}}.

Required

 

Assignee

Jinja-templated text containing responder id of the ticket.

 

Example: {{responder_id_column}}.

Optional

 

To get a user ID, use the inspect element feature of Google Chrome.

Input Name

Description

Required

Input Name

Description

Required

Cc Emails

Jinja-templated text containing comma separated email address added in the 'cc' field of the incoming ticket email.

 

Example: {{column1}}, {{column2}}.

Optional

 

Status

Select status of the ticket (Default is Open).

Optional

Priority

Select Priority of the ticket (Default is Medium).

Optional

Custom Fields

Jinja-templated text with key value pairs containing the names and values of custom fields.

 

Example: {"Key1": "{{column1}}", "Key2":"{{column2}}"}.

Optional

 

Attachment

Jinja-templated text containing the file id of attachment.

 

Example: {{file_id_column}}.

Optional

 

Assets

Jinja-templated text containing the list of assets associated with the ticket.

 

Example: [{ "display_id": {{column1}} }, { "display_id": {{column2}} }].

Optional

 

Optional Parameters

Jinja-templated text containing the optional parameters.

 

Example: {"urgency": 1, "impact": {{impact_column}}}.

Optional

 

Output

A JSON object containing multiple rows of result:

  • has_error: True/False

  • error: message/null

  • result: Ticket details.

``` {json}{ "ticket": { "cc_emails": [ "abc@logichub.com" ], "fwd_emails": [], "reply_cc_emails": [ "abc@logichub.com" ], "fr_escalated": false, "spam": false, "email_config_id": null, "group_id": 1804536823, "priority": 1, "requester_id": 186754729, "responder_id": null, "source": 2, "status": 2, "subject": "qabc_Test5", "to_emails": null, "department_id": null, "id": 51, "type": "Incident", "due_by": "2021-01-28T16:48:06Z", "fr_due_by": "2021-01-21T13:48:06Z", "is_escalated": false, "description": "d", "description_text": "d", "category": null, "sub_category": null, "item_category": null, "custom_fields": { "cust1": "custom1111" }, "created_at": "2021-01-18T16:48:06Z", "updated_at": "2021-01-18T16:48:06Z", "tags": [], "attachments": [ { "id": 18000073324, "content_type": "image/png", "size": 3048, "name": "1.png", "attachment_url": "https://logichub.attachments.freshservice.com/data/helpdesk/attachments/production/18000073324/original/1.png?Expires=1611074888&Signature=N4n6vwEyMuUhXXm9fHKkpt3chl0vs-8-2Nw3O3We1rI7TNAO2wppnTL8HZhKTZXB2808ZcnmCuFHdjWiSetCccRjYM0G~Aq5QQdwoBeKBSj~L7ifqXSMxqtMd7yu~wKEdk43xtcm-oPFbvZ9BFoC6ZYd5R8Q2jWtxhm4S~K-EwOnl-zRC3GHCQUNewqHlE~Q5TuYzFx5Cwu2dPE3xpsn1aDoi5YHFgzxyBlH9IoaqrDHv1IpPH4HUmwR8Svh3i1kLcpQ58iUyrEu4mIlYKVq~Lb6PejSJzkD2oWqwrC0tKVPRqlrF~1YH3cOe2WKczK0gNht8i08pdMrVDbxj2UHaA__&Key-Pair-Id=APKAIPHBXWY2KT5RCMPQ", "created_at": "2021-01-18T16:48:08Z", "updated_at": "2021-01-18T16:48:08Z" } ], "assets": [ { "name": "Dell Monitor", "description": null, "ci_type_id": 180045402124, "impact": 1, "created": "2021-01-16T08:28:36-05:00", "updated": "2021-01-16T08:28:36-05:00", "user_id": null, "department_id": null, "assigned_on": null, "agent_id": null, "author_id": 145254730, "author_type": "User", "deleted": false, "display_id": 2, "salvage": null }, { "name": "Andrea's Laptop", "description": null, "ci_type_id": 18656102137, "impact": 2, "created": "2021-01-16T08:28:36-05:00", "updated": "2021-01-16T08:28:36-05:00", "user_id": 5454, "department_id": null, "assigned_on": null, "agent_id": null, "author_id": 18000254730, "author_type": "User", "deleted": false, "display_id": 1, "salvage": null } ] }, "error": null, "has_error": false }

## Get All Tickets List all the tickets. Use filters to view only specific tickets (those which match the criteria that you choose). By default only tickets that have not been deleted or marked as spam will be returned, unless you use the 'deleted' filter. ### 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 Name | Description | Required | | : -------- | : -------- | : -------- | | Requester | Jinja-templated text containing the email id of Requester. Example: {{email_column}}. | Optional | | Predefined Filters | Select predefined filters (Default is No Filter). | Optional | | Updated Since | Jinja-templated text containing `updated since` time. Example: 2021-01-17T02:00:00Z. | Optional | | Type | Jinja-templated text containing the type of the ticket. Example: {service_request_column}}. | Optional | | Sort By | Select sorting order (Default is Descending). | Optional | | Embed | Select embed (Default is None). | Optional | ### Output A JSON object containing multiple rows of result: - has_error: True/False - error: message/null - result: List of tickets. ``` {json}{ "category": null, "cc_emails": [], "created_at": "2021-01-18T12:13:38Z", "custom_fields": { "cust1": null }, "deleted": false, "department_id": null, "description": "", "description_text": "", "due_by": "2021-01-20T19:00:00Z", "email_config_id": null, "error": null, "fr_due_by": "2021-01-18T21:00:00Z", "fr_escalated": false, "fwd_emails": [], "group_id": null, "has_error": false, "id": 39, "is_escalated": false, "item_category": null, "priority": 2, "reply_cc_emails": [], "requester": { "email": "vsv@logichub.com", "id": 18000254729, "mobile": null, "name": "fadf dgdg", "phone": "8989998989" }, "requester_id": 18000254729, "responder_id": null, "source": 2, "spam": false, "status": 2, "sub_category": null, "subject": "Request for vsvvsv : ID Card", "to_emails": null, "type": "Service Request", "updated_at": "2021-01-18T12:13:38Z" }

Get Ticket By ID

Get the ticket details by its id.

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 Name

Description

Required

Input Name

Description

Required

Ticket ID

Column name from parent table to lookup value of the id of the ticket.

Required

Embed

Select embed (Default is None).

Optional

Output

A JSON object containing multiple rows of result:

  • has_error: True/False

  • error: message/null

  • result: Ticket details.

``` {json}{ "ticket": { "cc_emails": [], "fwd_emails": [], "reply_cc_emails": [], "fr_escalated": false, "spam": false, "email_config_id": null, "group_id": null, "priority": 2, "requester_id": 18000254729, "responder_id": null, "source": 2, "status": 2, "subject": "Request for ssss : ID Card", "to_emails": null, "sla_policy_id": 18000002328, "department_id": null, "id": 39, "type": "Service Request", "due_by": "2021-01-20T19:00:00Z", "fr_due_by": "2021-01-18T21:00:00Z", "is_escalated": false, "description": "", "description_text": "", "custom_fields": { "cust1": null }, "created_at": "2021-01-18T12:13:38Z", "updated_at": "2021-01-18T12:13:38Z", "urgency": 1, "impact": 1, "category": null, "sub_category": null, "item_category": null, "deleted": false, "attachments": [], "conversations": [], "approval_status": null, "approval_status_name": "Not Requested" }, "error": null, "has_error": false }

## Add/Update Note Add a note to ticket or update a note if conversation id provided. ### 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 Name | Description | Required | | : -------- | : -------- | : -------- | | Ticket ID | Column name from parent table to lookup value of the id of the ticket. | Required | | Conversation ID | Column name from parent table to lookup value of the id of the conversation, If this value is provided note will be updated. | Optional | | Body | [Jinja-templated](doc:jinja-template) text containing the content of the note. Example: {{column_service}}, {{column_request}}. | Optional | ### Output A JSON object containing multiple rows of result: - has_error: True/False - error: message/null - result: Conversation details. ``` {json}{ "conversation": { "id": 18000370880, "incoming": false, "private": false, "user_id": 18000254729, "support_email": null, "body": "updated by Indra", "body_text": "updated by Indra", "ticket_id": 52, "to_emails": [], "attachments": [], "created_at": "2021-01-18T16:56:33Z", "updated_at": "2021-01-18T16:56:33Z" }, "error": null, "has_error": false }

Close Ticket

Close a ticket by its id

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 Name

Description

Required

Input Name

Description

Required

Ticket ID

Column name from parent table to lookup value of the id of the ticket.

Required

Output

A JSON object containing multiple rows of result:

  • has_error: True/False

  • error: message/null

  • result: Ticket details.

{json}{ "ticket": { "cc_emails": [ "sdsdd@sdsd.com" ], "fwd_emails": [], "reply_cc_emails": [ "sdsdsd@dsdsd.com" ], "spam": false, "email_config_id": null, "fr_escalated": false, "group_id": 18000036823, "priority": 1, "requester_id": 18000254729, "responder_id": null, "source": 2, "status": 5, "subject": "sub", "description": "<div>desa</div>", "description_text": "desa", "category": null, "sub_category": null, "item_category": null, "custom_fields": { "cust1": "custom1111" }, "id": 32, "type": "Incident", "to_emails": null, "department_id": null, "is_escalated": false, "tags": [], "due_by": "2021-01-28T13:53:42Z", "fr_due_by": "2021-01-20T19:53:42Z", "created_at": "2021-01-17T20:06:21Z", "updated_at": "2021-01-18T13:53:42Z", "attachments": [ { "id": 18000072865, "content_type": "application/octet-stream", "size": 89830, "name": "e44f4f8a484742d68d3df63a21519660", "attachment_url": "https://logichub.attachments.freshservice.com/data/helpdesk/attachments/production/18000072865/original/e44f4f8a484742d68d3df63a21519660?Expires=1611075452&Signature=nnFTCBlA1z0jnDFvElD2-lqsKgTwxUqc7JPE5yNtbcXtnC5PjeSKv8BEIpsLPxUB0~nG8omyjDz6uwiMO3gsCDnt7gWbXbGj1uCjnjcIX4koy0Z~Z9~sAFi0y2tYDB0SgY6lsUnu4Klirs4KL8db6bPinq7BDdGP~hNzh6kQ-51lD4AXqa9hWBJowBCC0Pf~Fhe7cVzIxlU14GRbdIkt~F-H0vNZJ0Xpq6SxzYBtlzjS6ajHWj3qmRbo889hOLfEbeQW6fuYHWtjdNsIxPkgZQ4bAcvwu7C-qZDcTq52bcD8wESsF1ykEG1Em04yaOL15O3QXHqaKpV8~I8QTS2g1A__&Key-Pair-Id=APKAIPHBXWY2KT5RCMPQ", "created_at": "2021-01-17T20:07:45Z", "updated_at": "2021-01-17T20:07:45Z" } ] }, "error": null, "has_error": false }

Release Notes

  • v2.0.0 - Updated architecture to support IO via filesystem