Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Freshdesk

Basic Auth customer_support

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

This connector uses Basic Auth authentication.

Code examples

Connect a user’s Freshdesk account and make API calls on their behalf — Scalekit handles OAuth and token management automatically.

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.

Proxy API Calls

import { ScalekitClient } from '@scalekit-sdk/node';
import 'dotenv/config';
const connectionName = 'freshdesk'; // get your connection name from connection configurations
const identifier = 'user_123'; // your unique user identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentials
const scalekit = new ScalekitClient(
process.env.SCALEKIT_ENV_URL,
process.env.SCALEKIT_CLIENT_ID,
process.env.SCALEKIT_CLIENT_SECRET
);
const actions = scalekit.actions;
// Authenticate the user
const { link } = await actions.getAuthorizationLink({
connectionName,
identifier,
});
console.log('🔗 Authorize Freshdesk:', link);
process.stdout.write('Press Enter after authorizing...');
await new Promise(r => process.stdin.once('data', r));
// Make a request via Scalekit proxy
const result = await actions.request({
connectionName,
identifier,
path: '/v2/agents/me',
method: 'GET',
});
console.log(result);
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.

Name Type Required Description
email string required Email address of the agent (must be unique)
role_ids array required Array of role IDs to assign to the agent (at least one required)
ticket_scope number required Ticket permission level (1=Global Access, 2=Group Access, 3=Restricted Access)
agent_type number optional Type of agent (1=Support Agent, 2=Field Agent, 3=Collaborator)
focus_mode boolean optional Focus mode setting for the agent
group_ids array optional Array of group IDs to assign the agent to
language string optional Language preference of the agent
name string optional Full name of the agent
occasional boolean optional Whether the agent is occasional (true) or full-time (false)
signature string optional Agent email signature in HTML format
skill_ids array optional Array of skill IDs to assign to the agent
time_zone string optional Time 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.

Name Type Required Description
agent_id number required ID 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.

Name Type Required Description
email string optional Filter agents by email address
mobile string optional Filter agents by mobile number
page number optional Page number for pagination (starts from 1)
per_page number optional Number of agents per page (max 100)
phone string optional Filter agents by phone number
state string optional Filter 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.

Name Type Required Description
email string required Email address of the contact
name string required Full name of the contact
address string optional Address of the contact
company_id number optional Company ID to associate with the contact
custom_fields object optional Key-value pairs for custom field values
description string optional Description about the contact
job_title string optional Job title of the contact
language string optional Language preference of the contact
mobile string optional Mobile number of the contact
phone string optional Phone number of the contact
tags array optional Array of tags to associate with the contact
time_zone string optional Time 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.

Name Type Required Description
cc_emails array optional Array of email addresses to be added in CC
custom_fields object optional Key-value pairs containing custom field names and values
description string optional HTML content of the ticket describing the issue
email string optional Email address of the requester. If no contact exists, will be added as new contact.
group_id number optional ID of the group to which the ticket has been assigned
name string optional Name of the requester
priority number optional Priority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
requester_id number optional User ID of the requester. For existing contacts, can be passed instead of email.
responder_id number optional ID of the agent to whom the ticket has been assigned
source number optional Channel through which ticket was created. 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email
status number optional Status of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subject string optional Subject of the ticket
tags array optional Array of tags to be associated with the ticket
type string optional Helps 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.

Name Type Required Description
ticket_id number required ID of the ticket to retrieve
include string optional Additional 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.

Name Type Required Description
ticket_id number required ID of the ticket to update
custom_fields object optional Key-value pairs containing custom field names and values
description string optional HTML content of the ticket (cannot be updated for outbound tickets)
group_id number optional ID of the group to which the ticket has been assigned
name string optional Name of the requester
priority number optional Priority of the ticket. 1=Low, 2=Medium, 3=High, 4=Urgent
responder_id number optional ID of the agent to whom the ticket has been assigned
status number optional Status of the ticket. 2=Open, 3=Pending, 4=Resolved, 5=Closed
subject string optional Subject of the ticket (cannot be updated for outbound tickets)
tags array optional Array 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.

Name Type Required Description
company_id number optional Filter by company ID
email string optional Filter by requester email
filter string optional Filter name (new_and_my_open, watching, spam, deleted)
include string optional Additional resources to include (description, requester, company, stats)
page number optional Page number for pagination (starts from 1)
per_page number optional Number of tickets per page (max 100)
requester_id number optional Filter by requester ID
updated_since string optional Filter 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.

Name Type Required Description
body string required HTML content of the reply
ticket_id number required ID of the ticket to reply to
bcc_emails array optional Array of email addresses to BCC on the reply
cc_emails array optional Array of email addresses to CC on the reply
from_email string optional Email address to send the reply from
user_id number optional ID of the agent sending the reply