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:
- Log in to your Freshservice Support Portal (Ensure you're signed in as an agent with API access permissions).
- Access Profile Settings:
- Click on your profile picture on the top right corner of your portal
- Select "Profile settings" from the dropdown menu
- Locate Your API Key:
- Your API key will be available below the "Delegate Approvals" section on the right side of the page
- Complete the CAPTCHA verification if prompted
- Copy and Secure Your API Key:
- Copy the API key and store it securely
- 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:
- Log in to your Leena AI workspace
- Navigate to Settings > Integrations
- Search for "Freshservice" and select it from the list to add its new connector
- Start configuring the connector
- Base URL: Your Freshservice instance URL (e.g., https://yourdomain.freshservice.com)
- Auth Type: Select "API Key Auth"
- API Key: Your Freshservice API key obtained from profile settings
- Save Configuration
- Click Save to store the connector configuration
- The connector will validate the credentials and establish the connection
- 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
| Name | Description |
|---|---|
| Description | Detailed description of the ticket/issue |
| Subject | The title/subject of the ticket |
| Email address of the requester | |
| Department ID | The identifier of the department for the ticket |
Optional
| Name | Description |
|---|---|
| Phone | Phone number of the requester |
| Requester ID | The ID of the requester (agent/user) |
| Priority | Priority level of the ticket: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Status of the ticket: Open (2), Pending (3), Resolved (4), Closed (5) |
| Workspace ID | The workspace identifier (default: 2) |
| CC Emails | Email addresses to be CC'd on ticket updates |
| Due By | Timestamp by which the ticket should be resolved |
| Response Due By | Timestamp by which the first response is due |
| Group ID | The ID of the agent group to assign the ticket |
| Source | Source of the ticket (Email, Portal, Phone, etc.) |
| Category | Primary category for ticket classification |
| Sub Category | Secondary category (dependent on Category) |
| Item Category | Specific item category (dependent on Sub Category) |
| Custom Fields | JSON object containing custom field values |
| Impact | Business impact level: Low (1), Medium (2), High (3) |
| Urgency | Urgency level: Low (1), Medium (2), High (3) |
| File Name | Name of the attachment file |
| File Data | Attachment data as URL or Base64 encoded string |
| Tags | Tags to associate with the ticket |
| Type | Type of ticket |
| Responder ID | ID 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
| Name | Description |
|---|---|
| Ticket ID | The 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
| Name | Description |
|---|---|
| Ticket ID | The unique identifier of the ticket to update |
Optional
| Name | Description |
|---|---|
| Description | Updated description of the ticket |
| Phone | Updated phone number |
| Subject | Updated subject/title |
| Updated requester email | |
| Priority | Updated priority: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Updated status: Open (2), Pending (3), Resolved (4), Closed (5) |
| Workspace ID | Updated workspace identifier |
| CC Emails | Updated CC email addresses |
| Due By | Updated due date timestamp |
| Response Due By | Updated response due timestamp |
| Department ID | Updated department ID |
| Group ID | Updated agent group ID |
| Source | Updated ticket source |
| Category | Updated primary category |
| Sub Category | Updated secondary category |
| Item Category | Updated item category |
| Custom Fields | Updated custom field values |
| Impact | Updated impact level: Low (1), Medium (2), High (3) |
| Urgency | Updated urgency level: Low (1), Medium (2), High (3) |
| Resolution Notes | Notes about the resolution |
| Tags | Updated 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
| Name | Description |
|---|---|
| Ticket ID | The 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
| Name | Description |
|---|---|
| Query | The 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
| Name | Description |
|---|---|
| Email address of the new agent | |
| First Name | First name of the agent |
Optional
| Name | Description |
|---|---|
| Last Name | Last name of the agent |
| Job Title | Job title of the agent |
| Phone | Phone number |
| Mobile Phone | Mobile phone number |
| Address | Address of the agent |
| Time Zone | Time zone setting for the agent |
| Language | Preferred language |
| Location ID | Location identifier |
| Department IDs | Array of department IDs the agent belongs to |
| Background Info | Background information about the agent |
| Scoreboard Level | Scoreboard level for gamification |
| Custom Fields | Custom field values |
| Membership Roles | Role memberships |
| Observer Roles | Observer 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
| Name | Description |
|---|---|
| Agent ID | The 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
| Name | Description |
|---|---|
| Query | The 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
| Name | Description |
|---|---|
| Email address of the requester to search |
Optional
| Name | Description |
|---|---|
| Include Agents | Whether 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
| Name | Description |
|---|---|
| Requester ID | The ID of the user reporting the problem |
| Description | Detailed description of the problem |
| Priority | Priority level: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Status: Open (1), Change Requested (2), Closed (3) |
| Impact | Business impact: Low (1), Medium (2), High (3) |
| Subject | Brief summary of the problem |
| Due By | Timestamp by which the problem should be resolved |
Optional
| Name | Description |
|---|---|
| Workspace ID | The workspace identifier |
| Agent ID | ID of the agent assigned to the problem |
| Group ID | ID of the group assigned to the problem |
| Department ID | Department identifier |
| Category | Primary category for classification |
| Sub Category | Secondary category (dependent on Category) |
| Item Category | Specific item category (dependent on Sub Category) |
| Custom Fields | JSON object containing custom field values |
| Analysis Fields | JSON object for root cause and impact analysis |
| Assets | JSON object of associated assets |
| Known Error | Boolean 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
| Name | Description |
|---|---|
| Problem ID | The unique identifier of the problem to update |
Optional
| Name | Description |
|---|---|
| Subject | Updated summary of the problem |
| Description | Updated description |
| Requester ID | Updated requester ID |
| Priority | Updated priority: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Updated status: Open (1), Change Requested (2), Closed (3) |
| Impact | Updated impact: Low (1), Medium (2), High (3) |
| Due By | Updated due date timestamp |
| Agent ID | Updated assigned agent ID |
| Group ID | Updated assigned group ID |
| Department ID | Updated department ID |
| Category | Updated category |
| Sub Category | Updated sub-category |
| Item Category | Updated item category |
| Custom Fields | Updated custom field values |
| Analysis Fields | Updated analysis fields |
| Assets | Updated associated assets |
| Known Error | Updated 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
| Name | Description |
|---|---|
| Requester ID | The ID of the user requesting the change |
| Description | Detailed description of the change |
| Priority | Priority level: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Status: Open (1), Planning (2), Approval (3), Pending Release (4), Pending Review (5), Closed (6) |
| Impact | Business impact: Low (1), Medium (2), High (3) |
| Risk | Risk level: Low (1), Medium (2), High (3), Very High (4) |
| Change Type | Type: Minor (1), Standard (2), Major (3), Emergency (4) |
| Subject | Brief summary of the change |
| Planned Start Date | Planned start date for the change implementation |
| Planned End Date | Planned end date for the change implementation |
Optional
| Name | Description |
|---|---|
| Workspace ID | The workspace identifier |
| Agent ID | ID of the agent assigned to the change |
| Group ID | ID of the group assigned to the change |
| Department ID | Department identifier |
| Category | Primary category for classification |
| Sub Category | Secondary category (dependent on Category) |
| Item Category | Specific item category (dependent on Sub Category) |
| Approval Status | Current approval status |
| Custom Fields | JSON object containing custom field values |
| Maintenance Window | JSON object for maintenance window details |
| Assets | JSON object of associated assets |
| Impacted Services | JSON 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
| Name | Description |
|---|---|
| Change ID | The unique identifier of the change to update |
Optional
| Name | Description |
|---|---|
| Subject | Updated summary of the change |
| Description | Updated description |
| Requester ID | Updated requester ID |
| Priority | Updated priority: Low (1), Medium (2), High (3), Urgent (4) |
| Status | Updated status |
| Impact | Updated impact: Low (1), Medium (2), High (3) |
| Risk | Updated risk: Low (1), Medium (2), High (3), Very High (4) |
| Change Type | Updated type: Minor (1), Standard (2), Major (3), Emergency (4) |
| Planned Start Date | Updated planned start date |
| Planned End Date | Updated planned end date |
| Agent ID | Updated assigned agent ID |
| Group ID | Updated assigned group ID |
| Department ID | Updated department ID |
| Category | Updated category |
| Sub Category | Updated sub-category |
| Item Category | Updated item category |
| Approval Status | Updated approval status |
| Custom Fields | Updated custom field values |
| Maintenance Window | Updated maintenance window |
| Assets | Updated associated assets |
| Impacted Services | Updated 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
| Name | Description |
|---|---|
| Item Display Id | The display ID of the service catalog item |
| Email address of the requester | |
| Quantity | Quantity of items requested |
Optional
| Name | Description |
|---|---|
| Requested For | Email ID of the user on whose behalf the request is created |
| Custom Fields | JSON 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
| Name | Description |
|---|---|
| Ticket ID | The unique identifier of the ticket |
| Approval ID | The 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
Updated 1 day ago
