Freshservice
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
Navigate to Automations > Integrations.
Search for Freshservice.
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 Devo SOAR Remote Agent.
Server URL: The Server URL to connect to the Freshservice. Example: https://domain.freshservice.com.
API Key: The API Key to connect to the Freshservice.
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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