Freshdesk

Usage Instructions

Integrate Freshdesk into the workflow. Create, update, look up, and search support tickets, send public replies, add private or public notes, create and find contacts, and list agents to route work. Can also run workflows when a Freshdesk automation rule posts a webhook for a new or updated ticket. Requires your Freshdesk subdomain and an agent API key.

Actions

Freshdesk Create Ticket

Create a support ticket in Freshdesk for a requester email, requester ID, or phone. Status defaults to Open and priority to Low.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
emailstringNoRequester email. A new contact is created if none exists. Creating a ticket needs an email, requester ID, or phone.
requesterIdstringNoID of an existing requester contact, instead of the email
phonestringNoRequester phone. Without an email, the requester name is also required.
namestringNoRequester name
subjectstringNoTicket subject
descriptionstringNoTicket description, HTML allowed
statusnumberNoStatus: 2 Open (default on create), 3 Pending, 4 Resolved, 5 Closed
prioritynumberNoPriority: 1 Low (default on create), 2 Medium, 3 High, 4 Urgent
sourcenumberNoChannel: 1 Email, 2 Portal (default), 3 Phone, 7 Chat, 9 Feedback widget, 10 Outbound email
typestringNoTicket type, e.g. "Question", "Incident", or "Problem"
responderIdstringNoID of the agent to assign
groupIdstringNoID of the group to assign
companyIdstringNoCompany ID of the requester (Multiple Companies feature)
productIdstringNoID of the product
tagsstringNoComma-separated tags. On update this replaces the existing tags.
ccEmailsstringNoComma-separated CC email addresses (create only)
dueBystringNoResolution due time, ISO 8601
frDueBystringNoFirst response due time, ISO 8601
customFieldsjsonNoCustom field values keyed by name, e.g. {"cf_order_id": "A-1001"}

Output

ParameterTypeDescription
ticketobjectThe created ticket
↳ customFieldsjsonCustom field values keyed by name
↳ requesterobjectRequester details, when requested with Include Requester

Freshdesk Update Ticket

Update a Freshdesk ticket by ID: change status, priority, assigned agent or group, type, tags, or custom fields. Only the fields you set change.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
ticketIdstringYesID of the ticket to update
emailstringNoRequester email. A new contact is created if none exists. Creating a ticket needs an email, requester ID, or phone.
requesterIdstringNoID of an existing requester contact, instead of the email
phonestringNoRequester phone. Without an email, the requester name is also required.
namestringNoRequester name
subjectstringNoTicket subject
descriptionstringNoTicket description, HTML allowed
statusnumberNoStatus: 2 Open (default on create), 3 Pending, 4 Resolved, 5 Closed
prioritynumberNoPriority: 1 Low (default on create), 2 Medium, 3 High, 4 Urgent
sourcenumberNoChannel: 1 Email, 2 Portal (default), 3 Phone, 7 Chat, 9 Feedback widget, 10 Outbound email
typestringNoTicket type, e.g. "Question", "Incident", or "Problem"
responderIdstringNoID of the agent to assign
groupIdstringNoID of the group to assign
companyIdstringNoCompany ID of the requester (Multiple Companies feature)
productIdstringNoID of the product
tagsstringNoComma-separated tags. On update this replaces the existing tags.
ccEmailsstringNoComma-separated CC email addresses (create only)
dueBystringNoResolution due time, ISO 8601
frDueBystringNoFirst response due time, ISO 8601
customFieldsjsonNoCustom field values keyed by name, e.g. {"cf_order_id": "A-1001"}

Output

ParameterTypeDescription
ticketobjectThe updated ticket
↳ customFieldsjsonCustom field values keyed by name
↳ requesterobjectRequester details, when requested with Include Requester

Freshdesk Get Ticket

Get a Freshdesk ticket by ID, including its description, status, priority, and assignment. Optionally embeds the requester (one extra API credit).

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
ticketIdstringYesID of the ticket
includeRequesterbooleanNoEmbed the requester's name, email, phone, and mobile

Output

ParameterTypeDescription
ticketobjectThe ticket
↳ customFieldsjsonCustom field values keyed by name
↳ requesterobjectRequester details, when requested with Include Requester

Freshdesk List Tickets

List Freshdesk tickets. "list" mode filters by requester, company, a predefined view, or update time (tickets from the last 30 days unless Updated Since is set). "search" mode runs a ticket query such as "status:2 AND priority:4" over ticket and custom fields.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
listModestringNo"list" (default) to filter, or "search" to run a query
querystringNoSearch query for search mode, e.g. "priority:4 AND status:2" or "tag:'refund'". Up to 512 characters.
filterstringNoPredefined filter: new_and_my_open, watching, spam, or deleted
requesterIdstringNoOnly tickets from this requester contact ID
emailstringNoOnly tickets from this requester email
companyIdstringNoOnly tickets of this company ID
updatedSincestringNoOnly tickets updated since this time, ISO 8601, e.g. 2026-10-01T00:00:00Z
orderBystringNoSort field: created_at (default), due_by, updated_at, or status
orderTypestringNoSort direction: desc (default) or asc
includeRequesterbooleanNoEmbed each requester in list mode (two extra API credits)
pagenumberNoPage number, from 1 (search mode allows up to 10)
perPagenumberNoTickets per page in list mode (default 30, max 100). Search returns 30.

Output

ParameterTypeDescription
ticketsarrayMatching tickets
↳ customFieldsjsonCustom field values keyed by name
↳ requesterobjectRequester details, when requested with Include Requester
countnumberNumber of tickets returned
totalnumberTotal matches reported by search mode

Freshdesk Reply to Ticket

Send a public reply on a Freshdesk ticket. The requester receives it by email from the support address.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
ticketIdstringYesID of the ticket to reply to
bodystringYesReply content, HTML allowed
fromEmailstringNoSupport email address to send from. Defaults to the global support email.
ccEmailsstringNoComma-separated CC email addresses
bccEmailsstringNoComma-separated BCC email addresses
userIdstringNoID of the agent the reply is sent as

Output

ParameterTypeDescription
conversationobjectThe reply that was sent

Freshdesk Add Note

Add a note to a Freshdesk ticket. Notes are private (agents only) by default; set Private to false for a public note.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
ticketIdstringYesID of the ticket
bodystringYesNote content, HTML allowed
privatebooleanNoWhether the note is private. Defaults to true.
notifyEmailsstringNoComma-separated emails of agents or users to notify
incomingbooleanNoShow the note as created from outside the helpdesk
userIdstringNoID of the agent or user adding the note

Output

ParameterTypeDescription
conversationobjectThe note that was added

Freshdesk Create Contact

Create a contact (customer) in Freshdesk. Needs a name plus an email, phone, mobile, or unique external ID; email must be unique.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
namestringYesName
emailstringNoPrimary email address
phonestringNoTelephone number
mobilestringNoMobile number
uniqueExternalIdstringNoYour own unique ID for the contact, e.g. a CRM ID
companyIdstringNoID of the primary company
jobTitlestringNoJob title
descriptionstringNoShort description of the contact
addressstringNoAddress
tagsstringNoComma-separated tags
otherEmailsstringNoComma-separated additional email addresses
customFieldsjsonNoCustom field values keyed by name, e.g. {"crm_id": "C-42"}

Output

ParameterTypeDescription
contactobjectThe created contact
↳ customFieldsjsonCustom field values keyed by name

Freshdesk Get Contact

Get a Freshdesk contact by ID.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
contactIdstringYesID of the contact

Output

ParameterTypeDescription
contactobjectThe contact
↳ customFieldsjsonCustom field values keyed by name

Freshdesk Search Contacts

Find Freshdesk contacts. "filter" matches an exact email, phone, mobile, company, or state; "query" runs a contact query such as "email:'jane@example.com'" or "company_id:42"; "name" autocompletes on the name and returns only id and name.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
searchModestringNo"filter" (default), "query", or "name"
emailstringNoExact email to match (filter mode)
phonestringNoExact phone number to match (filter mode)
mobilestringNoExact mobile number to match (filter mode)
companyIdstringNoOnly contacts of this company ID (filter mode)
statestringNoContact state: blocked, deleted, unverified, or verified (filter mode)
updatedSincestringNoOnly contacts updated since this time, ISO 8601 (filter mode)
querystringNoContact query for query mode, e.g. "active:true AND company_id:42"
termstringNoStart of a name for name mode, e.g. "Jan"
pagenumberNoPage number, from 1 (query mode allows up to 10)
perPagenumberNoContacts per page in filter mode (default 30, max 100)

Output

ParameterTypeDescription
contactsarrayMatching contacts. Name mode returns only id and name for each.
↳ customFieldsjsonCustom field values keyed by name
countnumberNumber of contacts returned
totalnumberTotal matches reported by query mode

Freshdesk List Agents

List Freshdesk agents with their IDs, names, emails, groups, and availability, optionally filtered by email, phone, or full-time/occasional. Requires an admin API key.

Input

ParameterTypeRequiredDescription
domainstringYesFreshdesk helpdesk subdomain, e.g. "acme" or "acme.freshdesk.com"
apiKeystringYesFreshdesk API key, from Profile Settings > View API Key
emailstringNoOnly the agent with this email
phonestringNoOnly agents with this phone number
mobilestringNoOnly agents with this mobile number
statestringNofulltime or occasional
pagenumberNoPage number, from 1
perPagenumberNoAgents per page (default 30, max 100)

Output

ParameterTypeDescription
agentsarrayAgents
countnumberNumber of agents returned