Skip to content

Helpdesk

Freshdesk
API integration

Ship Helpdesk features without building the integration. Full Freshdesk API access via Proxy, normalized data through Unified APIs, and 160+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
Freshdesk

Use Cases

Why integrate with Freshdesk

Common scenarios for SaaS companies building Freshdesk integrations for their customers.

01

AI support bot that deflects tickets using your customers' Freshdesk knowledge base

Ingest your end users' Freshdesk solution articles and categories to power a RAG-based chatbot. When the bot can't resolve an issue, it creates a ticket and attaches the conversation transcript as a private note so the human agent picks up with full context.

02

Bi-directional ticket sync between your product and Freshdesk

SaaS platforms offering internal issue tracking or project management can sync tickets, statuses, and comments with their customers' Freshdesk instances — keeping support and product teams aligned without manual copy-paste between systems.

03

Billable time extraction for MSP invoicing and PSA tools

Professional services and billing platforms can pull billable time entries from Freshdesk, grouped by company, to auto-generate accurate client invoices based on the exact support hours agents tracked.

04

CRM-to-Freshdesk contact and company sync for revenue operations

RevOps and CRM platforms can keep contacts, companies, and custom fields like health scores or account tiers in sync with Freshdesk, including merging duplicate contacts so ticket histories stay clean across both systems.

05

Field service dispatch from external scheduling software

Workforce management and logistics platforms can create service tasks and service groups in Freshdesk when appointments are booked, routing field workers with the correct location and contact details already populated.

What You Can Build

Ship these features with Truto + Freshdesk

Concrete product features your team can ship faster by leveraging Truto’s Freshdesk integration instead of building from scratch.

01

Two-way ticket lifecycle sync

Create, update, and resolve Freshdesk tickets from your product and push status changes back, using the Unified Ticketing API to support Freshdesk alongside other helpdesks with a single codebase.

02

Private note injection for internal collaboration

Append private notes to Freshdesk tickets from Slack, Teams, or your own app so internal discussions are captured without notifying the end customer.

03

Knowledge base ingestion pipeline

Sync Freshdesk solution categories, folders, and articles into your product to power search, AI training, or external documentation portals.

04

Agent and group directory sync

Pull Freshdesk agents, groups, roles, and skills into your user management layer using the Unified User Directory API to map support org structures and automate assignment logic.

05

Custom field and ticket form management

Read and write custom ticket fields, contact fields, and company fields so your product can dynamically adapt forms and data models to each customer's Freshdesk configuration.

06

Automated ticket summarization

Generate and push AI-created summaries to Freshdesk ticket summary fields, giving agents an instant tl;dr of long conversation threads without leaving their helpdesk.

SuperAI

Freshdesk AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_freshdesk_agents

List all agents in Freshdesk. Returns fields including id, available status, occasional status, ticket_scope, created_at, updated_at, type, contact details (email, name, active status, language, last_login_at, time_zone), and focus_mode.

get_single_freshdesk_agent_by_id

Get information about a specific agent in Freshdesk using id. Returns fields including available, occasional, signature, group_ids, role_ids, skill_ids, ticket_scope, created_at, updated_at, type, contact details (active, email, job_title, language, last_login_at, mobile, name, phone, time_zone, created_at, updated_at), and focus_mode.

delete_a_freshdesk_agent_by_id

Delete an agent by id in Freshdesk. Deleting an agent downgrades them into a contact. Agent's name, phone, mobile number, and job title cannot be updated via API.

create_a_freshdesk_agent

Create an agent in Freshdesk with mandatory email. Returns id, available status, occasional flag, ticket_scope, signature, group_ids, role_ids, skill_ids, created_at, updated_at, available_since, type, contact details, and focus_mode.

update_a_freshdesk_agent_by_id

Update an agent by id in Freshdesk. Returns fields including available, occasional, id, ticket_scope, signature, group_ids, role_ids, skill_ids, created_at, updated_at, type, and contact details such as email, language, and time_zone.

freshdesk_agents_mutliple_agents

Create multiple agents in Freshdesk. Returns job_id and href for tracking the bulk creation job.

list_all_freshdesk_roles

List all roles in Freshdesk. Returns id, name, description, default status, created_at, and updated_at fields for each role.

get_single_freshdesk_role_by_id

Get information about a specific role by id in Freshdesk. Returns id, name, description, default status, created_at, and updated_at fields.

list_all_freshdesk_ticket_search

Get a list of tickets filtered by query in Freshdesk. Requires query parameter which supports filtering by ticket fields like priority, status, group_id, type, due_by, created_at, and custom fields. Returns total count and array of tickets with fields like id, subject, status, priority, due_by, created_at, updated_at, description, and custom_fields.

list_all_freshdesk_tickets

List all tickets in Freshdesk. Returns tickets with fields such as id, subject, status, priority, requester_id, created_at, updated_at, due_by, and custom_fields. By default, returns tickets created within the last 30 days.

get_single_freshdesk_ticket_by_id

Get information about a specific ticket in Freshdesk by id. Returns fields including id, subject, description_text, priority, status, requester_id, company_id, created_at, updated_at, due_by, fr_due_by, association_type, and associated_tickets_list.

create_a_freshdesk_ticket

Create a ticket in Freshdesk with required parameters email, status, priority, and source. Returns fields including id, subject, status, priority, requester_id, description, cc_emails, tags, attachments, created_at, and updated_at.

update_a_freshdesk_ticket_by_id

Update a ticket by id in Freshdesk. Returns updated ticket fields including id, status, priority, requester_id, subject, type, description, group_id, responder_id, source, tags, custom_fields, due_by, fr_due_by, and attachments. Note: subject and description cannot be updated for outbound tickets.

delete_a_freshdesk_ticket_by_id

Delete a ticket by id in Freshdesk. Deleted tickets can be restored using the Restore Ticket API. Returns HTTP 204 No Content on success.

freshdesk_tickets_bulk_delete

Delete multiple tickets by providing their ids in Freshdesk. Returns a job_id and href to track the background deletion progress.

freshdesk_tickets_restore

Restore a ticket by id in Freshdesk. Returns no content on success.

list_all_freshdesk_contacts

List all contacts in Freshdesk. Returns fields including id, name, email, language, time_zone, created_at, updated_at, company_id, and custom_fields. Supports filtering by email, mobile, phone, company_id, state, and updated_since.

get_single_freshdesk_contact_by_id

Get information about a specific contact in Freshdesk by id. Returns fields including active status, company_id, email, name, language, time_zone, created_at, updated_at, custom_fields, and avatar details.

create_a_freshdesk_contact

Create a contact in Freshdesk with mandatory parameters name, email, phone, mobile, twitter_id, or unique_external_id. Returns id, name, email, company_id, view_all_tickets, other_emails, other_companies, language, time_zone, tags, avatar, created_at, and updated_at fields.

update_a_freshdesk_contact_by_id

Update a contact by id in Freshdesk. Returns fields including id, name, email, job_title, language, time_zone, other_emails, other_companies, custom_fields, avatar, created_at, and updated_at. Supports updating lookup_parameter with display_id or primary_field_value.

delete_a_freshdesk_contact_by_id

Permanently delete a contact by id in Freshdesk. Requires the contact to be soft deleted or use force=true to delete without soft deletion. All related tickets will also be deleted. Returns HTTP 204 on success.

freshdesk_contacts_soft_delete

Soft delete a contact by id in Freshdesk. Returns no content on success.

freshdesk_contacts_merge

Merge two or more duplicate contacts in Freshdesk using primary_contact_id and secondary_contact_ids. Phone, mobile, twitter_id, or unique_external_id must be provided if present in both contacts. Returns no content.

list_all_freshdesk_conversations

List all conversations for a ticket in Freshdesk using id. Returns conversation details including id, body_text, created_at, user_id, and email fields.

update_a_freshdesk_conversation_by_id

Update a conversation in Freshdesk using id. Returns id, body, body_text, ticket_id, user_id, notified_to, attachments, created_at, and updated_at fields.

delete_a_freshdesk_conversation_by_id

Delete a specific conversation in Freshdesk using id. Returns 204 status with no content in the response.

freshdesk_conversations_add_reply

Create a reply for a specific conversation in Freshdesk. Requires id. Returns id, body, body_text, user_id, from_email, cc_emails, bcc_emails, ticket_id, replied_to, attachments, created_at, and updated_at in the response.

freshdesk_conversations_add_note

Create a note in Freshdesk for a specific ticket using ticket_id. Returns id, body, body_text, ticket_id, user_id, private, incoming, notified_to, attachments, created_at, and updated_at in the response.

freshdesk_conversations_reply_to_forward

Create a reply to a forwarded ticket in Freshdesk. Requires id. Returns body, body_text, id, user_id, ticket_id, to_emails, support_email, from_email, created_at, updated_at, attachments, and status fields.

list_all_freshdesk_time_entries

List all time entries in Freshdesk filtered by company_id, agent_id, executed_after, executed_before, or billable. Returns fields including id, agent_id, ticket_id, time_spent, billable, timer_running, created_at, updated_at, executed_at, and start_time.

create_a_freshdesk_time_entry

Create a time entry for a ticket in Freshdesk using ticket id. Returns id, billable status, note, timer_running, agent_id, ticket_id, time_spent, created_at, updated_at, start_time, and executed_at fields. start_time cannot be in the future and timer_running rules apply.

update_a_freshdesk_time_entry_by_id

Update a time entry by id in Freshdesk. Requires id. Note: start_time cannot be updated if timer_running is true, and must not be greater than current time. Response includes id, billable, note, timer_running, agent_id, ticket_id, time_spent, created_at, updated_at, start_time, executed_at.

delete_a_freshdesk_time_entry_by_id

Delete a time entry by id in Freshdesk. Note that deleted time entries cannot be restored.

freshdesk_time_entries_start_stop

Start or stop the timer for a specific time entry in Freshdesk using id. Returns id, billable status, note, timer_running state, agent_id, ticket_id, time_spent, created_at, updated_at, start_time, and executed_at fields.

list_all_freshdesk_account

Get information about the account in Freshdesk. Returns organisation_id, organisation_name, account_id, account_name, account_domain, hipaa_compliant status, total_agents breakdown, timezone, data_center, tier_type, address, and contact_person details.

freshdesk_account_export

Export account data in Freshdesk by specifying date_range and resources. Returns job id and link to track export status.

list_all_freshdesk_companies

List all companies in Freshdesk. Returns company id, name, description, domains, creation and update timestamps, custom fields like website and address, health score, account tier, renewal date, and industry.

get_single_freshdesk_company_by_id

Get information about a specific company in Freshdesk using id. Returns id, name, description, domains, custom_fields (website, address), created_at, updated_at, health_score, account_tier, and renewal_date.

create_a_freshdesk_company

Create a company in Freshdesk with required parameter name. Returns id, name, description, domains, note, created_at, updated_at, health_score, account_tier, renewal_date, and industry fields in the response.

update_a_freshdesk_company_by_id

Update a company by id in Freshdesk. Returns fields id, name, description, domains, note, created_at, updated_at, health_score, account_tier, renewal_date, industry, and custom_fields if updated.

delete_a_freshdesk_company_by_id

Delete a company by id in Freshdesk. Deleting a company removes its association with contacts but does not delete the contacts. Once deleted, the company cannot be restored.

list_all_freshdesk_ticket_fields

List all ticket fields in Freshdesk. Returns fields including id, label, name, type, description, position, required flags, choices, and nested_ticket_fields.

get_single_freshdesk_ticket_field_by_id

Get information about a specific ticket field in Freshdesk by id. Returns fields including id, name, label, type, default, customers_can_edit, required_for_closure, required_for_agents, required_for_customers, displayed_to_customers, created_at, updated_at, has_section, sections, and choices.

create_a_freshdesk_ticket_field

Create a new ticket field in Freshdesk with specified label, type, position, and customer edit permissions. Returns id, name, label, position, type, customers_can_edit, displayed_to_customers, required_for_closure, required_for_agents, required_for_customers, choices, dependent_fields, and section_mappings.

update_a_freshdesk_ticket_field_by_id

Update a ticket field by id in Freshdesk. Returns updated fields including id, name, label, label_for_customers, position, type, customers_can_edit, required_for_closure, required_for_agents, required_for_customers, displayed_to_customers, created_at, updated_at, and choices.

delete_a_freshdesk_ticket_field_by_id

Delete a ticket field by id in Freshdesk. This action is irreversible and the ticket field cannot be restored once deleted.

freshdesk_download_download

Use this endpoint to download an attachment or file that was uploaded to a ticket, conversation, or other Freshdesk entity

list_all_freshdesk_products

List all products in Freshdesk. Returns an array of products with fields id, name, description, created_at, and updated_at.

get_single_freshdesk_product_by_id

Get information about a specific product in Freshdesk using id. Returns id, name, description, created_at, and updated_at fields.

list_all_freshdesk_email_mailboxes

List all email mailboxes in Freshdesk. Supports filtering by support_email, forward_email, product_id, group_id, and active status. Returns id, name, support_email, group_id, default_reply_email, active, mailbox_type, created_at, updated_at, product_id, and mailbox details.

get_single_freshdesk_email_mailbox_by_id

Get information about a specific email mailbox in Freshdesk by id. Returns id, name, support_email, group_id, default_reply_email, active status, mailbox_type, created_at, updated_at, product_id, and custom_mailbox details including access_type, incoming and outgoing mail server settings.

create_a_freshdesk_email_mailbox

Create an email mailbox in Freshdesk with mandatory fields name, support_email, and mailbox_type. Returns id, name, support_email, group_id, default_reply_email, active status, mailbox_type, created_at, updated_at, product_id, and mailbox configuration details.

update_a_freshdesk_email_mailbox_by_id

Update an email mailbox by id in Freshdesk. Returns id, name, support_email, group_id, default_reply_email, active status, mailbox_type, product_id, and mailbox configuration details.

delete_a_freshdesk_email_mailbox_by_id

Delete an email mailbox by id in Freshdesk. This action is irreversible and emails sent to this inbox will no longer be created as tickets.

list_all_freshdesk_groups

List all groups in Freshdesk. Returns fields id, name, description, business_hour_id, escalate_to, unassigned_for, auto_ticket_assign, created_at, and updated_at for each group.

get_single_freshdesk_group_by_id

Get information about a specific group in Freshdesk by id. Returns id, name, description, business_hour_id, escalate_to, unassigned_for, agent_ids, auto_ticket_assign, created_at, and updated_at fields.

create_a_freshdesk_group

Create a group with name, description, agent_ids, unassigned_for, escalate_to, and auto_ticket_assign in Freshdesk. Returns id, name, description, escalate_to, unassigned_for, agent_ids, auto_ticket_assign, created_at, and updated_at.

update_a_freshdesk_group_by_id

Update a group by id in Freshdesk. Returns id, name, description, escalate_to user, unassigned_for time, agent_ids array, auto_ticket_assign type, created_at, and updated_at timestamps.

delete_a_freshdesk_group_by_id

Delete a group by id in Freshdesk. Deleting a group disbands it but does not delete its members. Deleted groups cannot be restored.

get_single_freshdesk_job_by_id

Get information about a specific job by id in Freshdesk. Returns id, name, status, created_at, updated_at, status_updated_at, and progress fields.

list_all_freshdesk_contacts_search

Search contacts by name in Freshdesk using term. Returns id and name of matching contacts. Search is case insensitive and does not support substring matches.

list_all_freshdesk_contact_fields

List all contact fields in Freshdesk. Returns fields including id, name, label, type, and customer editability status.

get_single_freshdesk_contact_field_by_id

Get information about a specific contact field in Freshdesk by id. Returns fields including id, name, label, type, required_for_agents, required_for_customers, editable_in_signup, customers_can_edit, displayed_for_customers, choices, created_at, and updated_at.

create_a_freshdesk_contact_field

Create a contact field in Freshdesk with label, label_for_customers, and type. Returns id, name, label, position, required_for_agents, type, customers_can_edit, label_for_customers, required_for_customers, displayed_for_customers, and choices if applicable.

update_a_freshdesk_contact_field_by_id

Update a contact field by id in Freshdesk. Returns updated fields including id, name, label, position, editable_in_signup, required_for_agents, type, customers_can_edit, label_for_customers, required_for_customers, displayed_for_customers, created_at, updated_at, and choices.

delete_a_freshdesk_contact_field_by_id

Delete a contact field by id in Freshdesk. This action is irreversible and will remove the field and all associated data across contacts.

list_all_freshdesk_me

Get information about the currently authenticated agent in Freshdesk. Returns fields including id, available status, role_ids, group_ids, skill_ids, ticket_scope, created_at, updated_at, type, and contact details such as name, email, job_title, language, and time_zone.

list_all_freshdesk_agents_search

Search agents by term in Freshdesk. Requires term parameter. Returns an array of agents with id, name, email, and avatar fields. Search is case insensitive and does not support substring matching.

list_all_freshdesk_skills

List all skills in Freshdesk. Returns id, name, rank, created_at, updated_at, agents (agent ids), match_type, and conditions for each skill.

get_single_freshdesk_skill_by_id

Get information about a specific skill by id in Freshdesk. Returns id, name, rank, created_at, updated_at, agents (list of agent ids), match_type, and conditions defining the skill.

create_a_freshdesk_skill

Create a skill with name, agents, match_type, and conditions in Freshdesk. Returns id, created_at, updated_at, name, agents, match_type, conditions, and rank of the created skill.

update_a_freshdesk_skill_by_id

Update a skill by id in Freshdesk. Returns id, created_at, updated_at, name, agents, match_type, conditions, and rank fields in the response.

delete_a_freshdesk_skill_by_id

Delete a skill by id in Freshdesk. Returns no content on successful deletion.

list_all_freshdesk_admin_groups

List all groups in Freshdesk. Returns fields including id, name, description, agent_ids, created_at, updated_at, allow_agents_to_change_availability, business_calendar_id, type, and automatic_agent_assignment details.

get_single_freshdesk_admin_group_by_id

Get information about a specific admin group in Freshdesk by id. Returns id, name, description, escalate_to, unassigned_for, agent_ids, created_at, updated_at, allow_agents_to_change_availability, business_calendar_id, type, and automatic_agent_assignment details.

create_a_freshdesk_admin_group

Create a group with name, description, type, unassigned_for, agent_ids, and business_calendar_id in Freshdesk. Returns id, name, description, escalate_to, unassigned_for, agent_ids, created_at, updated_at, allow_agents_to_change_availability, business_calendar_id, type, and automatic_agent_assignment settings.

update_a_freshdesk_admin_group_by_id

Update a group by id in Freshdesk. Returns updated group fields including id, name, description, escalate_to, unassigned_for, agent_ids, created_at, updated_at, allow_agents_to_change_availability, business_calendar_id, type, and automatic_agent_assignment settings.

delete_a_freshdesk_admin_group_by_id

Delete a group by id in Freshdesk. Deleting a group removes all related information and unmapped agents. Deleted groups cannot be restored.

list_all_freshdesk_company_fields

List all company fields in Freshdesk. Returns fields including id, name, label, position, required_for_agents, type, default, created_at, updated_at, and choices for applicable fields.

get_single_freshdesk_company_field_by_id

Get details of a specific company field in Freshdesk by id. Returns id, name, label, position, required_for_agents, type, default, created_at, updated_at, and choices with their id, label, value, and position.

create_a_freshdesk_company_field

Create a new company field in Freshdesk with label and type. Returns id, name, label, position, required_for_agents, type, default, created_at, updated_at, and choices if applicable.

update_a_freshdesk_company_field_by_id

Update a company field by id in Freshdesk. Returns id, name, label, position, required_for_agents, type, default, created_at, updated_at, and choices which include id, label, value, and position.

delete_a_freshdesk_company_field_by_id

Delete a company field by id in Freshdesk. This action is irreversible and will permanently remove the field and its data across all companies.

list_all_freshdesk_surveys

List all surveys in Freshdesk. Returns survey id, title, questions with id, label, accepted_ratings, created_at, and updated_at fields. Use state filter to view specific surveys.

list_all_freshdesk_satisfaction_ratings

Get a list of satisfaction ratings in Freshdesk filtered by created_since or user_id. Returns id, survey_id, user_id, agent_id, feedback, ticket_id, ratings, created_at, and updated_at fields.

create_a_freshdesk_satisfaction_rating

Create a satisfaction rating for a ticket in Freshdesk using ticket_id. Returns id, survey_id, user_id, agent_id, feedback, ticket_id, ratings, created_at, and updated_at fields.

list_all_freshdesk_email_configs

List all email configs in Freshdesk. Returns id, name, to_email, reply_email, group_id, primary_role, active, created_at, and updated_at fields for each email config.

get_single_freshdesk_email_config_by_id

Get information about a specific email config by id in Freshdesk. Returns id, name, to_email, reply_email, primary_role, active, created_at, and updated_at fields.

list_all_freshdesk_mailbox_settings

Get mailbox settings in Freshdesk. Returns personalized_email_replies, create_requester_using_reply_to, allow_agent_to_initiate_conversation, and original_sender_as_requester_for_forward fields.

update_a_freshdesk_mailbox_setting_by_id

Update mailbox settings in Freshdesk. Requires boolean parameters personalized_email_replies, create_requester_using_reply_to, allow_agent_to_initiate_conversation, and original_sender_as_requester_for_forward. Returns updated settings with these fields.

list_all_freshdesk_automatic_bcc_emails

Get the list of automatic Bcc emails in Freshdesk. Returns the emails array containing the Bcc email addresses.

update_a_freshdesk_automatic_bcc_email_by_id

Update Automatic Bcc emails with emails array in Freshdesk. The emails array will be included automatically in the Bcc field for all ticket communications. The array has a limit of 255 characters. Returns the updated emails array.

list_all_freshdesk_business_hours

List all business hours in Freshdesk. Returns id, name, description, time_zone, is_default, business_hours (daily start_time and end_time), created_at, and updated_at for each business hour.

get_single_freshdesk_business_hour_by_id

Get details of a specific business hour by id in Freshdesk. Returns id, name, description, time_zone, is_default, business_hours for each weekday, created_at, and updated_at.

list_all_freshdesk_scenario_automations

List all scenario automations in Freshdesk. Returns an array of scenario automations with fields id, name, description, actions, private, created_at, and updated_at.

list_all_freshdesk_sla_policies

List all SLA policies in Freshdesk. Returns id, name, description, active status, default flag, position, SLA targets, applicable entities, escalation details, created_at, and updated_at fields.

create_a_freshdesk_sla_policy

Create an SLA policy in Freshdesk with required parameters name, sla_target, and applicable_to. Returns id, name, description, active status, is_default flag, position, sla_target details, applicable_to conditions, escalation settings, created_at, and updated_at timestamps.

update_a_freshdesk_sla_policy_by_id

Update an SLA Policy by id in Freshdesk. Returns updated fields including id, name, description, active status, default flag, position, sla_target with priority response and resolution times, applicable_to conditions, escalation details, created_at, and updated_at timestamps.

list_all_freshdesk_automation_rules

List all automation rules for a specified automation_type_id in Freshdesk. Returns fields including id, name, active status, automation_type_id, performer, events, conditions, actions, outdated status, last_updated_by, affected_tickets_count, created_at, and updated_at.

get_single_freshdesk_automation_rule_by_id

Get details of an automation rule by automation_type_id and id in Freshdesk. Returns fields including name, position, active status, performer, events, conditions, actions, outdated status, last_updated_by, affected_tickets_count, summary, created_at, and updated_at.

create_a_freshdesk_automation_rule

Create an automation rule with automation_type_id in Freshdesk. Requires name, conditions, and actions. Returns rule details including id, name, active status, performer, events, conditions, actions, created_at, and updated_at.

update_a_freshdesk_automation_rule_by_id

Update an Automation Rule by automation_type_id and id in Freshdesk. Returns fields including name, position, active status, last_updated_by, summary of performer, events, conditions, actions, created_at, updated_at, and meta counts.

delete_a_freshdesk_automation_rule_by_id

Delete an automation rule by automation_type_id and id in Freshdesk. Returns no content on success.

list_all_freshdesk_helpdesk_settings

Get helpdesk settings in Freshdesk. Returns primary_language, supported_languages, and portal_languages fields.

get_single_freshdesk_thread_by_id

Get a thread by id in Freshdesk. Returns id, type, title, created_by, parent (id and type), anchor (id and type), participants (emails and agents), linked_object (id, type, attributes, links), created_at, updated_at, additional_info, is_read, and updated_by fields.

create_a_freshdesk_thread

Create a thread in Freshdesk. Returns id, type, created_by, parent (id and type), participants (agents), linked_object (id, type, attributes), created_at, updated_at, additional_info, is_read, and updated_by fields.

update_a_freshdesk_thread_by_id

Update a thread by id in Freshdesk. Returns the updated thread's title and linked_object details including id, attributes, and links.

delete_a_freshdesk_thread_by_id

Delete a thread by id in Freshdesk. This action is irreversible and the thread cannot be restored once deleted.

get_single_freshdesk_thread_message_by_id

Get message for thread by id in Freshdesk. Returns fields id, body, body_text, thread_id, created_by, created_at, updated_at, attachment_ids, participants, edited, source, and additional_info.

create_a_freshdesk_thread_message

Create message for thread in Freshdesk with thread_id. Returns id, body, body_text, thread_id, created_by, created_at, updated_at, attachment_ids, participants, edited, source, additional_info, full_message, and full_message_text.

update_a_freshdesk_thread_message_by_id

Update message for thread in Freshdesk using id. Returns updated body, attachment_ids, inline_attachment_ids, and additional_info including notification and email failure details.

delete_a_freshdesk_thread_message_by_id

Delete message for thread in Freshdesk by id. This action is irreversible and the message cannot be restored once deleted.

get_single_freshdesk_service_group_by_id

Get information about a specific service group in Freshdesk by id. Returns id, name, description, escalate_to, unassigned_for, business_hour_id, auto_ticket_assign, group_type, created_at, updated_at, and agent_ids.

create_a_freshdesk_service_group

Create a service group with name, description, agent_ids, and group_type set to 'field_agent_group' in Freshdesk. Returns id, name, description, agent_ids, group_type, created_at, and updated_at.

update_a_freshdesk_service_group_by_id

Update a service group by id in Freshdesk. Returns id, name, description, escalate_to, unassigned_for, business_hour_id, agent_ids, group_type, auto_ticket_assign, created_at, and updated_at fields in the response.

delete_a_freshdesk_service_group_by_id

Delete a service group by id in Freshdesk. Returns no content on successful deletion.

create_a_freshdesk_service_task

Create a Service Task with type 'Service Task' in Freshdesk. Include mandatory custom fields cf_fsm_contact_name, cf_fsm_phone_number, cf_fsm_service_location. Optional parent_id associates task to a parent ticket. Response returns id, subject, status, priority, requester_id, description, custom_fields, created_at, updated_at, and associated_tickets_list.

get_single_freshdesk_service_task_by_id

Get details of a specific service task in Freshdesk by id. Returns fields including id, subject, description, status, priority, requester_id, type, created_at, updated_at, and custom_fields with service task specifics.

update_a_freshdesk_service_task_by_id

Update a service task by id in Freshdesk. Returns fields including id, subject, description, priority, status, requester_id, created_at, updated_at, and custom_fields.

delete_a_freshdesk_service_task_by_id

Delete a service task by id in Freshdesk. Returns HTTP 204 No Content on success.

get_single_freshdesk_canned_response_by_id

Get a canned response by id in Freshdesk. Returns id, title, folder_id, content, content_html, attachments, created_at, and updated_at fields.

create_a_freshdesk_canned_response

Create a canned response in Freshdesk with mandatory parameters title, content_html, folder_id, and visibility. Returns id, title, folder_id, content, content_html, attachments, created_at, and updated_at fields.

update_a_freshdesk_canned_response_by_id

Update a canned response by id in Freshdesk. Returns id, title, folder_id, content, content_html, attachments, created_at, and updated_at fields in the response.

list_all_freshdesk_canned_response

Get details of all canned-response resources in a specific folder in Freshdesk. Requires folder_id. Returns id, title, folder_id, content, content_html, attachments, created_at, and updated_at fields in the response.

list_all_freshdesk_canned_response_folders

List all canned response folders in Freshdesk. Returns id, name, personal flag, responses_count, created_at, and updated_at for each folder.

create_a_freshdesk_canned_response_folder

Create a canned-response folder in Freshdesk. Requires the name parameter. Returns id and name of the created folder in the response.

update_a_freshdesk_canned_response_folder_by_id

Update a canned response by id in Freshdesk. Returns id, title, folder_id, content, content_html, attachments, created_at, and updated_at fields in the response.

get_single_freshdesk_canned_response_folder_by_id

Get all canned responses in a specific folder in Freshdesk. Requires id. The response includes id, name, canned_responses (with id and title), created_at, and updated_at fields.

list_all_freshdesk_custom_objects

Get all existing Custom Object schemas in Freshdesk. Returns fields including name, prefix, version, id, created_time, updated_time, and detailed field attributes such as id, name, label, type, required, editable, visible, filterable, and searchable.

get_single_freshdesk_custom_object_by_id

Get a specific Custom Object schema in Freshdesk by id. Returns schema name, prefix, version, created_time, updated_time, and fields with attributes like id, name, label, type, required, editable, visible, filterable, and searchable.

list_all_freshdesk_companies_search

Search companies by name in Freshdesk. Requires name parameter. Returns companies array with id and name fields. Search is case insensitive and does not support substring matching.

list_all_freshdesk_ticket_forms

List all ticket forms in Freshdesk. Returns id, title, default status, description, portals, and last_updated_by fields for each ticket form.

create_a_freshdesk_ticket_form

Create a new ticket form in Freshdesk with mandatory fields requester and company. Returns id, name, title, description, fields with details such as id, name, label, type, and customer edit permissions.

get_single_freshdesk_ticket_form_by_id

Get information about a specific ticket form in Freshdesk by id. Returns fields including id, name, title, default status, description, created_at, updated_at, last_updated_by, portals, and fields with details about each field's id, name, label, type, and customer visibility.

update_a_freshdesk_ticket_form_by_id

Update a ticket form by id in Freshdesk. Requires title and fields parameters. Returns id, name, title, description, default status, timestamps, last_updated_by, portals, and fields with detailed attributes.

delete_a_freshdesk_ticket_form_by_id

Delete a ticket form by id in Freshdesk. This action is irreversible and the ticket form cannot be restored after deletion.

freshdesk_ticket_forms_clone

Clone a ticket form by id in Freshdesk. Returns the cloned ticket form's id, name, title, default status, description, creation and update timestamps, last_updated_by user, portals, and fields with details such as id, name, label, position, type, default status, customer editability, required flags, display status, timestamps, archived status, and portal CC settings.

get_single_freshdesk_ticket_form_field_by_id

Get a specific ticket form field by form_id and id in Freshdesk. Returns id, name, label, type, required flags, display settings, and timestamps.

update_a_freshdesk_ticket_form_field_by_id

Update a ticket form field with id and field_id in Freshdesk. Returns updated field details including id, label_for_customers, customers_can_edit, required_for_customers, hint_for_customers, placeholder_for_customers, and position.

delete_a_freshdesk_ticket_form_field_by_id

Delete a field from a ticket form in Freshdesk using form id and field id. Returns no content on success.

list_all_freshdesk_ticket_time_entries

List all time entries for a ticket in Freshdesk. Requires ticket id. Returns fields including id, agent_id, ticket_id, time_spent, billable, timer_running, created_at, updated_at, executed_at, and start_time.

list_all_freshdesk_ticket_satisfaction_ratings

List all satisfaction ratings of a ticket in Freshdesk. Requires ticket id. Returns id, survey_id, user_id, agent_id, feedback, ticket_id, ratings, created_at, and updated_at fields for each rating.

list_all_freshdesk_ticket_summary

Get summary of a ticket in Freshdesk by id. Returns fields: body (HTML summary), body_text (plain text summary), id, user_id, ticket_id, created_at, updated_at, attachments, last_edited_at, last_edited_user_id, and cloud_files.

update_a_freshdesk_ticket_summary_by_id

Update summary note for a ticket in Freshdesk using id. Returns body (HTML content), body_text (plain text), id, user_id, ticket_id, created_at, updated_at, attachments, last_edited_at, and last_edited_user_id.

delete_a_freshdesk_ticket_summary_by_id

Delete summary of a ticket in Freshdesk using id. Returns HTTP 204 No Content on success.

list_all_freshdesk_solution_folders

List all solution folders in a specific category in Freshdesk. Requires category_id. Returns id, name, description, parent_folder_id, hierarchy, articles_count, sub_folders_count, visibility, created_at, updated_at, and company_ids for each folder.

get_single_freshdesk_solution_folder_by_id

Get details about a specific solution-folder in Freshdesk by id. Returns id, name, description, parent_folder_id, hierarchy, articles_count, sub_folders_count, visibility, category_id, created_at, and updated_at fields in the response.

create_a_freshdesk_solution_folder

Create a solution folder in Freshdesk. Requires id (category_id). Returns id, name, description, parent_folder_id, hierarchy, articles_count, sub_folders_count, visibility, category_id, created_at, and updated_at fields in the response.

update_a_freshdesk_solution_folder_by_id

Update a solution folder in Freshdesk. Requires id. Returns id, name, description, parent_folder_id, hierarchy, articles_count, sub_folders_count, visibility, category_id, created_at, updated_at, and company_ids in the response.

delete_a_freshdesk_solution_folder_by_id

Delete solution-folder in Freshdesk by id. When deleted, all translated versions will be deleted too. Returns HTTP 204 No Content on success.

list_all_freshdesk_solution_articles

List all solution-articles in a specific folder in Freshdesk. Requires id. Returns fields such as id, category_id, folder_id, hierarchy, title, status, agent_id, created_at, updated_at, and SEO data for each solution-article.

get_single_freshdesk_solution_article_by_id

Get details of a specific solution article in Freshdesk by id. Returns id, type, category_id, folder_id, hierarchy, thumbs_up, thumbs_down, hits, tags, seo_data, agent_id, title, description, description_text, status, created_at, and updated_at.

create_a_freshdesk_solution_article

Create a solution article in Freshdesk under a specific folder using id. Returns id, title, description, description_text, status, agent_id, type, category_id, folder_id, hierarchy, thumbs_up, thumbs_down, hits, tags, seo_data, created_at, and updated_at.

update_a_freshdesk_solution_article_by_id

Update a solution article in Freshdesk. Requires id. Returns fields such as id, type, category_id, folder_id, hierarchy, thumbs_up, thumbs_down, hits, tags, seo_data, agent_id, title, description, description_text, status, created_at, and updated_at.

delete_a_freshdesk_solution_article_by_id

Delete a solution-article in Freshdesk by id. All translated versions will be deleted as well. No content is returned in the response.

list_all_freshdesk_solution_articles_search

Search solution articles in Freshdesk using term. Returns id, title, description, category_id, folder_id, hierarchy, agent_id, language_id, status, created_at, updated_at, and visibility fields for each article.

create_a_freshdesk_solution_category

Create a solution category with name and description in Freshdesk. Returns id, name, description, created_at, and updated_at fields.

update_a_freshdesk_solution_category_by_id

Update a solution category by id in Freshdesk. Returns id, name, description, created_at, and updated_at fields in the response.

get_single_freshdesk_solution_category_by_id

Get information about a specific solution category by id in Freshdesk. Returns id, name, description, created_at, and updated_at fields.

list_all_freshdesk_solution_categories

List all solution categories in Freshdesk. Returns id, name, description, created_at, and updated_at fields for each category.

delete_a_freshdesk_solution_category_by_id

Delete a solution category by id in Freshdesk. Note that all translated versions will be deleted as well. Returns no content on success.

Why Truto

Why use Truto’s MCP server for Freshdesk

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for Freshdesk

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Licenses

Licenses represent concepts like user seats in apps that support them

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

Unified Ticketing API

Accounts

Accounts represent the companies or organizations that you are in contact with. Accounts have one or more Contacts associated with them.

View Docs

Attachments

Attachments are the files associated with a ticket or a comment.

View Docs

Comments

Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.

View Docs

Contacts

Contact represent the external people you are in contact with. These could be customers, leads, etc. Contacts can be associated with an Account if the underlying product supports it.

View Docs

Fields

Fields represent the attributes defined for various entities in the underlying product. Depending on the underlying product, custom attributes can be defined by a User on various entities like Ticket, Contact, etc. is_user_defined attribute within Field can be used to differentiate between custom and system defined Fields.

View Docs

Ticket Priorities

Ticket Priorities represent the intended order in which the Tickets should be worked on. Some products provide customizing the Ticket Priorities.

View Docs

Ticket Status

Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.

View Docs

Ticket Types

Ticket Types represent the classification system used by the underlying products for Tickets. Some examples are bugs, feature, incident, etc.

View Docs

Tickets

Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.

View Docs

Users

Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.

View Docs

How It Works

From zero to integrated

Go live with Freshdesk in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Freshdesk account

Use Truto’s frontend SDK to connect your customer’s Freshdesk account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Freshdesk

Truto’s Proxy API is a 1-to-1 mapping of the Freshdesk API. You call us, we call Freshdesk, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Freshdesk’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Freshdesk on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

What authentication method does Freshdesk use through Truto?

Freshdesk supports API key-based authentication. Your end users provide their Freshdesk subdomain and an API key (found in their Freshdesk profile settings). Truto securely stores and manages these credentials so you never handle raw keys in your codebase.

Does the integration support custom fields on tickets, contacts, and companies?

Yes. You can list, create, update, and delete custom fields for tickets, contacts, and companies using dedicated endpoints like list_all_freshdesk_ticket_fields, create_a_freshdesk_contact_field, and update_a_freshdesk_company_field_by_id. Custom field values are also readable and writable on the parent objects.

How does Truto handle Freshdesk's API rate limits?

Freshdesk enforces per-minute rate limits that vary by plan. Truto handles pagination and respects rate limit headers automatically, so you don't need to build retry logic or backoff strategies yourself.

Can I search for tickets, contacts, and companies rather than listing everything?

Yes. Freshdesk exposes dedicated search endpoints and Truto supports them: list_all_freshdesk_ticket_search, list_all_freshdesk_contacts_search, and list_all_freshdesk_companies_search let you query by specific field values without pulling entire collections.

Which Truto Unified APIs map to Freshdesk?

Freshdesk is covered by both the Unified Ticketing API (Tickets, Contacts, Comments, Attachments, Fields, Ticket Priorities, Ticket Status, Ticket Types, Accounts, Users) and the Unified User Directory API (Users, Roles, Licenses). This means you can write once and support other helpdesks without code changes.

Can I manage Freshdesk conversations — replies, notes, and forwards — through the integration?

Yes. You can add public replies, private notes, and reply-to-forward messages on any ticket using freshdesk_conversations_add_reply, freshdesk_conversations_add_note, and freshdesk_conversations_reply_to_forward. Existing conversations can also be updated or deleted.

Freshdesk

Get Freshdesk integrated into your app

Our team understands what it takes to make a Freshdesk integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us