Freshdesk Automation via Rube MCP
Automate Freshdesk customer support workflows including ticket management, contact and company operations, notes, replies, and ticket search through Composio's Freshdesk toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Freshdesk connection via with toolkit
- Always call first to get current tool schemas
Setup
Get Rube MCP: Add
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 responds
- Call with toolkit
- 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]
- - Create a new ticket with subject, description, requester info [Required]
- - Modify ticket status, priority, assignee, or other fields [Optional]
- - Retrieve full ticket details by ID [Optional]
Key parameters for FRESHDESK_CREATE_TICKET:
- : Ticket subject (required)
- : HTML content of the ticket (required)
- : Requester email (at least one requester identifier required)
- : User ID of requester (alternative to email)
- : 2=Open, 3=Pending, 4=Resolved, 5=Closed (default 2)
- : 1=Low, 2=Medium, 3=High, 4=Urgent (default 1)
- : 1=Email, 2=Portal, 3=Phone, 7=Chat (default 2)
- : Agent ID to assign the ticket to
- : Group to assign the ticket to
- : Array of tag strings
- : Object with keys
Pitfalls:
- At least one requester identifier is required: , , , , , or
- If is provided without , then becomes mandatory
- supports HTML formatting
- field expects multipart/form-data format, not file paths or URLs
- Custom field keys must be prefixed with (e.g., )
- 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:
- - List tickets with simple filters (status, priority, agent) [Required]
- - Advanced ticket search with query syntax [Required]
- - 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:
- : Filter by status integer (2=Open, 3=Pending, 4=Resolved, 5=Closed)
- : Filter by priority integer (1-4)
- : Filter by assigned agent
- : Filter by requester
- : Filter by requester email
- : ISO 8601 timestamp
- / : Pagination (default 30 per page)
- / : Sort field and direction
Key parameters for FRESHDESK_GET_SEARCH:
- : Query string like
"status:2 AND priority:3"
or "(created_at:>'2024-01-01' AND tag:'urgent')"
- : Page number (1-10, max 300 total results)
Pitfalls:
- 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 keyword to find tickets with empty fields (e.g., )
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:
- - 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 (integer, required)
- : Reply content, supports HTML (required)
- / : Additional recipients (max 50 total across to/cc/bcc)
- : Override sender email if multiple support emails configured
- : Agent ID to reply on behalf of
Key parameters for FRESHDESK_ADD_NOTE_TO_TICKET:
- : Ticket ID (integer, required)
- : Note content, supports HTML (required)
- : true for agent-only visibility, false for public (default true)
- : Only accepts agent email addresses, not external contacts
Pitfalls:
- There are two reply tools:
FRESHDESK_REPLY_TO_TICKET
(more features) and (simpler); both work
FRESHDESK_ADD_NOTE_TO_TICKET
defaults to private (agent-only); set for public notes
- 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]
- - List contacts with filters [Optional]
- - Bulk import contacts from CSV [Optional]
FRESHDESK_SEARCH_COMPANIES
- Search companies by custom fields [Required]
- - 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:
- : Search string like
"email:'user@example.com'"
(required)
- : Pagination (1-10, max 30 per page)
Key parameters for FRESHDESK_CREATE_COMPANIES:
- : Company name (required)
- : Array of domain strings for auto-association with contacts
- : "Happy", "Doing okay", or "At risk"
- : "Basic", "Premium", or "Enterprise"
- : Standard industry classification
Pitfalls:
FRESHDESK_SEARCH_CONTACTS
requires exact matches; partial/regex searches are not supported
FRESHDESK_SEARCH_COMPANIES
cannot search by standard field; use custom fields or
- Company custom fields do NOT use the prefix (unlike ticket custom fields)
- 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: 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:
- : (starting at 1) and (max 100)
- : (1-10, 30 results per page, max 300 total)
FRESHDESK_SEARCH_CONTACTS
: (1-10, 30 per page)
FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS
: and (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 prefix; company custom fields do NOT
- 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 | | , , , |
| Update ticket | | , , |
| View ticket | | |
| List tickets | | , , , |
| List all tickets | FRESHDESK_LIST_ALL_TICKETS
| (none) |
| Search tickets | | , |
| Reply to ticket | FRESHDESK_REPLY_TO_TICKET
| , , |
| Reply (simple) | | , |
| Add note | FRESHDESK_ADD_NOTE_TO_TICKET
| , , |
| List conversations | FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS
| , |
| Update note | FRESHDESK_UPDATE_CONVERSATIONS
| , |
| Search contacts | FRESHDESK_SEARCH_CONTACTS
| , |
| List contacts | | , , |
| Import contacts | | , , |
| Create company | FRESHDESK_CREATE_COMPANIES
| , , |
| Update company | FRESHDESK_UPDATE_COMPANIES
| , , |
| Search companies | FRESHDESK_SEARCH_COMPANIES
| , |
| List companies | | |
| List ticket fields | FRESHDESK_LIST_TICKET_FIELDS
| (none) |
| List company fields | FRESHDESK_LIST_COMPANY_FIELDS
| (none) |