Automate Freshdesk customer support workflows including ticket management, contact and company operations, notes, replies, and ticket search through Composio's Freshdesk toolkit.
Toolkit docs
:
composio.dev/toolkits/freshdesk
Prerequisites
Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
Active Freshdesk connection via
RUBE_MANAGE_CONNECTIONS
with toolkit
freshdesk
Always call
RUBE_SEARCH_TOOLS
first to get current tool schemas
Setup
Get Rube MCP
Add
https://rube.app/mcp
as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS
responds
Call
RUBE_MANAGE_CONNECTIONS
with toolkit
freshdesk
If connection is not ACTIVE, follow the returned auth link to complete Freshdesk authentication
Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Create and Manage Tickets
When to use
User wants to create a new support ticket, update an existing ticket, or view ticket details.
Tool sequence
:
FRESHDESK_SEARCH_CONTACTS
- Find requester by email to get requester_id [Optional]
FRESHDESK_LIST_TICKET_FIELDS
- Check available custom fields and statuses [Optional]
FRESHDESK_CREATE_TICKET
- Create a new ticket with subject, description, requester info [Required]
FRESHDESK_UPDATE_TICKET
- Modify ticket status, priority, assignee, or other fields [Optional]
FRESHDESK_VIEW_TICKET
- Retrieve full ticket details by ID [Optional]
Key parameters for FRESHDESK_CREATE_TICKET
:
subject
Ticket subject (required)
description
HTML content of the ticket (required)
email
Requester email (at least one requester identifier required)
field expects multipart/form-data format, not file paths or URLs
Custom field keys must be prefixed with
cf_
(e.g.,
cf_reference_number
)
Status and priority are integers, not strings
2. Search and Filter Tickets
When to use
User wants to find tickets by status, priority, date range, agent, or custom fields.
Tool sequence
:
FRESHDESK_GET_TICKETS
- List tickets with simple filters (status, priority, agent) [Required]
FRESHDESK_GET_SEARCH
- Advanced ticket search with query syntax [Required]
FRESHDESK_VIEW_TICKET
- Get full details for specific tickets from results [Optional]
FRESHDESK_LIST_TICKET_FIELDS
- Check available fields for search queries [Optional]
Key parameters for FRESHDESK_GET_TICKETS
:
status
Filter by status integer (2=Open, 3=Pending, 4=Resolved, 5=Closed)
priority
Filter by priority integer (1-4)
agent_id
Filter by assigned agent
requester_id
Filter by requester
email
Filter by requester email
created_since
ISO 8601 timestamp
page
/
per_page
Pagination (default 30 per page)
sort_by
/
sort_order
Sort field and direction
Key parameters for FRESHDESK_GET_SEARCH
:
query
Query string like
"status:2 AND priority:3"
or
"(created_at:>'2024-01-01' AND tag:'urgent')"
page
Page number (1-10, max 300 total results)
Pitfalls
:
FRESHDESK_GET_SEARCH
query must be enclosed in double quotes
Query string limited to 512 characters
Maximum 10 pages (300 results) from search endpoints
Date fields in queries use UTC format YYYY-MM-DD
Use
null
keyword to find tickets with empty fields (e.g.,
"agent_id:null"
)
FRESHDESK_LIST_ALL_TICKETS
takes no parameters and returns all tickets (use GET_TICKETS for filtering)
3. Reply to and Add Notes on Tickets
When to use
User wants to send a reply to a customer, add internal notes, or view conversation history.
Tool sequence
:
FRESHDESK_VIEW_TICKET
- Verify ticket exists and check current state [Prerequisite]
FRESHDESK_REPLY_TO_TICKET
- Send a public reply to the requester [Required]
FRESHDESK_ADD_NOTE_TO_TICKET
- Add a private or public note [Required]
FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS
- View all messages and notes on a ticket [Optional]
FRESHDESK_UPDATE_CONVERSATIONS
- Edit an existing note [Optional]
Key parameters for FRESHDESK_REPLY_TO_TICKET
:
ticket_id
Ticket ID (integer, required)
body
Reply content, supports HTML (required)
cc_emails
/
bcc_emails
Additional recipients (max 50 total across to/cc/bcc)
from_email
Override sender email if multiple support emails configured
user_id
Agent ID to reply on behalf of
Key parameters for FRESHDESK_ADD_NOTE_TO_TICKET
:
ticket_id
Ticket ID (integer, required)
body
Note content, supports HTML (required)
private
true for agent-only visibility, false for public (default true)
notify_emails
Only accepts agent email addresses, not external contacts
Pitfalls
:
There are two reply tools:
FRESHDESK_REPLY_TO_TICKET
(more features) and
FRESHDESK_REPLY_TICKET
(simpler); both work
FRESHDESK_ADD_NOTE_TO_TICKET
defaults to private (agent-only); set
private: false
for public notes
notify_emails
in notes only accepts agent emails, not customer emails
Only notes can be edited via
FRESHDESK_UPDATE_CONVERSATIONS
; incoming replies cannot be edited
4. Manage Contacts and Companies
When to use
User wants to create, search, or manage customer contacts and company records.
Tool sequence
:
FRESHDESK_SEARCH_CONTACTS
- Search contacts by email, phone, or company [Required]
FRESHDESK_GET_CONTACTS
- List contacts with filters [Optional]
FRESHDESK_IMPORT_CONTACT
- Bulk import contacts from CSV [Optional]
FRESHDESK_SEARCH_COMPANIES
- Search companies by custom fields [Required]
FRESHDESK_GET_COMPANIES
- List all companies [Optional]
FRESHDESK_CREATE_COMPANIES
- Create a new company [Optional]
FRESHDESK_UPDATE_COMPANIES
- Update company details [Optional]
FRESHDESK_LIST_COMPANY_FIELDS
- Check available company fields [Optional]
Key parameters for FRESHDESK_SEARCH_CONTACTS
:
query
Search string like
"email:'user@example.com'"
(required)
page
Pagination (1-10, max 30 per page)
Key parameters for FRESHDESK_CREATE_COMPANIES
:
name
Company name (required)
domains
Array of domain strings for auto-association with contacts
health_score
"Happy", "Doing okay", or "At risk"
account_tier
"Basic", "Premium", or "Enterprise"
industry
Standard industry classification
Pitfalls
:
FRESHDESK_SEARCH_CONTACTS
requires exact matches; partial/regex searches are not supported
FRESHDESK_SEARCH_COMPANIES
cannot search by standard
name
field; use custom fields or
created_at
Company custom fields do NOT use the
cf_
prefix (unlike ticket custom fields)
domains
on companies enables automatic contact-to-company association by email domain
Contact search queries require string values in single quotes inside double-quoted query
Common Patterns
ID Resolution
Always resolve display values to IDs before operations:
Requester email -> requester_id
:
FRESHDESK_SEARCH_CONTACTS
with
"email:'user@example.com'"
Company name -> company_id
:
FRESHDESK_GET_COMPANIES
and match by name (search by name not supported)
Agent name -> agent_id
Not directly available; use agent_id from ticket responses or admin configuration
Pagination
Freshdesk uses page-based pagination:
FRESHDESK_GET_TICKETS
:
page
(starting at 1) and
per_page
(max 100)
FRESHDESK_GET_SEARCH
:
page
(1-10, 30 results per page, max 300 total)
FRESHDESK_SEARCH_CONTACTS
:
page
(1-10, 30 per page)
FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS
:
page
and
per_page
(max 100)
Known Pitfalls
ID Formats
Ticket IDs, contact IDs, company IDs, agent IDs, and group IDs are all integers
There are no string-based IDs in Freshdesk
Rate Limits
Freshdesk enforces per-account API rate limits based on plan tier
Bulk operations should be paced to avoid 429 responses
Search endpoints are limited to 300 total results (10 pages of 30)
Parameter Quirks
Status values: 2=Open, 3=Pending, 4=Resolved, 5=Closed (integers, not strings)
Priority values: 1=Low, 2=Medium, 3=High, 4=Urgent (integers, not strings)
Source values: 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email
Ticket custom fields use
cf_
prefix; company custom fields do NOT
description
in tickets supports HTML formatting
Search query strings must be in double quotes with string values in single quotes
FRESHDESK_LIST_ALL_TICKETS
returns all tickets with no filter parameters
Response Structure
Ticket details include nested objects for requester, assignee, and conversation data
Search results are paginated with a maximum of 300 results across 10 pages
Conversation lists include both replies and notes in chronological order
Quick Reference
Task
Tool Slug
Key Params
Create ticket
FRESHDESK_CREATE_TICKET
subject
,
description
,
email
,
priority
Update ticket
FRESHDESK_UPDATE_TICKET
ticket_id
,
status
,
priority
View ticket
FRESHDESK_VIEW_TICKET
ticket_id
List tickets
FRESHDESK_GET_TICKETS
status
,
priority
,
page
,
per_page
List all tickets
FRESHDESK_LIST_ALL_TICKETS
(none)
Search tickets
FRESHDESK_GET_SEARCH
query
,
page
Reply to ticket
FRESHDESK_REPLY_TO_TICKET
ticket_id
,
body
,
cc_emails
Reply (simple)
FRESHDESK_REPLY_TICKET
ticket_id
,
body
Add note
FRESHDESK_ADD_NOTE_TO_TICKET
ticket_id
,
body
,
private
List conversations
FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS
ticket_id
,
page
Update note
FRESHDESK_UPDATE_CONVERSATIONS
conversation_id
,
body
Search contacts
FRESHDESK_SEARCH_CONTACTS
query
,
page
List contacts
FRESHDESK_GET_CONTACTS
email
,
company_id
,
page
Import contacts
FRESHDESK_IMPORT_CONTACT
file
,
name_column_index
,
email_column_index
Create company
FRESHDESK_CREATE_COMPANIES
name
,
domains
,
industry
Update company
FRESHDESK_UPDATE_COMPANIES
company_id
,
name
,
domains
Search companies
FRESHDESK_SEARCH_COMPANIES
query
,
page
List companies
FRESHDESK_GET_COMPANIES
page
List ticket fields
FRESHDESK_LIST_TICKET_FIELDS
(none)
List company fields
FRESHDESK_LIST_COMPANY_FIELDS
(none)
Powered by
Composio