FreshService

Overview

The Freshservice connector enables your AI Colleagues to integrate with your organization's Freshservice platform, facilitating automated IT service management, ticket creation, problem management, change management, and service catalog workflows.

Freshservice is a cloud-based IT Service Management (ITSM) solution developed by Freshworks that enables organizations to simplify their IT operations. The solution offers features including a ticketing system, self-service portal, knowledge base, asset management, and change management. The Freshservice connector allows Leena AI to automate ITSM workflows, manage tickets, handle service requests, and interact with the platform seamlessly.

API Details

Leena AI integrates with Freshservice via REST APIs.

Documentation link: https://api.freshservice.com/v2/

Setup

The Freshservice connector uses API Key authentication with Basic Access Authorization.


Prerequisites

Before setting up the Freshservice connector, ensure you have:

  • Administrator access to your Freshservice account
  • A Freshservice agent account with appropriate permissions
  • API access enabled for your Freshservice instance
  • Access to your Leena AI workspace with connector management permissions

Get credentials

Here is how to obtain your API key from Freshservice:

  1. Log in to your Freshservice Support Portal (Ensure you're signed in as an agent with API access permissions).
  2. Access Profile Settings:
    1. Click on your profile picture on the top right corner of your portal
    2. Select "Profile settings" from the dropdown menu
  3. Locate Your API Key:
    1. Your API key will be available below the "Delegate Approvals" section on the right side of the page
    2. Complete the CAPTCHA verification if prompted
  4. Copy and Secure Your API Key:
    1. Copy the API key and store it securely
    2. This key will be used for authentication with Leena AI

Note: If your API key is disabled, contact your Freshservice administrator. API access can be enabled under Admin → General Settings → Security → API Access. The administrator may need to enable the "API key" toggle in your agent profile permissions.

Add connection

Here is how to add a connection on Leena AI:

  1. Log in to your Leena AI workspace
  2. Navigate to Settings > Integrations
  3. Search for "Freshservice" and select it from the list to add its new connector
  4. Start configuring the connector
    1. Base URL: Your Freshservice instance URL (e.g., https://yourdomain.freshservice.com)
    2. Auth Type: Select "API Key Auth"
    3. API Key: Your Freshservice API key obtained from profile settings
  5. Save Configuration
    1. Click Save to store the connector configuration
    2. The connector will validate the credentials and establish the connection
    3. Upon successful validation, the connector will be ready for use

Actions

The following actions are supported for the Freshservice connector:

Create A Ticket

Creates a new incident ticket in Freshservice. The Agent can leverage the skill (workflow), which has been designed to create a new ticket in Freshservice, once the user raises a query to do so.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
DescriptionDetailed description of the ticket/issue
SubjectThe title/subject of the ticket
EmailEmail address of the requester
Department IDThe identifier of the department for the ticket

Optional

NameDescription
PhonePhone number of the requester
Requester IDThe ID of the requester (agent/user)
PriorityPriority level of the ticket: Low (1), Medium (2), High (3), Urgent (4)
StatusStatus of the ticket: Open (2), Pending (3), Resolved (4), Closed (5)
Workspace IDThe workspace identifier (default: 2)
CC EmailsEmail addresses to be CC'd on ticket updates
Due ByTimestamp by which the ticket should be resolved
Response Due ByTimestamp by which the first response is due
Group IDThe ID of the agent group to assign the ticket
SourceSource of the ticket (Email, Portal, Phone, etc.)
CategoryPrimary category for ticket classification
Sub CategorySecondary category (dependent on Category)
Item CategorySpecific item category (dependent on Sub Category)
Custom FieldsJSON object containing custom field values
ImpactBusiness impact level: Low (1), Medium (2), High (3)
UrgencyUrgency level: Low (1), Medium (2), High (3)
File NameName of the attachment file
File DataAttachment data as URL or Base64 encoded string
TagsTags to associate with the ticket
TypeType of ticket
Responder IDID of the agent responding to the ticket

Here is a sample JSON input:

{
  "description": "Unable to access email on laptop",
  "subject": "Email Access Issue",
  "email": "[email protected]",
  "department_id": 21000097763,
  "priority": 2,
  "status": 2,
  "group_id": 21000478053,
  "category": "Hardware",
  "sub_category": "Laptop",
  "custom_fields": {
    "asset_tag": "LAPTOP-001"
  }
}

Response

Upon successful creation, the action returns the created ticket details including:

  • Ticket ID
  • Ticket URL
  • Created timestamp
  • Requester details
  • Assignment information

View A Ticket

Retrieves the details of a specific ticket from Freshservice. This action can be leveraged by Leena AI Orchestrator/Agent to view ticket information and status.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Ticket IDThe unique identifier of the ticket to view

Here is a sample JSON input:

{
  "ticketId": 1
}

Response

The action returns the ticket details including:

  • Ticket ID
  • Subject and description
  • Status and priority
  • Requester information
  • Assigned agent/group
  • Created and updated timestamps
  • Custom field values

View All Tickets

Retrieves a list of all tickets from Freshservice. This action can be leveraged by Leena AI Orchestrator/Agent to list all tickets in the service desk.


Input Parameters

This action does not require any input parameters. It retrieves all tickets accessible to the authenticated user.

Response

The action returns a list of tickets, each containing:

  • Ticket ID
  • Subject
  • Status and priority
  • Requester information
  • Created and updated timestamps

Update A Ticket

Updates an existing ticket in Freshservice. The Agent can leverage the skill (workflow), which has been designed to modify an existing ticket in Freshservice, once the user provides the ticket details to be updated. Here are some common use cases:

  • Status Updates: Change ticket status from Open to Resolved
  • Priority Changes: Escalate or de-escalate ticket priority
  • Reassignment: Assign ticket to different agent or group
  • Add Information: Update description or custom fields
  • Category Changes: Modify ticket classification

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Ticket IDThe unique identifier of the ticket to update

Optional

NameDescription
DescriptionUpdated description of the ticket
PhoneUpdated phone number
SubjectUpdated subject/title
EmailUpdated requester email
PriorityUpdated priority: Low (1), Medium (2), High (3), Urgent (4)
StatusUpdated status: Open (2), Pending (3), Resolved (4), Closed (5)
Workspace IDUpdated workspace identifier
CC EmailsUpdated CC email addresses
Due ByUpdated due date timestamp
Response Due ByUpdated response due timestamp
Department IDUpdated department ID
Group IDUpdated agent group ID
SourceUpdated ticket source
CategoryUpdated primary category
Sub CategoryUpdated secondary category
Item CategoryUpdated item category
Custom FieldsUpdated custom field values
ImpactUpdated impact level: Low (1), Medium (2), High (3)
UrgencyUpdated urgency level: Low (1), Medium (2), High (3)
Resolution NotesNotes about the resolution
TagsUpdated tags

Here is a sample JSON input:

{
  "ticketId": 1,
  "status": 4,
  "priority": 3,
  "resolution_notes": "Issue resolved by reinstalling email client"
}

Response

Upon successful update, the action returns the updated ticket details including:

  • Updated ticket properties
  • Modification timestamp
  • Updated status information

Delete A Ticket

Deletes an existing ticket from Freshservice. The Agent can leverage the skill (workflow), which has been designed to remove a ticket from Freshservice, once the user specifies the ticket to be deleted. Here are some common use cases:

  • Remove Duplicates: Delete duplicate ticket entries
  • Cleanup: Remove test or spam tickets
  • Data Management: Delete tickets that are no longer relevant

Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Ticket IDThe unique identifier of the ticket to delete

Here is a sample JSON input:

{
  "ticketId": 1
}

Response

Upon successful deletion, the action returns:

  • Confirmation of successful deletion
  • HTTP status code

Filter Tickets

Searches and filters tickets in Freshservice using query parameters. This action can be leveraged by Leena AI Orchestrator/Agent to find specific tickets based on criteria.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
QueryThe filter query string using Freshservice query language

Here is a sample JSON input:

{
  "query": "status:2 AND priority:4"
}

Response

The action returns a filtered list of tickets matching the query criteria.

Create An Agent

Creates a new agent in Freshservice. The Agent can leverage the skill (workflow), which has been designed to onboard a new support agent in Freshservice.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
EmailEmail address of the new agent
First NameFirst name of the agent

Optional

NameDescription
Last NameLast name of the agent
Job TitleJob title of the agent
PhonePhone number
Mobile PhoneMobile phone number
AddressAddress of the agent
Time ZoneTime zone setting for the agent
LanguagePreferred language
Location IDLocation identifier
Department IDsArray of department IDs the agent belongs to
Background InfoBackground information about the agent
Scoreboard LevelScoreboard level for gamification
Custom FieldsCustom field values
Membership RolesRole memberships
Observer RolesObserver role assignments

Here is a sample JSON input:

{
  "email": "[email protected]",
  "first_name": "John",
  "last_name": "Smith",
  "job_title": "IT Support Specialist",
  "department_ids": [21000097763],
  "time_zone": "Asia/Kolkata"
}

Response

Upon successful creation, the action returns the created agent details including:

  • Agent ID
  • Agent profile information
  • Role assignments

Deactivate An Agent

Deactivates an existing agent in Freshservice. The Agent can leverage the skill (workflow), which has been designed to offboard a support agent from Freshservice.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Agent IDThe unique identifier of the agent to deactivate

Here is a sample JSON input:

{
  "agentId": 21000478054
}

Response

Upon successful deactivation, the action returns confirmation of the agent deactivation.

Filter Agents

Searches and filters agents in Freshservice using query parameters. This action can be leveraged by Leena AI Orchestrator/Agent to find specific agents based on criteria.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
QueryThe filter query string for searching agents

Here is a sample JSON input:

{
  "query": "department_id:21000097763"
}

Response

The action returns a filtered list of agents matching the query criteria.

Get Requester ID From Email

Retrieves a Freshservice requester's ID using their email address. This action is useful for linking incoming requests to the correct user profile.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
EmailEmail address of the requester to search

Optional

NameDescription
Include AgentsWhether to include agents in the search (boolean)

Here is a sample JSON input:

{
  "email": "[email protected]",
  "includeAgents": true
}

Response

The action returns the requester details including:

  • Requester ID
  • User profile information

Create A Problem

Creates a new problem record in Freshservice. The Agent can leverage the skill (workflow), which has been designed to create a new problem for root cause analysis in Freshservice.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Requester IDThe ID of the user reporting the problem
DescriptionDetailed description of the problem
PriorityPriority level: Low (1), Medium (2), High (3), Urgent (4)
StatusStatus: Open (1), Change Requested (2), Closed (3)
ImpactBusiness impact: Low (1), Medium (2), High (3)
SubjectBrief summary of the problem
Due ByTimestamp by which the problem should be resolved

Optional

NameDescription
Workspace IDThe workspace identifier
Agent IDID of the agent assigned to the problem
Group IDID of the group assigned to the problem
Department IDDepartment identifier
CategoryPrimary category for classification
Sub CategorySecondary category (dependent on Category)
Item CategorySpecific item category (dependent on Sub Category)
Custom FieldsJSON object containing custom field values
Analysis FieldsJSON object for root cause and impact analysis
AssetsJSON object of associated assets
Known ErrorBoolean flag indicating if this is a known error

Here is a sample JSON input:

{
  "requester_id": 21000478054,
  "description": "Multiple users experiencing slow network connectivity in Building A",
  "priority": 3,
  "status": 1,
  "impact": 2,
  "subject": "Network Slowdown in Building A",
  "due_by": "2025-09-15T17:00:00Z",
  "category": "Network",
  "known_error": false
}

Response

Upon successful creation, the action returns the created problem details including:

  • Problem ID
  • Problem URL
  • Created timestamp
  • Assignment information

Update A Problem

Updates an existing problem record in Freshservice. The Agent can leverage the skill (workflow), which has been designed to modify an existing problem in Freshservice.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Problem IDThe unique identifier of the problem to update

Optional

NameDescription
SubjectUpdated summary of the problem
DescriptionUpdated description
Requester IDUpdated requester ID
PriorityUpdated priority: Low (1), Medium (2), High (3), Urgent (4)
StatusUpdated status: Open (1), Change Requested (2), Closed (3)
ImpactUpdated impact: Low (1), Medium (2), High (3)
Due ByUpdated due date timestamp
Agent IDUpdated assigned agent ID
Group IDUpdated assigned group ID
Department IDUpdated department ID
CategoryUpdated category
Sub CategoryUpdated sub-category
Item CategoryUpdated item category
Custom FieldsUpdated custom field values
Analysis FieldsUpdated analysis fields
AssetsUpdated associated assets
Known ErrorUpdated known error flag

Here is a sample JSON input:

{
  "problemId": 1,
  "status": 3,
  "known_error": true,
  "analysis_fields": {
    "root_cause": "Faulty network switch on Floor 3"
  }
}

Response

Upon successful update, the action returns the updated problem details.

Create A Change

Creates a new change request in Freshservice. The Agent can leverage the skill (workflow), which has been designed to create a new change request for managing IT infrastructure modifications.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Requester IDThe ID of the user requesting the change
DescriptionDetailed description of the change
PriorityPriority level: Low (1), Medium (2), High (3), Urgent (4)
StatusStatus: Open (1), Planning (2), Approval (3), Pending Release (4), Pending Review (5), Closed (6)
ImpactBusiness impact: Low (1), Medium (2), High (3)
RiskRisk level: Low (1), Medium (2), High (3), Very High (4)
Change TypeType: Minor (1), Standard (2), Major (3), Emergency (4)
SubjectBrief summary of the change
Planned Start DatePlanned start date for the change implementation
Planned End DatePlanned end date for the change implementation

Optional

NameDescription
Workspace IDThe workspace identifier
Agent IDID of the agent assigned to the change
Group IDID of the group assigned to the change
Department IDDepartment identifier
CategoryPrimary category for classification
Sub CategorySecondary category (dependent on Category)
Item CategorySpecific item category (dependent on Sub Category)
Approval StatusCurrent approval status
Custom FieldsJSON object containing custom field values
Maintenance WindowJSON object for maintenance window details
AssetsJSON object of associated assets
Impacted ServicesJSON object listing impacted services

Here is a sample JSON input:

{
  "requester_id": 21000478054,
  "description": "Upgrade production database server from PostgreSQL 14 to PostgreSQL 16",
  "priority": 2,
  "status": 1,
  "impact": 3,
  "risk": 2,
  "change_type": 3,
  "subject": "Database Server Upgrade",
  "planned_start_date": "2025-09-20T02:00:00Z",
  "planned_end_date": "2025-09-20T06:00:00Z",
  "category": "Database",
  "impacted_services": {
    "primary_ids": [21000478000]
  }
}

Response

Upon successful creation, the action returns the created change details including:

  • Change ID
  • Change URL
  • Created timestamp
  • Approval workflow status

Update A Change

Updates an existing change request in Freshservice. The Agent can leverage the skill (workflow), which has been designed to modify an existing change request in Freshservice.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Change IDThe unique identifier of the change to update

Optional

NameDescription
SubjectUpdated summary of the change
DescriptionUpdated description
Requester IDUpdated requester ID
PriorityUpdated priority: Low (1), Medium (2), High (3), Urgent (4)
StatusUpdated status
ImpactUpdated impact: Low (1), Medium (2), High (3)
RiskUpdated risk: Low (1), Medium (2), High (3), Very High (4)
Change TypeUpdated type: Minor (1), Standard (2), Major (3), Emergency (4)
Planned Start DateUpdated planned start date
Planned End DateUpdated planned end date
Agent IDUpdated assigned agent ID
Group IDUpdated assigned group ID
Department IDUpdated department ID
CategoryUpdated category
Sub CategoryUpdated sub-category
Item CategoryUpdated item category
Approval StatusUpdated approval status
Custom FieldsUpdated custom field values
Maintenance WindowUpdated maintenance window
AssetsUpdated associated assets
Impacted ServicesUpdated impacted services

Here is a sample JSON input:

{
  "changeId": 1,
  "status": 6,
  "custom_fields": {
    "implementation_notes": "Upgrade completed successfully with zero downtime"
  }
}

Response

Upon successful update, the action returns the updated change details.

Create A Service Request

Creates a new service request from the service catalog in Freshservice. The Agent can leverage the skill (workflow), which has been designed to submit a service request from the catalog.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Item Display IdThe display ID of the service catalog item
EmailEmail address of the requester
QuantityQuantity of items requested

Optional

NameDescription
Requested ForEmail ID of the user on whose behalf the request is created
Custom FieldsJSON object containing custom field values for the service item

Here is a sample JSON input:

{
  "displayId": 1,
  "email": "[email protected]",
  "quantity": 1,
  "requested_for": "[email protected]",
  "custom_fields": {
    "laptop_type": "MacBook Pro 14",
    "memory": "32GB"
  }
}

Response

Upon successful creation, the action returns the created service request details including:

  • Service Request ID
  • Request URL
  • Status
  • Approval workflow (if applicable)

Cancel An Approval

Cancels a pending approval for a ticket in Freshservice. The Agent can leverage the skill (workflow), which has been designed to cancel an approval request.


Input Parameters

Here are the input parameters required to set up this action:

Mandatory

NameDescription
Ticket IDThe unique identifier of the ticket
Approval IDThe unique identifier of the approval to cancel

Here is a sample JSON input:

{
  "ticketId": 1,
  "approvalId": 21000478100
}

Response

Upon successful cancellation, the action returns:

  • Confirmation of approval cancellation
  • Updated approval status