Freshdesk connector
Basic AuthCustomer SupportCommunicationConnect to Freshdesk. Manage tickets, contacts, companies, and customer support workflows
Freshdesk connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Create time entry, ticket note, solution article — Log a time entry against a ticket for billing or effort tracking
- List time entries, solution articles, satisfaction ratings — Retrieve time entries logged across tickets, with filtering by agent, company, and execution date range
- Filter tickets — Search tickets using Freshdesk’s structured query syntax (field:value expressions combined with AND/OR), for filtering beyond what List Tickets’ predefined filters support
- Forward ticket — Forward a ticket’s conversation to one or more external email addresses, optionally including the full ticket thread
- Delete ticket, contact, company — Move a ticket to the trash in Freshdesk
- Update contact, company, agent — Update an existing contact in Freshdesk
Common workflows
Section titled “Common workflows”Proxy API call
Don’t worry about your Freshdesk domain in the path. Scalekit automatically resolves {{domain}} from the connected account’s configuration and constructs the full URL for you. For example, if your Freshdesk domain is mycompany.freshdesk.com, a request with path="/v2/agents/me" will be sent to https://mycompany.freshdesk.com/api/v2/agents/me automatically.
const result = await actions.request({ connectionName: 'freshdesk', identifier: 'user_123', path: '/v2/agents/me', method: 'GET',});console.log(result);result = actions.request( connection_name='freshdesk', identifier='user_123', path="/v2/agents/me", method="GET",)print(result)Execute a tool
const result = await actions.executeTool({ connector: 'freshdesk', identifier: 'user_123', toolName: 'freshdesk_agent_create', toolInput: {},});console.log(result);result = actions.execute_tool( connection_name='freshdesk', identifier='user_123', tool_name='freshdesk_agent_create', tool_input={},)print(result)Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
freshdesk_agent_create#Create a new agent in Freshdesk. Email is required and must be unique. Agent will receive invitation email to set up account. At least one role must be assigned.12 params
Create a new agent in Freshdesk. Email is required and must be unique. Agent will receive invitation email to set up account. At least one role must be assigned.
emailstringrequiredEmail address of the agent (must be unique)role_idsarrayrequiredArray of role IDs to assign to the agent (at least one required)ticket_scopenumberrequiredTicket permission level (1=Global Access, 2=Group Access, 3=Restricted Access)agent_typenumberoptionalType of agent (1=Support Agent, 2=Field Agent, 3=Collaborator)focus_modebooleanoptionalFocus mode setting for the agentgroup_idsarrayoptionalArray of group IDs to assign the agent tolanguagestringoptionalLanguage preference of the agentnamestringoptionalFull name of the agentoccasionalbooleanoptionalWhether the agent is occasional (true) or full-time (false)signaturestringoptionalAgent email signature in HTML formatskill_idsarrayoptionalArray of skill IDs to assign to the agenttime_zonestringoptionalTime zone of the agentfreshdesk_agent_delete#Delete an agent from Freshdesk. This action is irreversible and will remove the agent from the system. The agent will no longer have access to the helpdesk and all associated data will be permanently deleted.1 param
Delete an agent from Freshdesk. This action is irreversible and will remove the agent from the system. The agent will no longer have access to the helpdesk and all associated data will be permanently deleted.
agent_idnumberrequiredID of the agent to deletefreshdesk_agent_get#Retrieve details of a specific agent by ID, including their roles, groups, skills, ticket scope, and contact information.1 param
Retrieve details of a specific agent by ID, including their roles, groups, skills, ticket scope, and contact information.
agent_idnumberrequiredID of the agent to retrievefreshdesk_agent_update#Update an existing agent in Freshdesk. Only the fields provided are changed. Use this to change an agent's role, ticket scope, group/skill assignments, or contact details.15 params
Update an existing agent in Freshdesk. Only the fields provided are changed. Use this to change an agent's role, ticket scope, group/skill assignments, or contact details.
agent_idnumberrequiredID of the agent to updateagent_typenumberoptionalType of agent (1=Support Agent, 2=Field Agent, 3=Collaborator)emailstringoptionalEmail address of the agentfocus_modebooleanoptionalFocus mode setting for the agentgroup_idsarrayoptionalArray of group IDs to assign the agent tolanguagestringoptionalLanguage preference of the agentmobilestringoptionalMobile phone number of the agentnamestringoptionalFull name of the agentoccasionalbooleanoptionalWhether the agent is occasional (true) or full-time (false)phonestringoptionalTelephone number of the agentrole_idsarrayoptionalArray of role IDs to assign to the agentsignaturestringoptionalAgent email signature in HTML formatskill_idsarrayoptionalArray of skill IDs to assign to the agentticket_scopenumberoptionalTicket permission level (1=Global Access, 2=Group Access, 3=Restricted Access)time_zonestringoptionalTime zone of the agentfreshdesk_agents_list#Retrieve a list of agents from Freshdesk with filtering options. Returns agent details including IDs, contact information, roles, and availability status. Supports pagination with up to 100 agents per page.6 params
Retrieve a list of agents from Freshdesk with filtering options. Returns agent details including IDs, contact information, roles, and availability status. Supports pagination with up to 100 agents per page.
emailstringoptionalFilter agents by email addressmobilestringoptionalFilter agents by mobile numberpagenumberoptionalPage number for pagination (starts from 1)per_pagenumberoptionalNumber of agents per page (max 100)phonestringoptionalFilter agents by phone numberstatestringoptionalFilter agents by state (fulltime or occasional)freshdesk_canned_response_create#Create a new canned response template that agents can insert into ticket replies. Must belong to an existing canned response folder.5 params
Create a new canned response template that agents can insert into ticket replies. Must belong to an existing canned response folder.
content_htmlstringrequiredHTML content of the canned responsefolder_idnumberrequiredID of the canned response folder this response belongs totitlestringrequiredTitle of the canned responsegroup_idsarrayoptionalArray of group IDs that can use this response, when visibility is 2visibilitynumberoptionalWho can see this canned response. 0=personal, 1=all agents, 2=specific groupsfreshdesk_canned_response_folders_list#Retrieve all canned response folders, each including the canned responses stored inside it. Use a folder ID with Create Canned Response.0 params
Retrieve all canned response folders, each including the canned responses stored inside it. Use a folder ID with Create Canned Response.
freshdesk_companies_list#Retrieve a paginated list of all companies in the Freshdesk account.2 params
Retrieve a paginated list of all companies in the Freshdesk account.
pagenumberoptionalPage number for pagination (starts from 1)per_pagenumberoptionalNumber of companies per page (max 100)freshdesk_company_create#Create a new company in Freshdesk. Name is required. Use domains to auto-associate contacts and tickets whose email domain matches.7 params
Create a new company in Freshdesk. Name is required. Use domains to auto-associate contacts and tickets whose email domain matches.
namestringrequiredName of the companycustom_fieldsobjectoptionalKey-value pairs containing custom field names and valuesdescriptionstringoptionalDescription of the companydomainsarrayoptionalArray of email domains associated with the companyhealth_scorestringoptionalHealth score label for the companyindustrystringoptionalIndustry the company operates innotestringoptionalInternal note about the companyfreshdesk_company_delete#Delete a company from Freshdesk. This action is irreversible; contacts and tickets associated with the company are not deleted but lose their company association.1 param
Delete a company from Freshdesk. This action is irreversible; contacts and tickets associated with the company are not deleted but lose their company association.
company_idnumberrequiredID of the company to deletefreshdesk_company_get#Retrieve details of a specific company by ID, including custom fields, domains, and health score.1 param
Retrieve details of a specific company by ID, including custom fields, domains, and health score.
company_idnumberrequiredID of the company to retrievefreshdesk_company_update#Update an existing company in Freshdesk. Only the fields provided are changed.8 params
Update an existing company in Freshdesk. Only the fields provided are changed.
company_idnumberrequiredID of the company to updatecustom_fieldsobjectoptionalKey-value pairs containing custom field names and valuesdescriptionstringoptionalDescription of the companydomainsarrayoptionalArray of email domains associated with the companyhealth_scorestringoptionalHealth score label for the companyindustrystringoptionalIndustry the company operates innamestringoptionalName of the companynotestringoptionalInternal note about the companyfreshdesk_contact_create#Create a new contact in Freshdesk. Email and name are required. Supports custom fields, company assignment, and contact segmentation.12 params
Create a new contact in Freshdesk. Email and name are required. Supports custom fields, company assignment, and contact segmentation.
emailstringrequiredEmail address of the contactnamestringrequiredFull name of the contactaddressstringoptionalAddress of the contactcompany_idnumberoptionalCompany ID to associate with the contactcustom_fieldsobjectoptionalKey-value pairs for custom field valuesdescriptionstringoptionalDescription about the contactjob_titlestringoptionalJob title of the contactlanguagestringoptionalLanguage preference of the contactmobilestringoptionalMobile number of the contactphonestringoptionalPhone number of the contacttagsarrayoptionalArray of tags to associate with the contacttime_zonestringoptionalTime zone of the contactfreshdesk_contact_delete#Soft-delete a contact in Freshdesk, moving it to the trash. The contact can be restored from the trash within Freshdesk before it is permanently purged.1 param
Soft-delete a contact in Freshdesk, moving it to the trash. The contact can be restored from the trash within Freshdesk before it is permanently purged.
contact_idnumberrequiredID of the contact to deletefreshdesk_contact_get#Retrieve details of a specific contact by ID, including custom fields and associated company.1 param
Retrieve details of a specific contact by ID, including custom fields and associated company.
contact_idnumberrequiredID of the contact to retrievefreshdesk_contact_update#Update an existing contact in Freshdesk. Only the fields provided are changed.10 params
Update an existing contact in Freshdesk. Only the fields provided are changed.
contact_idnumberrequiredID of the contact to updatecompany_idnumberoptionalCompany ID to associate with the contactcustom_fieldsobjectoptionalKey-value pairs for custom field valuesdescriptionstringoptionalDescription about the contactemailstringoptionalEmail address of the contactjob_titlestringoptionalJob title of the contactmobilestringoptionalMobile number of the contactnamestringoptionalFull name of the contactphonestringoptionalPhone number of the contacttagsarrayoptionalArray of tags to associate with the contactfreshdesk_contacts_list#Retrieve a list of contacts with filtering and pagination. Supports filtering by email, phone, mobile, company, and state.8 params
Retrieve a list of contacts with filtering and pagination. Supports filtering by email, phone, mobile, company, and state.
company_idnumberoptionalFilter by company IDemailstringoptionalFilter by contact emailmobilestringoptionalFilter by mobile numberpagenumberoptionalPage number for pagination (starts from 1)per_pagenumberoptionalNumber of contacts per page (max 100)phonestringoptionalFilter by phone numberstatestringoptionalFilter by contact stateupdated_sincestringoptionalFilter contacts updated since this timestamp (ISO 8601)freshdesk_group_create#Create a new agent group in Freshdesk for routing and organizing tickets. Name is required.5 params
Create a new agent group in Freshdesk for routing and organizing tickets. Name is required.
namestringrequiredName of the groupagent_idsarrayoptionalArray of agent IDs to add to the groupdescriptionstringoptionalDescription of the groupescalate_tonumberoptionalAgent ID to escalate unassigned tickets to after the unassigned_for periodunassigned_forstringoptionalTime after which an unassigned ticket in this group is escalatedfreshdesk_groups_list#Retrieve a list of all agent groups in Freshdesk, including group membership and escalation settings.0 params
Retrieve a list of all agent groups in Freshdesk, including group membership and escalation settings.
freshdesk_roles_list#Retrieve a list of all roles from Freshdesk. Returns role details including IDs, names, descriptions, default status, and timestamps. This endpoint provides information about the different permission levels and access controls available in the Freshdesk system.0 params
Retrieve a list of all roles from Freshdesk. Returns role details including IDs, names, descriptions, default status, and timestamps. This endpoint provides information about the different permission levels and access controls available in the Freshdesk system.
freshdesk_satisfaction_ratings_list#Retrieve customer satisfaction survey ratings submitted across tickets, optionally filtered to ratings created since a given time.2 params
Retrieve customer satisfaction survey ratings submitted across tickets, optionally filtered to ratings created since a given time.
created_sincestringoptionalOnly return ratings created since this timestamp (ISO 8601)pagenumberoptionalPage number for pagination (starts from 1)freshdesk_solution_article_create#Create a new knowledge base article inside a solution folder. Status controls whether it is a draft or published.5 params
Create a new knowledge base article inside a solution folder. Status controls whether it is a draft or published.
descriptionstringrequiredHTML content of the article bodyfolder_idnumberrequiredID of the solution folder to create the article intitlestringrequiredTitle of the articlestatusnumberoptionalPublication status of the article. 1=Draft, 2=PublishedtagsarrayoptionalArray of tags to associate with the articlefreshdesk_solution_articles_list#Retrieve all knowledge base articles inside a specific solution folder.3 params
Retrieve all knowledge base articles inside a specific solution folder.
folder_idnumberrequiredID of the solution folder to list articles frompagenumberoptionalPage number for pagination (starts from 1)per_pagenumberoptionalNumber of articles per page (max 100)freshdesk_ticket_create#Create a new ticket in Freshdesk. Requires either requester_id, email, facebook_id, phone, twitter_id, or unique_external_id to identify the requester.14 params
Create a new ticket in Freshdesk. Requires either requester_id, email, facebook_id, phone, twitter_id, or unique_external_id to identify the requester.
cc_emailsarrayoptionalArray of email addresses to be added in CCcustom_fieldsobjectoptionalKey-value pairs containing custom field names and valuesdescriptionstringoptionalHTML content of the ticket describing the issueemailstringoptionalEmail address of the requester. If no contact exists, will be added as new contact.group_idnumberoptionalID of the group to which the ticket has been assignednamestringoptionalName of the requesterprioritynumberoptionalPriority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgentrequester_idnumberoptionalUser ID of the requester. For existing contacts, can be passed instead of email.responder_idnumberoptionalID of the agent to whom the ticket has been assignedsourcenumberoptionalChannel through which ticket was created. 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound EmailstatusnumberoptionalStatus of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=ClosedsubjectstringoptionalSubject of the tickettagsarrayoptionalArray of tags to be associated with the tickettypestringoptionalHelps categorize the ticket according to different kinds of issuesfreshdesk_ticket_delete#Move a ticket to the trash in Freshdesk. Trashed tickets can be restored within 30 days via the Freshdesk UI before being permanently purged.1 param
Move a ticket to the trash in Freshdesk. Trashed tickets can be restored within 30 days via the Freshdesk UI before being permanently purged.
ticket_idnumberrequiredID of the ticket to deletefreshdesk_ticket_forward#Forward a ticket's conversation to one or more external email addresses, optionally including the full ticket thread.6 params
Forward a ticket's conversation to one or more external email addresses, optionally including the full ticket thread.
bodystringrequiredHTML content of the forward messageticket_idnumberrequiredID of the ticket to forwardto_emailsarrayrequiredArray of email addresses to forward the ticket tobcc_emailsarrayoptionalArray of email addresses to BCC on the forwardcc_emailsarrayoptionalArray of email addresses to CC on the forwardquoted_conversationbooleanoptionalIf true, includes the full ticket thread in the forwarded emailfreshdesk_ticket_get#Retrieve details of a specific ticket by ID. Includes ticket properties, conversations, and metadata.2 params
Retrieve details of a specific ticket by ID. Includes ticket properties, conversations, and metadata.
ticket_idnumberrequiredID of the ticket to retrieveincludestringoptionalAdditional resources to include (stats, requester, company, conversations)freshdesk_ticket_note_create#Add a note to a ticket conversation in Freshdesk. Notes are internal by default (visible only to agents); set private to false to create a public note visible to the customer.6 params
Add a note to a ticket conversation in Freshdesk. Notes are internal by default (visible only to agents); set private to false to create a public note visible to the customer.
bodystringrequiredHTML content of the noteticket_idnumberrequiredID of the ticket to add the note toincomingbooleanoptionalIf true, marks the note as a third-party contribution added from outside Freshdesknotify_emailsarrayoptionalArray of email addresses to notify about this noteprivatebooleanoptionalIf true, the note is only visible to agents. Defaults to true.user_idnumberoptionalID of the agent creating the notefreshdesk_ticket_update#Update an existing ticket in Freshdesk. Note: Subject and description of outbound tickets cannot be updated.10 params
Update an existing ticket in Freshdesk. Note: Subject and description of outbound tickets cannot be updated.
ticket_idnumberrequiredID of the ticket to updatecustom_fieldsobjectoptionalKey-value pairs containing custom field names and valuesdescriptionstringoptionalHTML content of the ticket (cannot be updated for outbound tickets)group_idnumberoptionalID of the group to which the ticket has been assignednamestringoptionalName of the requesterprioritynumberoptionalPriority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgentresponder_idnumberoptionalID of the agent to whom the ticket has been assignedstatusnumberoptionalStatus of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=ClosedsubjectstringoptionalSubject of the ticket (cannot be updated for outbound tickets)tagsarrayoptionalArray of tags to be associated with the ticketfreshdesk_tickets_filter#Search tickets using Freshdesk's structured query syntax (field:value expressions combined with AND/OR), for filtering beyond what List Tickets' predefined filters support. Supports fields like agent_id, group_id, priority, status, tag, type, due_by, fr_due_by, created_at, updated_at, closed_at, and custom fields. Returns up to 30 results per page across a maximum of 10 pages.2 params
Search tickets using Freshdesk's structured query syntax (field:value expressions combined with AND/OR), for filtering beyond what List Tickets' predefined filters support. Supports fields like agent_id, group_id, priority, status, tag, type, due_by, fr_due_by, created_at, updated_at, closed_at, and custom fields. Returns up to 30 results per page across a maximum of 10 pages.
querystringrequiredQuery expression to filter tickets, e.g. "priority:3 AND status:2". Must be enclosed in double quotes and be 512 characters or fewer.pagenumberoptionalPage number for pagination (1-10)freshdesk_tickets_list#Retrieve a list of tickets with filtering and pagination. Supports filtering by status, priority, requester, and more. Returns 30 tickets per page by default.8 params
Retrieve a list of tickets with filtering and pagination. Supports filtering by status, priority, requester, and more. Returns 30 tickets per page by default.
company_idnumberoptionalFilter by company IDemailstringoptionalFilter by requester emailfilterstringoptionalFilter name (new_and_my_open, watching, spam, deleted)includestringoptionalAdditional resources to include (description, requester, company, stats)pagenumberoptionalPage number for pagination (starts from 1)per_pagenumberoptionalNumber of tickets per page (max 100)requester_idnumberoptionalFilter by requester IDupdated_sincestringoptionalFilter tickets updated since this timestamp (ISO 8601)freshdesk_tickets_reply#Add a public reply to a ticket conversation. The reply will be visible to the customer and will update the ticket status if specified.6 params
Add a public reply to a ticket conversation. The reply will be visible to the customer and will update the ticket status if specified.
bodystringrequiredHTML content of the replyticket_idnumberrequiredID of the ticket to reply tobcc_emailsarrayoptionalArray of email addresses to BCC on the replycc_emailsarrayoptionalArray of email addresses to CC on the replyfrom_emailstringoptionalEmail address to send the reply fromuser_idnumberoptionalID of the agent sending the replyfreshdesk_time_entries_list#Retrieve time entries logged across tickets, with filtering by agent, company, and execution date range.6 params
Retrieve time entries logged across tickets, with filtering by agent, company, and execution date range.
agent_idnumberoptionalFilter by the agent who logged the timebillablebooleanoptionalFilter by billable statuscompany_idnumberoptionalFilter by companyexecuted_afterstringoptionalFilter entries executed after this timestamp (ISO 8601)executed_beforestringoptionalFilter entries executed before this timestamp (ISO 8601)pagenumberoptionalPage number for pagination (starts from 1)freshdesk_time_entry_create#Log a time entry against a ticket for billing or effort tracking.6 params
Log a time entry against a ticket for billing or effort tracking.
ticket_idnumberrequiredID of the ticket to log time againsttime_spentstringrequiredTime spent, formatted as hh:mmagent_idnumberoptionalID of the agent who performed the workbillablebooleanoptionalWhether this time entry is billableexecuted_atstringoptionalWhen the work was performed (ISO 8601). Defaults to now.notestringoptionalNote describing the work done