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
RUBE_MANAGE_CONNECTIONSwith toolkitfreshdesk - •Always call
RUBE_SEARCH_TOOLSfirst 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_TOOLSresponds - •Call
RUBE_MANAGE_CONNECTIONSwith toolkitfreshdesk - •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) - •
requester_id: User ID of requester (alternative to email) - •
status: 2=Open, 3=Pending, 4=Resolved, 5=Closed (default 2) - •
priority: 1=Low, 2=Medium, 3=High, 4=Urgent (default 1) - •
source: 1=Email, 2=Portal, 3=Phone, 7=Chat (default 2) - •
responder_id: Agent ID to assign the ticket to - •
group_id: Group to assign the ticket to - •
tags: Array of tag strings - •
custom_fields: Object withcf_<field_name>keys
Pitfalls:
- •At least one requester identifier is required:
requester_id,email,phone,facebook_id,twitter_id, orunique_external_id - •If
phoneis provided withoutemail, thennamebecomes mandatory - •
descriptionsupports HTML formatting - •
attachmentsfield 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_SEARCHquery 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
nullkeyword to find tickets with empty fields (e.g.,"agent_id:null") - •
FRESHDESK_LIST_ALL_TICKETStakes 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) andFRESHDESK_REPLY_TICKET(simpler); both work - •
FRESHDESK_ADD_NOTE_TO_TICKETdefaults to private (agent-only); setprivate: falsefor public notes - •
notify_emailsin 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_CONTACTSrequires exact matches; partial/regex searches are not supported - •
FRESHDESK_SEARCH_COMPANIEScannot search by standardnamefield; use custom fields orcreated_at - •Company custom fields do NOT use the
cf_prefix (unlike ticket custom fields) - •
domainson 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_CONTACTSwith"email:'user@example.com'" - •Company name -> company_id:
FRESHDESK_GET_COMPANIESand 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) andper_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:pageandper_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 - •
descriptionin tickets supports HTML formatting - •Search query strings must be in double quotes with string values in single quotes
- •
FRESHDESK_LIST_ALL_TICKETSreturns 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) |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
🏰 Rei Skills — Curated by Rootcastle Engineering & Innovation | Batuhan Ayrıbaş
Engineering Beyond Boundaries | admin@rootcastle.com