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 usUse Cases
Why integrate with Freshdesk
Common scenarios for SaaS companies building Freshdesk integrations for their customers.
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.
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.
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.
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.
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.
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.
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.
Knowledge base ingestion pipeline
Sync Freshdesk solution categories, folders, and articles into your product to power search, AI training, or external documentation portals.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
Attachments
Attachments are the files associated with a ticket or a comment.
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.
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.
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.
Ticket Priorities
Ticket Priorities represent the intended order in which the Tickets should be worked on. Some products provide customizing the Ticket Priorities.
Ticket Status
Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
Ticket Types
Ticket Types represent the classification system used by the underlying products for Tickets. Some examples are bugs, feature, incident, etc.
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.
Users
Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
How It Works
From zero to integrated
Go live with Freshdesk in under an hour. No boilerplate, no maintenance burden.
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.
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.
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.
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.
From the Blog
Freshdesk integration guides
Deep dives, architecture guides, and practical tutorials for building Freshdesk integrations.
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