Freshdesk
Basic Auth customer_supportFreshdesk
What you can do
Section titled “What you can do”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
Authentication
Section titled “Authentication”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 configurationsconst identifier = 'user_123'; // your unique user identifier
// Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsconst scalekit = new ScalekitClient( process.env.SCALEKIT_ENV_URL, process.env.SCALEKIT_CLIENT_ID, process.env.SCALEKIT_CLIENT_SECRET);const actions = scalekit.actions;
// Authenticate the userconst { 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 proxyconst result = await actions.request({ connectionName, identifier, path: '/v2/agents/me', method: 'GET',});console.log(result);import scalekit.client, osfrom dotenv import load_dotenvload_dotenv()
connection_name = "freshdesk" # get your connection name from connection configurationsidentifier = "user_123" # your unique user identifier
# Get your credentials from app.scalekit.com → Developers → Settings → API Credentialsscalekit_client = scalekit.client.ScalekitClient( client_id=os.getenv("SCALEKIT_CLIENT_ID"), client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"), env_url=os.getenv("SCALEKIT_ENV_URL"),)actions = scalekit_client.actions
# Authenticate the userlink_response = actions.get_authorization_link( connection_name=connection_name, identifier=identifier)# present this link to your user for authorization, or click it yourself for testingprint("🔗 Authorize Freshdesk:", link_response.link)input("Press Enter after authorizing...")
# Make a request via Scalekit proxyresult = actions.request( connection_name=connection_name, identifier=identifier, path="/v2/agents/me", method="GET")print(result)Tool list
Section titled “Tool list” 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.
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.
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.
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.
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.
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.
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.
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.
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.
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