Skip to content

Freshdesk

Freshdesk

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.

This tool uses an API key (API_KEY) to connect.

You will need the following fields:

FieldRequiredDescription
api_keyYesYour Freshdesk account API key, found in the agent profile settings.
  1. Log in to your Freshdesk account.
  2. Click your profile picture in the top-right corner and select Profile Settings.
  3. In the right pane, locate View API key and complete the captcha verification.
  4. Copy the key displayed — this is the value to use in the api_key field when connecting in SquadOS.
  1. Go to Tools in the side menu (/admin/tools).
  2. Open the Available tab and search for Freshdesk.
  3. Click the card to open the details modal and hit Connect.
  4. You’re taken to the secure connection page hosted by Composio, where you enter the API key obtained above.
  5. 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.)

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.

NameTypeRequiredDescription
subjectstringYesSubject of the ticket. Must be a non-empty string.
descriptionstringYesHTML content of the ticket. Supports HTML formatting such as <p>, <strong>, <em>, etc.
emailstringNoEmail address of the requester.
requester_idintegerNoUser ID of the requester.
phonestringNoPhone number of the requester.
namestringNoName of the requester.
statusstringNoStatus of the ticket: open, pending, resolved, or closed.
prioritystringNoPriority of the ticket: low, medium, high, or urgent.
sourcestringNoChannel through which the ticket was created: email, portal, phone, chat, feedback_widget, or outbound_email.
group_idintegerNoID of the group to which the ticket has been assigned.
responder_idintegerNoID of the agent to whom the ticket has been assigned.
company_idintegerNoCompany ID of the requester.
tagsarrayNoTags associated with the ticket.
due_bystringNoTimestamp when the ticket is due to be resolved in ISO 8601 format (e.g., 2026-01-30T15:00:00Z).
fr_due_bystringNoTimestamp when the first response is due in ISO 8601 format.
cc_emailsarrayNoEmail addresses added in the cc field.
custom_fieldsobjectNoKey-value pairs for custom fields (e.g., {"cf_field": "value"}).
product_idintegerNoID of the product linked to the ticket.
twitter_idstringNoTwitter handle of the requester.
facebook_idstringNoFacebook ID of the requester.
unique_external_idstringNoExternal ID of the requester.
email_config_idintegerNoID of the email configuration used for this ticket.
attachmentsarrayNoTicket attachments. Require multipart/form-data format; not supported via JSON API calls.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_VIEW_TICKET

Views an existing ticket in Freshdesk. Ticket details are returned nested under response_data in the tool response.

NameTypeRequiredDescription
ticket_idintegerYesID of the ticket to be viewed.
includestringNoComma-separated list of additional information to include in the response. Valid values: stats (ticket timing statistics), requester (full requester details), company (company information).
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
pageintegerNoPage number for pagination.
per_pageintegerNoNumber of tickets per page.
filterstringNoPredefined filter to apply: new_and_my_open, watching, spam, deleted, etc.
statusstringNoFilter by status: open, pending, resolved, closed, waiting_on_customer, or waiting_on_third_party.
prioritystringNoFilter by priority: low, medium, high, or urgent.
agent_idintegerNoFilter tickets by agent ID.
group_idintegerNoFilter tickets by group ID.
requester_idintegerNoFilter tickets by requester ID.
sort_bystringNoField to sort tickets by, e.g., created_at.
sort_orderstringNoOrder of sorting: asc or desc.
created_sincestringNoRetrieve tickets created since this timestamp in YYYY-MM-DDTHH:MM:SSZ format.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_UPDATE_TICKET

Updates an existing ticket in Freshdesk. Use to modify ticket attributes like subject, priority, status, description, or custom fields.

NameTypeRequiredDescription
ticket_idintegerYesID of the ticket to be updated.
subjectstringNoSubject of the ticket.
descriptionstringNoHTML content of the ticket description.
statusstringNoNew status: open, pending, resolved, closed, waiting_on_customer, or waiting_on_third_party.
prioritystringNoNew priority: low, medium, high, or urgent.
sourcestringNoChannel of origin.
typestringNoType of the ticket (e.g., Question, Incident, Problem, Feature Request). Custom types configured in your Freshdesk instance are also supported.
group_idintegerNoID of the group to which the ticket has been assigned.
responder_idintegerNoID of the agent to whom the ticket has been assigned.
company_idintegerNoID of the company associated with the requester.
tagsarrayNoTags to associate with the ticket.
due_bystringNoNew resolution deadline in ISO 8601 format.
fr_due_bystringNoNew first response deadline in ISO 8601 format.
parent_idintegerNoID of the parent ticket to link this ticket to.
custom_fieldsobjectNoCustom fields (e.g., {"cf_reference_number": "REF-123"}).
emailstringNoEmail address of the requester.
namestringNoName of the requester.
phonestringNoPhone number of the requester.
requester_idintegerNoUser ID of the requester.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_DELETE_TICKET

Permanently deletes a ticket from Freshdesk. Once deleted, the ticket cannot be restored.

NameTypeRequiredDescription
ticket_idintegerYesThe unique identifier of the ticket to delete.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
ticket_idintegerYesThe unique identifier of the ticket to reply to.
bodystringYesThe content of the reply message. Can contain HTML formatting.
user_idintegerNoThe ID of the agent creating the reply. Use this to create a reply on behalf of a specific user.
from_emailstringNoThe support email address to send the reply from. By default, replies are sent from the support email where the ticket was originally created.
cc_emailsarrayNoEmail addresses to include in the CC field. Maximum 50 total recipients across to/cc/bcc fields.
bcc_emailsarrayNoEmail addresses to include in the BCC field.
to_emailsarrayNoDirect recipient email addresses to override the default ticket requester. Requires the multiple_to feature to be enabled in your Freshdesk account.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
ticket_idintegerYesThe unique identifier of the ticket to add the note to.
bodystringYesThe content of the note. Can contain plain text or HTML.
privatebooleanNoIndicates whether the note is private (visible only to agents). Default: true.
user_idintegerNoThe ID of the user creating the note (useful for posting on behalf of another user).
notify_emailsarrayNoEmail addresses to notify about the note. Only accepts agent email addresses.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_BULK_UPDATE_TICKETS

Updates multiple tickets simultaneously in bulk. The operation runs asynchronously and returns a job_id to track progress.

NameTypeRequiredDescription
idsarrayYesArray of ticket IDs to update in bulk (e.g., [18, 17, 123]).
propertiesobjectYesObject containing the fields to update and their new values. At least one property must be specified.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_CREATE_CONTACT

Creates a new contact in Freshdesk. The name field is required; at least one of email or phone must be provided.

NameTypeRequiredDescription
namestringYesName of the contact.
emailstringNoPrimary email address of the contact.
phonestringNoPhone number of the contact.
mobilestringNoMobile number of the contact.
job_titlestringNoJob title of the contact.
company_idintegerNoID of the primary company associated with this contact.
addressstringNoPhysical address of the contact.
descriptionstringNoDescription or notes about the contact.
tagsarrayNoTags associated with the contact.
languagestringNoLanguage code for the contact’s preferred language.
time_zonestringNoTime zone of the contact.
twitter_idstringNoTwitter handle of the contact.
other_emailsarrayNoAdditional email addresses of the contact.
custom_fieldsobjectYesCustom fields object. Field keys should not be prefixed with cf_.
view_all_ticketsbooleanNoSet to true if the contact can view all tickets from their company.
unique_external_idstringNoExternal ID of the contact for integration purposes.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
pageintegerNoPage number for pagination. Starts at 1. Default: 1.
per_pageintegerNoNumber of contacts to return per page. Maximum: 100. Default: 30.
emailstringNoFilter contacts by email address.
phonestringNoFilter contacts by phone number (digits only).
mobilestringNoFilter contacts by mobile number (digits only).
statestringNoFilter contacts by state.
company_idintegerNoFilter contacts belonging to a specific company by company ID.
updated_sincestringNoRetrieve contacts modified after a specified timestamp in ISO 8601 format.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_GET_CONTACT

Retrieves detailed information about a specific contact by ID.

NameTypeRequiredDescription
contact_idintegerYesThe unique identifier of the contact to retrieve.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_UPDATE_CONTACT

Updates an existing contact’s information in Freshdesk, such as name, email, phone, job title, or custom fields.

NameTypeRequiredDescription
idintegerYesID of the contact to update.
namestringNoUpdated name of the contact.
emailstringNoUpdated email address.
phonestringNoUpdated phone number.
mobilestringNoUpdated mobile number.
job_titlestringNoUpdated job title.
company_idintegerNoUpdated ID of the primary company.
addressstringNoUpdated physical address.
descriptionstringNoUpdated description or notes.
tagsarrayNoUpdated tags.
languagestringNoUpdated language code.
time_zonestringNoUpdated time zone.
twitter_idstringNoUpdated Twitter handle.
other_emailsarrayNoUpdated additional email addresses.
custom_fieldsobjectNoUpdated custom fields.
view_all_ticketsbooleanNoSet to true if the contact can view all tickets from their company.
unique_external_idstringNoUpdated external ID for integration purposes.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
contact_idintegerYesThe unique identifier of the contact to be soft deleted.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
querystringYesQuery 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.
pageintegerNoPage number for pagination. Starts at 1, cannot exceed 10. Returns a maximum of 30 results per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
namestringYesThe name of the company.
domainsarrayNoArray of domain names associated with the company. Freshdesk automatically associates contacts whose email contains any of the specified domains.
descriptionstringNoDescription about the company.
notestringNoAdditional notes about the company.
industrystringNoIndustry classification (available in Blossom Plan and above).
account_tierstringNoAccount tier: Basic, Premium, or Enterprise.
health_scorestringNoHealth score: Happy, Doing okay, or At risk.
renewal_datestringNoContract or renewal date in YYYY-MM-DD format.
custom_fieldsobjectNoCustom fields for the company. Keys do not require the cf_ prefix.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_GET_COMPANIES

Retrieves all companies from a Freshdesk account with pagination support.

NameTypeRequiredDescription
pageintegerNoPage number for pagination. Starts at 1. Default: 1.
per_pageintegerNoNumber of companies to return per page. Maximum: 100. Default: 30.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_GET_COMPANY

Retrieves detailed information about a specific company by ID, including domains and custom fields.

NameTypeRequiredDescription
company_idintegerYesThe unique identifier of the company to retrieve.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
company_idintegerYesThe unique identifier of the company to delete.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_SEARCH_COMPANY

Searches for companies using autocomplete functionality in Freshdesk. Use to quickly find companies by name or partial name.

NameTypeRequiredDescription
namestringYesThe company name or partial name to search for via autocomplete.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_GET_AGENT

Retrieves detailed information about a specific agent by ID, including profile, contact information, availability status, and role assignments.

NameTypeRequiredDescription
agent_idintegerYesThe unique identifier of the agent to retrieve.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_SEARCH_AGENTS

Searches and filters agents in Freshdesk by email, phone, mobile, or state (fulltime/occasional).

NameTypeRequiredDescription
emailstringNoFilter agents by email address.
phonestringNoFilter agents by phone number.
mobilestringNoFilter agents by mobile phone number.
statestringNoFilter agents by their state: fulltime or occasional.
pageintegerNoSpecifies which page of results to return.
per_pageintegerNoSpecifies the number of results per page.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

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.

NameTypeRequiredDescription
folder_idintegerYesThe unique identifier of the folder where the article will be created.
titlestringYesTitle of the solution article.
descriptionstringYesDescription/content of the article in HTML format.
statusstringNoPublication status: draft or published.
agent_idintegerNoID of the agent creating the article. If not specified, the authenticated agent will be used.
tagsarrayNoTags for categorizing the article.
seo_dataobjectNoSEO data for the article.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.

FRESHDESK_LIST_SOLUTION_ARTICLES

Retrieves all solution articles within a specified folder in Freshdesk.

NameTypeRequiredDescription
folder_idintegerYesThe unique identifier of the solution folder for which to retrieve articles.
pageintegerNoPage number for pagination. Starts at 1. Each page returns up to 30 articles.
NameTypeRequiredDescription
datastringYesData from the action execution.
errorstringNoError if any occurred during the execution of the action.
successfulbooleanYesWhether or not the action execution was successful.