The Freshdesk connector lets your AI agent act in each user's Freshdesk account. Each user connects their own Freshdesk username and password once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 34 tools.
- Tools
- 34
- What they doRead · write · destructive
- 15 · 15 · 415 read15 write4 destructive
- Users sign in with
- Username and password
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet 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>Create the Freshdesk connection
In AgentKit > Connections, create a Freshdesk connection. The name you give it is the
connection_nameyour code passes. See Configure connections.
Tools
Pass the exact name toexecute_toolfreshdesk_agent_getRetrieve details of a specific agent by ID, including their roles, groups, skills, ticket scope, and contact information.Read-onlyGet Agent
Retrieve details of a specific agent by ID, including their roles, groups, skills, ticket scope, and contact information.
Inputs
agent_idnumberrequired- ID of the agent to retrieve
freshdesk_agents_listRetrieve a list of agents from Freshdesk with filtering options.Read-onlyList Agents
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.
Inputs
emailstring- Filter agents by email address
mobilestring- Filter agents by mobile number
pagenumber- Page number for pagination (starts from 1)
per_pagenumber- Number of agents per page (max 100)
phonestring- Filter agents by phone number
statestring- Filter agents by state (fulltime or occasional)
freshdesk_canned_response_folders_listRetrieve all canned response folders, each including the canned responses stored inside it.Read-onlyList Canned Response Folders
Retrieve all canned response folders, each including the canned responses stored inside it. Use a folder ID with Create Canned Response.
Inputs
This tool takes no inputs.
freshdesk_companies_listRetrieve a paginated list of all companies in the Freshdesk account.Read-onlyList Companies
Retrieve a paginated list of all companies in the Freshdesk account.
Inputs
pagenumber- Page number for pagination (starts from 1)
per_pagenumber- Number of companies per page (max 100)
freshdesk_company_getRetrieve details of a specific company by ID, including custom fields, domains, and health score.Read-onlyGet Company
Retrieve details of a specific company by ID, including custom fields, domains, and health score.
Inputs
company_idnumberrequired- ID of the company to retrieve
freshdesk_contact_getRetrieve details of a specific contact by ID, including custom fields and associated company.Read-onlyGet Contact
Retrieve details of a specific contact by ID, including custom fields and associated company.
Inputs
contact_idnumberrequired- ID of the contact to retrieve
freshdesk_contacts_listRetrieve a list of contacts with filtering and pagination.Read-onlyList Contacts
Retrieve a list of contacts with filtering and pagination. Supports filtering by email, phone, mobile, company, and state.
Inputs
company_idnumber- Filter by company ID
emailstring- Filter by contact email
mobilestring- Filter by mobile number
pagenumber- Page number for pagination (starts from 1)
per_pagenumber- Number of contacts per page (max 100)
phonestring- Filter by phone number
statestring- Filter by contact state
updated_sincestring- Filter contacts updated since this timestamp (ISO 8601)
freshdesk_groups_listRetrieve a list of all agent groups in Freshdesk, including group membership and escalation settings.Read-onlyList Groups
Retrieve a list of all agent groups in Freshdesk, including group membership and escalation settings.
Inputs
This tool takes no inputs.
freshdesk_roles_listRetrieve a list of all roles from Freshdesk.Read-onlyList Roles
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.
Inputs
This tool takes no inputs.
freshdesk_satisfaction_ratings_listRetrieve customer satisfaction survey ratings submitted across tickets, optionally filtered to ratings created since a given time.Read-onlyList Satisfaction Ratings
Retrieve customer satisfaction survey ratings submitted across tickets, optionally filtered to ratings created since a given time.
Inputs
created_sincestring- Only return ratings created since this timestamp (ISO 8601)
pagenumber- Page number for pagination (starts from 1)
freshdesk_solution_articles_listRetrieve all knowledge base articles inside a specific solution folder.Read-onlyList Solution Articles
Retrieve all knowledge base articles inside a specific solution folder.
Inputs
folder_idnumberrequired- ID of the solution folder to list articles from
pagenumber- Page number for pagination (starts from 1)
per_pagenumber- Number of articles per page (max 100)
freshdesk_ticket_getRetrieve details of a specific ticket by ID.Read-onlyGet Ticket
Retrieve details of a specific ticket by ID. Includes ticket properties, conversations, and metadata.
Inputs
ticket_idnumberrequired- ID of the ticket to retrieve
includestring- Additional resources to include (stats, requester, company, conversations)
freshdesk_tickets_filterSearch tickets using Freshdesk's structured query syntax (field:value expressions combined with AND/OR), for filtering beyond what List Tickets' predefined filters support.Read-onlyFilter 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. 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.
Inputs
querystringrequired- Query expression to filter tickets, e.g. "priority:3 AND status:2". Must be enclosed in double quotes and be 512 characters or fewer.
pagenumber- Page number for pagination (1-10)
freshdesk_tickets_listRetrieve a list of tickets with filtering and pagination.Read-onlyList Tickets
Retrieve a list of tickets with filtering and pagination. Supports filtering by status, priority, requester, and more. Returns 30 tickets per page by default.
Inputs
company_idnumber- Filter by company ID
emailstring- Filter by requester email
filterstring- Filter name (new_and_my_open, watching, spam, deleted)
includestring- Additional resources to include (description, requester, company, stats)
pagenumber- Page number for pagination (starts from 1)
per_pagenumber- Number of tickets per page (max 100)
requester_idnumber- Filter by requester ID
updated_sincestring- Filter tickets updated since this timestamp (ISO 8601)
freshdesk_time_entries_listRetrieve time entries logged across tickets, with filtering by agent, company, and execution date range.Read-onlyList Time Entries
Retrieve time entries logged across tickets, with filtering by agent, company, and execution date range.
Inputs
agent_idnumber- Filter by the agent who logged the time
billableboolean- Filter by billable status
company_idnumber- Filter by company
executed_afterstring- Filter entries executed after this timestamp (ISO 8601)
executed_beforestring- Filter entries executed before this timestamp (ISO 8601)
pagenumber- Page number for pagination (starts from 1)
freshdesk_agent_createCreate a new agent in Freshdesk.WriteCreate Agent
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.
Inputs
emailstringrequired- Email address of the agent (must be unique)
role_idsarrayrequired- Array of role IDs to assign to the agent (at least one required)
ticket_scopenumberrequired- Ticket permission level (1=Global Access, 2=Group Access, 3=Restricted Access)
agent_typenumber- Type of agent (1=Support Agent, 2=Field Agent, 3=Collaborator)
focus_modeboolean- Focus mode setting for the agent
group_idsarray- Array of group IDs to assign the agent to
languagestring- Language preference of the agent
namestring- Full name of the agent
occasionalboolean- Whether the agent is occasional (true) or full-time (false)
signaturestring- Agent email signature in HTML format
skill_idsarray- Array of skill IDs to assign to the agent
time_zonestring- Time zone of the agent
freshdesk_agent_updateUpdate an existing agent in Freshdesk.WriteUpdate Agent
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.
- Idempotent
Inputs
agent_idnumberrequired- ID of the agent to update
agent_typenumber- Type of agent (1=Support Agent, 2=Field Agent, 3=Collaborator)
emailstring- Email address of the agent
focus_modeboolean- Focus mode setting for the agent
group_idsarray- Array of group IDs to assign the agent to
languagestring- Language preference of the agent
mobilestring- Mobile phone number of the agent
namestring- Full name of the agent
occasionalboolean- Whether the agent is occasional (true) or full-time (false)
phonestring- Telephone number of the agent
role_idsarray- Array of role IDs to assign to the agent
signaturestring- Agent email signature in HTML format
skill_idsarray- Array of skill IDs to assign to the agent
ticket_scopenumber- Ticket permission level (1=Global Access, 2=Group Access, 3=Restricted Access)
time_zonestring- Time zone of the agent
freshdesk_canned_response_createCreate a new canned response template that agents can insert into ticket replies.WriteCreate Canned Response
Create a new canned response template that agents can insert into ticket replies. Must belong to an existing canned response folder.
Inputs
content_htmlstringrequired- HTML content of the canned response
folder_idnumberrequired- ID of the canned response folder this response belongs to
titlestringrequired- Title of the canned response
group_idsarray- Array of group IDs that can use this response, when visibility is 2
visibilitynumber- Who can see this canned response. 0=personal, 1=all agents, 2=specific groups
freshdesk_company_createCreate a new company in Freshdesk.WriteCreate Company
Create a new company in Freshdesk. Name is required. Use domains to auto-associate contacts and tickets whose email domain matches.
Inputs
namestringrequired- Name of the company
custom_fieldsobject- Key-value pairs containing custom field names and values
descriptionstring- Description of the company
domainsarray- Array of email domains associated with the company
health_scorestring- Health score label for the company
industrystring- Industry the company operates in
notestring- Internal note about the company
freshdesk_company_updateUpdate an existing company in Freshdesk.WriteUpdate Company
Update an existing company in Freshdesk. Only the fields provided are changed.
- Idempotent
Inputs
company_idnumberrequired- ID of the company to update
custom_fieldsobject- Key-value pairs containing custom field names and values
descriptionstring- Description of the company
domainsarray- Array of email domains associated with the company
health_scorestring- Health score label for the company
industrystring- Industry the company operates in
namestring- Name of the company
notestring- Internal note about the company
freshdesk_contact_createCreate a new contact in Freshdesk.WriteCreate Contact
Create a new contact in Freshdesk. Email and name are required. Supports custom fields, company assignment, and contact segmentation.
Inputs
emailstringrequired- Email address of the contact
namestringrequired- Full name of the contact
addressstring- Address of the contact
company_idnumber- Company ID to associate with the contact
custom_fieldsobject- Key-value pairs for custom field values
descriptionstring- Description about the contact
job_titlestring- Job title of the contact
languagestring- Language preference of the contact
mobilestring- Mobile number of the contact
phonestring- Phone number of the contact
tagsarray- Array of tags to associate with the contact
time_zonestring- Time zone of the contact
freshdesk_contact_updateUpdate an existing contact in Freshdesk.WriteUpdate Contact
Update an existing contact in Freshdesk. Only the fields provided are changed.
- Idempotent
Inputs
contact_idnumberrequired- ID of the contact to update
company_idnumber- Company ID to associate with the contact
custom_fieldsobject- Key-value pairs for custom field values
descriptionstring- Description about the contact
emailstring- Email address of the contact
job_titlestring- Job title of the contact
mobilestring- Mobile number of the contact
namestring- Full name of the contact
phonestring- Phone number of the contact
tagsarray- Array of tags to associate with the contact
freshdesk_group_createCreate a new agent group in Freshdesk for routing and organizing tickets.WriteCreate Group
Create a new agent group in Freshdesk for routing and organizing tickets. Name is required.
Inputs
namestringrequired- Name of the group
agent_idsarray- Array of agent IDs to add to the group
descriptionstring- Description of the group
escalate_tonumber- Agent ID to escalate unassigned tickets to after the unassigned_for period
unassigned_forstring- Time after which an unassigned ticket in this group is escalated
freshdesk_solution_article_createCreate a new knowledge base article inside a solution folder.WriteCreate Solution Article
Create a new knowledge base article inside a solution folder. Status controls whether it is a draft or published.
Inputs
descriptionstringrequired- HTML content of the article body
folder_idnumberrequired- ID of the solution folder to create the article in
titlestringrequired- Title of the article
statusnumber- Publication status of the article. 1=Draft, 2=Published
tagsarray- Array of tags to associate with the article
freshdesk_ticket_createCreate a new ticket in Freshdesk.WriteCreate Ticket
Create a new ticket in Freshdesk. Requires either requester_id, email, facebook_id, phone, twitter_id, or unique_external_id to identify the requester.
Inputs
cc_emailsarray- Array of email addresses to be added in CC
custom_fieldsobject- Key-value pairs containing custom field names and values
descriptionstring- HTML content of the ticket describing the issue
emailstring- Email address of the requester. If no contact exists, will be added as new contact.
group_idnumber- ID of the group to which the ticket has been assigned
namestring- Name of the requester
prioritynumber- Priority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
requester_idnumber- User ID of the requester. For existing contacts, can be passed instead of email.
responder_idnumber- ID of the agent to whom the ticket has been assigned
sourcenumber- Channel through which ticket was created. 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email
statusnumber- Status of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subjectstring- Subject of the ticket
tagsarray- Array of tags to be associated with the ticket
typestring- Helps categorize the ticket according to different kinds of issues
freshdesk_ticket_forwardForward a ticket's conversation to one or more external email addresses, optionally including the full ticket thread.WriteForward Ticket
Forward a ticket's conversation to one or more external email addresses, optionally including the full ticket thread.
Inputs
bodystringrequired- HTML content of the forward message
ticket_idnumberrequired- ID of the ticket to forward
to_emailsarrayrequired- Array of email addresses to forward the ticket to
bcc_emailsarray- Array of email addresses to BCC on the forward
cc_emailsarray- Array of email addresses to CC on the forward
quoted_conversationboolean- If true, includes the full ticket thread in the forwarded email
freshdesk_ticket_note_createAdd a note to a ticket conversation in Freshdesk.WriteCreate Ticket Note
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.
Inputs
bodystringrequired- HTML content of the note
ticket_idnumberrequired- ID of the ticket to add the note to
incomingboolean- If true, marks the note as a third-party contribution added from outside Freshdesk
notify_emailsarray- Array of email addresses to notify about this note
privateboolean- If true, the note is only visible to agents. Defaults to true.
user_idnumber- ID of the agent creating the note
freshdesk_ticket_updateUpdate an existing ticket in Freshdesk.WriteUpdate Ticket
Update an existing ticket in Freshdesk. Note: Subject and description of outbound tickets cannot be updated.
- Idempotent
Inputs
ticket_idnumberrequired- ID of the ticket to update
custom_fieldsobject- Key-value pairs containing custom field names and values
descriptionstring- HTML content of the ticket (cannot be updated for outbound tickets)
group_idnumber- ID of the group to which the ticket has been assigned
namestring- Name of the requester
prioritynumber- Priority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
responder_idnumber- ID of the agent to whom the ticket has been assigned
statusnumber- Status of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subjectstring- Subject of the ticket (cannot be updated for outbound tickets)
tagsarray- Array of tags to be associated with the ticket
freshdesk_tickets_replyAdd a public reply to a ticket conversation.WriteAdd Reply to Ticket
Add a public reply to a ticket conversation. The reply will be visible to the customer and will update the ticket status if specified.
Inputs
bodystringrequired- HTML content of the reply
ticket_idnumberrequired- ID of the ticket to reply to
bcc_emailsarray- Array of email addresses to BCC on the reply
cc_emailsarray- Array of email addresses to CC on the reply
from_emailstring- Email address to send the reply from
user_idnumber- ID of the agent sending the reply
freshdesk_time_entry_createLog a time entry against a ticket for billing or effort tracking.WriteCreate Time Entry
Log a time entry against a ticket for billing or effort tracking.
Inputs
ticket_idnumberrequired- ID of the ticket to log time against
time_spentstringrequired- Time spent, formatted as hh:mm
agent_idnumber- ID of the agent who performed the work
billableboolean- Whether this time entry is billable
executed_atstring- When the work was performed (ISO 8601). Defaults to now.
notestring- Note describing the work done
freshdesk_agent_deleteDelete an agent from Freshdesk.DestructiveDelete Agent
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.
Inputs
agent_idnumberrequired- ID of the agent to delete
freshdesk_company_deleteDelete a company from Freshdesk.DestructiveDelete Company
Delete a company from Freshdesk. This action is irreversible; contacts and tickets associated with the company are not deleted but lose their company association.
Inputs
company_idnumberrequired- ID of the company to delete
freshdesk_contact_deleteSoft-delete a contact in Freshdesk, moving it to the trash.DestructiveDelete Contact
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.
Inputs
contact_idnumberrequired- ID of the contact to delete
freshdesk_ticket_deleteMove a ticket to the trash in Freshdesk.DestructiveDelete Ticket
Move a ticket to the trash in Freshdesk. Trashed tickets can be restored within 30 days via the Freshdesk UI before being permanently purged.
Inputs
ticket_idnumberrequired- ID of the ticket to delete
No tools match.
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)