Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Freshdesk connector

Basic AuthCustomer SupportCommunication

Connect to Freshdesk. Manage tickets, contacts, companies, and customer support workflows

Freshdesk connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. Add your Scalekit credentials to your .env file. 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>

Connect this agent connector to let your agent:

  • Reply tickets — Add a public reply to a ticket conversation
  • Get ticket — Retrieve details of a specific ticket by ID
  • Update ticket — Update an existing ticket in Freshdesk
  • Create ticket, agent, contact — Create a new ticket in Freshdesk
  • List tickets, roles, agents — Retrieve a list of tickets with filtering and pagination
  • Delete agent — Delete an agent from Freshdesk
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);
Execute a tool
const result = await actions.executeTool({
connector: 'freshdesk',
identifier: 'user_123',
toolName: 'freshdesk_agent_create',
toolInput: {},
});
console.log(result);

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.

NameTypeRequiredDescription
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 agent
group_idsarrayoptionalArray of group IDs to assign the agent to
languagestringoptionalLanguage preference of the agent
namestringoptionalFull name of the agent
occasionalbooleanoptionalWhether the agent is occasional (true) or full-time (false)
signaturestringoptionalAgent email signature in HTML format
skill_idsarrayoptionalArray of skill IDs to assign to the agent
time_zonestringoptionalTime zone of the agent
freshdesk_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.

NameTypeRequiredDescription
agent_idnumberrequiredID of the agent to delete
freshdesk_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.

NameTypeRequiredDescription
emailstringoptionalFilter agents by email address
mobilestringoptionalFilter agents by mobile number
pagenumberoptionalPage number for pagination (starts from 1)
per_pagenumberoptionalNumber of agents per page (max 100)
phonestringoptionalFilter agents by phone number
statestringoptionalFilter agents by state (fulltime or occasional)
freshdesk_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.

NameTypeRequiredDescription
emailstringrequiredEmail address of the contact
namestringrequiredFull name of the contact
addressstringoptionalAddress of the contact
company_idnumberoptionalCompany ID to associate with the contact
custom_fieldsobjectoptionalKey-value pairs for custom field values
descriptionstringoptionalDescription about the contact
job_titlestringoptionalJob title of the contact
languagestringoptionalLanguage preference of the contact
mobilestringoptionalMobile number of the contact
phonestringoptionalPhone number of the contact
tagsarrayoptionalArray of tags to associate with the contact
time_zonestringoptionalTime zone of the contact
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_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.

NameTypeRequiredDescription
cc_emailsarrayoptionalArray of email addresses to be added in CC
custom_fieldsobjectoptionalKey-value pairs containing custom field names and values
descriptionstringoptionalHTML content of the ticket describing the issue
emailstringoptionalEmail 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 assigned
namestringoptionalName of the requester
prioritynumberoptionalPriority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
requester_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 assigned
sourcenumberoptionalChannel through which ticket was created. 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email
statusnumberoptionalStatus of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subjectstringoptionalSubject of the ticket
tagsarrayoptionalArray of tags to be associated with the ticket
typestringoptionalHelps categorize the ticket according to different kinds of issues
freshdesk_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.

NameTypeRequiredDescription
ticket_idnumberrequiredID of the ticket to retrieve
includestringoptionalAdditional resources to include (stats, requester, company, conversations)
freshdesk_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.

NameTypeRequiredDescription
ticket_idnumberrequiredID of the ticket to update
custom_fieldsobjectoptionalKey-value pairs containing custom field names and values
descriptionstringoptionalHTML content of the ticket (cannot be updated for outbound tickets)
group_idnumberoptionalID of the group to which the ticket has been assigned
namestringoptionalName of the requester
prioritynumberoptionalPriority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
responder_idnumberoptionalID of the agent to whom the ticket has been assigned
statusnumberoptionalStatus of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subjectstringoptionalSubject of the ticket (cannot be updated for outbound tickets)
tagsarrayoptionalArray of tags to be associated with the ticket
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.

NameTypeRequiredDescription
company_idnumberoptionalFilter by company ID
emailstringoptionalFilter by requester email
filterstringoptionalFilter 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 ID
updated_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.

NameTypeRequiredDescription
bodystringrequiredHTML content of the reply
ticket_idnumberrequiredID of the ticket to reply to
bcc_emailsarrayoptionalArray of email addresses to BCC on the reply
cc_emailsarrayoptionalArray of email addresses to CC on the reply
from_emailstringoptionalEmail address to send the reply from
user_idnumberoptionalID of the agent sending the reply