Freshdesk
Overview
Section titled “Overview”Freshdesk is a customer support software that centralizes tickets, knowledge base, and automations for customer service teams. With the Freshdesk integration in SquadOS, your agents can open and update tickets, manage contacts and companies, reply to support requests, add internal notes, and publish knowledge base articles — all programmatically and without manual intervention.
- Official website: https://freshdesk.com/
- Composio documentation: docs.composio.dev/toolkits/freshdesk
Authentication
Section titled “Authentication”This tool uses an API key (API_KEY) to connect.
You will need the following fields:
| Field | Required | Description |
|---|---|---|
api_key | Yes | Your Freshdesk account API key, found in the agent profile settings. |
How to get credentials
Section titled “How to get credentials”- Log in to your Freshdesk account.
- Click your profile picture in the top-right corner and select Profile Settings.
- In the right pane, locate View API key and complete the captcha verification.
- Copy the key displayed — this is the value to use in the
api_keyfield when connecting in SquadOS.
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Freshdesk. - Click the card to open the details modal and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you enter the API key obtained above.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to your agents. (Connection-flow details in Organization Tools.)
Available actions
Section titled “Available actions”Create Ticket
Section titled “Create Ticket”FRESHDESK_CREATE_TICKET
Creates a new ticket in Freshdesk. The subject and description fields are always required. At least one requester identifier is also required: requester_id, email, phone, facebook_id, twitter_id, or unique_external_id. If only phone is provided without email, the name field becomes mandatory.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
subject | string | Yes | Subject of the ticket. Must be a non-empty string. |
description | string | Yes | HTML content of the ticket. Supports HTML formatting such as <p>, <strong>, <em>, etc. |
email | string | No | Email address of the requester. |
requester_id | integer | No | User ID of the requester. |
phone | string | No | Phone number of the requester. |
name | string | No | Name of the requester. |
status | string | No | Status of the ticket: open, pending, resolved, or closed. |
priority | string | No | Priority of the ticket: low, medium, high, or urgent. |
source | string | No | Channel through which the ticket was created: email, portal, phone, chat, feedback_widget, or outbound_email. |
group_id | integer | No | ID of the group to which the ticket has been assigned. |
responder_id | integer | No | ID of the agent to whom the ticket has been assigned. |
company_id | integer | No | Company ID of the requester. |
tags | array | No | Tags associated with the ticket. |
due_by | string | No | Timestamp when the ticket is due to be resolved in ISO 8601 format (e.g., 2026-01-30T15:00:00Z). |
fr_due_by | string | No | Timestamp when the first response is due in ISO 8601 format. |
cc_emails | array | No | Email addresses added in the cc field. |
custom_fields | object | No | Key-value pairs for custom fields (e.g., {"cf_field": "value"}). |
product_id | integer | No | ID of the product linked to the ticket. |
twitter_id | string | No | Twitter handle of the requester. |
facebook_id | string | No | Facebook ID of the requester. |
unique_external_id | string | No | External ID of the requester. |
email_config_id | integer | No | ID of the email configuration used for this ticket. |
attachments | array | No | Ticket attachments. Require multipart/form-data format; not supported via JSON API calls. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
View Ticket
Section titled “View Ticket”FRESHDESK_VIEW_TICKET
Views an existing ticket in Freshdesk. Ticket details are returned nested under response_data in the tool response.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ticket_id | integer | Yes | ID of the ticket to be viewed. |
include | string | No | Comma-separated list of additional information to include in the response. Valid values: stats (ticket timing statistics), requester (full requester details), company (company information). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Tickets
Section titled “Get Tickets”FRESHDESK_GET_TICKETS
Retrieves a list of tickets from Freshdesk with filter and pagination support. Tickets are returned under response_data in the response object.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination. |
per_page | integer | No | Number of tickets per page. |
filter | string | No | Predefined filter to apply: new_and_my_open, watching, spam, deleted, etc. |
status | string | No | Filter by status: open, pending, resolved, closed, waiting_on_customer, or waiting_on_third_party. |
priority | string | No | Filter by priority: low, medium, high, or urgent. |
agent_id | integer | No | Filter tickets by agent ID. |
group_id | integer | No | Filter tickets by group ID. |
requester_id | integer | No | Filter tickets by requester ID. |
sort_by | string | No | Field to sort tickets by, e.g., created_at. |
sort_order | string | No | Order of sorting: asc or desc. |
created_since | string | No | Retrieve tickets created since this timestamp in YYYY-MM-DDTHH:MM:SSZ format. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Ticket
Section titled “Update Ticket”FRESHDESK_UPDATE_TICKET
Updates an existing ticket in Freshdesk. Use to modify ticket attributes like subject, priority, status, description, or custom fields.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ticket_id | integer | Yes | ID of the ticket to be updated. |
subject | string | No | Subject of the ticket. |
description | string | No | HTML content of the ticket description. |
status | string | No | New status: open, pending, resolved, closed, waiting_on_customer, or waiting_on_third_party. |
priority | string | No | New priority: low, medium, high, or urgent. |
source | string | No | Channel of origin. |
type | string | No | Type of the ticket (e.g., Question, Incident, Problem, Feature Request). Custom types configured in your Freshdesk instance are also supported. |
group_id | integer | No | ID of the group to which the ticket has been assigned. |
responder_id | integer | No | ID of the agent to whom the ticket has been assigned. |
company_id | integer | No | ID of the company associated with the requester. |
tags | array | No | Tags to associate with the ticket. |
due_by | string | No | New resolution deadline in ISO 8601 format. |
fr_due_by | string | No | New first response deadline in ISO 8601 format. |
parent_id | integer | No | ID of the parent ticket to link this ticket to. |
custom_fields | object | No | Custom fields (e.g., {"cf_reference_number": "REF-123"}). |
email | string | No | Email address of the requester. |
name | string | No | Name of the requester. |
phone | string | No | Phone number of the requester. |
requester_id | integer | No | User ID of the requester. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Ticket
Section titled “Delete Ticket”FRESHDESK_DELETE_TICKET
Permanently deletes a ticket from Freshdesk. Once deleted, the ticket cannot be restored.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ticket_id | integer | Yes | The unique identifier of the ticket to delete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Reply to Ticket
Section titled “Reply to Ticket”FRESHDESK_REPLY_TO_TICKET
Creates a public reply to an existing support ticket. The reply is sent to the ticket requester and any CC’d recipients. Supports HTML content and email distribution control.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ticket_id | integer | Yes | The unique identifier of the ticket to reply to. |
body | string | Yes | The content of the reply message. Can contain HTML formatting. |
user_id | integer | No | The ID of the agent creating the reply. Use this to create a reply on behalf of a specific user. |
from_email | string | No | The support email address to send the reply from. By default, replies are sent from the support email where the ticket was originally created. |
cc_emails | array | No | Email addresses to include in the CC field. Maximum 50 total recipients across to/cc/bcc fields. |
bcc_emails | array | No | Email addresses to include in the BCC field. |
to_emails | array | No | Direct recipient email addresses to override the default ticket requester. Requires the multiple_to feature to be enabled in your Freshdesk account. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Add Note to Ticket
Section titled “Add Note to Ticket”FRESHDESK_ADD_NOTE_TO_TICKET
Adds a private or public note to an existing ticket in Freshdesk. Private notes are visible only to agents; public notes are also visible to the requester.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ticket_id | integer | Yes | The unique identifier of the ticket to add the note to. |
body | string | Yes | The content of the note. Can contain plain text or HTML. |
private | boolean | No | Indicates whether the note is private (visible only to agents). Default: true. |
user_id | integer | No | The ID of the user creating the note (useful for posting on behalf of another user). |
notify_emails | array | No | Email addresses to notify about the note. Only accepts agent email addresses. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Bulk Update Tickets
Section titled “Bulk Update Tickets”FRESHDESK_BULK_UPDATE_TICKETS
Updates multiple tickets simultaneously in bulk. The operation runs asynchronously and returns a job_id to track progress.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
ids | array | Yes | Array of ticket IDs to update in bulk (e.g., [18, 17, 123]). |
properties | object | Yes | Object containing the fields to update and their new values. At least one property must be specified. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Contact
Section titled “Create Contact”FRESHDESK_CREATE_CONTACT
Creates a new contact in Freshdesk. The name field is required; at least one of email or phone must be provided.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Name of the contact. |
email | string | No | Primary email address of the contact. |
phone | string | No | Phone number of the contact. |
mobile | string | No | Mobile number of the contact. |
job_title | string | No | Job title of the contact. |
company_id | integer | No | ID of the primary company associated with this contact. |
address | string | No | Physical address of the contact. |
description | string | No | Description or notes about the contact. |
tags | array | No | Tags associated with the contact. |
language | string | No | Language code for the contact’s preferred language. |
time_zone | string | No | Time zone of the contact. |
twitter_id | string | No | Twitter handle of the contact. |
other_emails | array | No | Additional email addresses of the contact. |
custom_fields | object | Yes | Custom fields object. Field keys should not be prefixed with cf_. |
view_all_tickets | boolean | No | Set to true if the contact can view all tickets from their company. |
unique_external_id | string | No | External ID of the contact for integration purposes. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Contacts
Section titled “Get Contacts”FRESHDESK_GET_CONTACTS
Retrieves all contacts from a Freshdesk account with filter and pagination support. Results are paginated; iterate through pages using page and per_page (max 100) to retrieve the full dataset.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination. Starts at 1. Default: 1. |
per_page | integer | No | Number of contacts to return per page. Maximum: 100. Default: 30. |
email | string | No | Filter contacts by email address. |
phone | string | No | Filter contacts by phone number (digits only). |
mobile | string | No | Filter contacts by mobile number (digits only). |
state | string | No | Filter contacts by state. |
company_id | integer | No | Filter contacts belonging to a specific company by company ID. |
updated_since | string | No | Retrieve contacts modified after a specified timestamp in ISO 8601 format. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Contact
Section titled “Get Contact”FRESHDESK_GET_CONTACT
Retrieves detailed information about a specific contact by ID.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
contact_id | integer | Yes | The unique identifier of the contact to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Update Contact
Section titled “Update Contact”FRESHDESK_UPDATE_CONTACT
Updates an existing contact’s information in Freshdesk, such as name, email, phone, job title, or custom fields.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | ID of the contact to update. |
name | string | No | Updated name of the contact. |
email | string | No | Updated email address. |
phone | string | No | Updated phone number. |
mobile | string | No | Updated mobile number. |
job_title | string | No | Updated job title. |
company_id | integer | No | Updated ID of the primary company. |
address | string | No | Updated physical address. |
description | string | No | Updated description or notes. |
tags | array | No | Updated tags. |
language | string | No | Updated language code. |
time_zone | string | No | Updated time zone. |
twitter_id | string | No | Updated Twitter handle. |
other_emails | array | No | Updated additional email addresses. |
custom_fields | object | No | Updated custom fields. |
view_all_tickets | boolean | No | Set to true if the contact can view all tickets from their company. |
unique_external_id | string | No | Updated external ID for integration purposes. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Contact
Section titled “Delete Contact”FRESHDESK_DELETE_CONTACT
Soft-deletes a contact from Freshdesk, moving them from All Contacts to the Deleted Contacts view. Future communications from the contact will be directed to SPAM. The contact can be restored later; for permanent deletion, use the hard delete action.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
contact_id | integer | Yes | The unique identifier of the contact to be soft deleted. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Contacts
Section titled “Search Contacts”FRESHDESK_SEARCH_CONTACTS
Searches and filters contacts in Freshdesk using query-based search. Use to find contacts based on fields like email, phone, mobile, company_id, or other searchable contact attributes.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Query string to filter contacts. The entire query must be wrapped in double quotes. Format: "field:value" for strings or "field:number" for numeric values. Searchable fields: email, phone, mobile, company_id, active. Supports logical operators AND and OR. Limited to 512 characters. |
page | integer | No | Page number for pagination. Starts at 1, cannot exceed 10. Returns a maximum of 30 results per page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Company
Section titled “Create Company”FRESHDESK_CREATE_COMPANIES
Creates a new company in Freshdesk. Companies can hold multiple contacts and are automatically associated with contacts based on email domain matching.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name of the company. |
domains | array | No | Array of domain names associated with the company. Freshdesk automatically associates contacts whose email contains any of the specified domains. |
description | string | No | Description about the company. |
note | string | No | Additional notes about the company. |
industry | string | No | Industry classification (available in Blossom Plan and above). |
account_tier | string | No | Account tier: Basic, Premium, or Enterprise. |
health_score | string | No | Health score: Happy, Doing okay, or At risk. |
renewal_date | string | No | Contract or renewal date in YYYY-MM-DD format. |
custom_fields | object | No | Custom fields for the company. Keys do not require the cf_ prefix. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Companies
Section titled “Get Companies”FRESHDESK_GET_COMPANIES
Retrieves all companies from a Freshdesk account with pagination support.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number for pagination. Starts at 1. Default: 1. |
per_page | integer | No | Number of companies to return per page. Maximum: 100. Default: 30. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Company
Section titled “Get Company”FRESHDESK_GET_COMPANY
Retrieves detailed information about a specific company by ID, including domains and custom fields.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
company_id | integer | Yes | The unique identifier of the company to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Delete Company
Section titled “Delete Company”FRESHDESK_DELETE_COMPANY
Permanently disbands a company from Freshdesk. Deleting a company only disbands it and does not delete the customers inside it. Once disbanded, the company cannot be restored.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
company_id | integer | Yes | The unique identifier of the company to delete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Companies Autocomplete
Section titled “Search Companies Autocomplete”FRESHDESK_SEARCH_COMPANY
Searches for companies using autocomplete functionality in Freshdesk. Use to quickly find companies by name or partial name.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The company name or partial name to search for via autocomplete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Get Agent
Section titled “Get Agent”FRESHDESK_GET_AGENT
Retrieves detailed information about a specific agent by ID, including profile, contact information, availability status, and role assignments.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
agent_id | integer | Yes | The unique identifier of the agent to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Search Agents
Section titled “Search Agents”FRESHDESK_SEARCH_AGENTS
Searches and filters agents in Freshdesk by email, phone, mobile, or state (fulltime/occasional).
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
email | string | No | Filter agents by email address. |
phone | string | No | Filter agents by phone number. |
mobile | string | No | Filter agents by mobile phone number. |
state | string | No | Filter agents by their state: fulltime or occasional. |
page | integer | No | Specifies which page of results to return. |
per_page | integer | No | Specifies the number of results per page. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
Create Solution Article
Section titled “Create Solution Article”FRESHDESK_CREATE_SOLUTION_ARTICLE
Creates a new solution article in a Freshdesk knowledge base folder. Use to add documentation, FAQs, or help content to your knowledge base.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
folder_id | integer | Yes | The unique identifier of the folder where the article will be created. |
title | string | Yes | Title of the solution article. |
description | string | Yes | Description/content of the article in HTML format. |
status | string | No | Publication status: draft or published. |
agent_id | integer | No | ID of the agent creating the article. If not specified, the authenticated agent will be used. |
tags | array | No | Tags for categorizing the article. |
seo_data | object | No | SEO data for the article. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |
List Solution Articles
Section titled “List Solution Articles”FRESHDESK_LIST_SOLUTION_ARTICLES
Retrieves all solution articles within a specified folder in Freshdesk.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
folder_id | integer | Yes | The unique identifier of the solution folder for which to retrieve articles. |
page | integer | No | Page number for pagination. Starts at 1. Each page returns up to 30 articles. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error if any occurred during the execution of the action. |
successful | boolean | Yes | Whether or not the action execution was successful. |