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_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)
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 with cf_<field_name> keys
Pitfalls:
- At least one requester identifier is required:
requester_id, email, phone, facebook_id, twitter_id, or unique_external_id
- If
phone is provided without email, then name becomes mandatory
description supports HTML formatting
attachments 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:
1---2name: freshdesk-automation3description: Automate Freshdesk helpdesk operations including tickets, contacts, companies, notes, and replies via Rube MCP (Composio). Always search tools first for current schemas.4---567# Freshdesk Automation via Rube MCP89Automate Freshdesk customer support workflows including ticket management, contact and company operations, notes, replies, and ticket search through Composio's Freshdesk toolkit.1011## Prerequisites1213- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)14- Active Freshdesk connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`15- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1617## Setup1819**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.20211. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds222. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`233. If connection is not ACTIVE, follow the returned auth link to complete Freshdesk authentication244. Confirm connection status shows ACTIVE before running any workflows2526## Core Workflows2728### 1. Create and Manage Tickets2930**When to use**: User wants to create a new support ticket, update an existing ticket, or view ticket details.3132**Tool sequence**:331. `FRESHDESK_SEARCH_CONTACTS` - Find requester by email to get requester_id [Optional]342. `FRESHDESK_LIST_TICKET_FIELDS` - Check available custom fields and statuses [Optional]353. `FRESHDESK_CREATE_TICKET` - Create a new ticket with subject, description, requester info [Required]364. `FRESHDESK_UPDATE_TICKET` - Modify ticket status, priority, assignee, or other fields [Optional]375. `FRESHDESK_VIEW_TICKET` - Retrieve full ticket details by ID [Optional]3839**Key parameters for FRESHDESK_CREATE_TICKET**:40- `subject`: Ticket subject (required)41- `description`: HTML content of the ticket (required)42- `email`: Requester email (at least one requester identifier required)43- `requester_id`: User ID of requester (alternative to email)44- `status`: 2=Open, 3=Pending, 4=Resolved, 5=Closed (default 2)45- `priority`: 1=Low, 2=Medium, 3=High, 4=Urgent (default 1)46- `source`: 1=Email, 2=Portal, 3=Phone, 7=Chat (default 2)47- `responder_id`: Agent ID to assign the ticket to48- `group_id`: Group to assign the ticket to49- `tags`: Array of tag strings50- `custom_fields`: Object with `cf_<field_name>` keys5152**Pitfalls**:53- At least one requester identifier is required: `requester_id`, `email`, `phone`, `facebook_id`, `twitter_id`, or `unique_external_id`54- If `phone` is provided without `email`, then `name` becomes mandatory55- `description` supports HTML formatting56- `attachments` field expects multipart/form-data format, not file paths or URLs57- Custom field keys must be prefixed with `cf_` (e.g., `cf_reference_number`)58- Status and priority are integers, not strings5960### 2. Search and Filter Tickets6162**When to use**: User wants to find tickets by status, priority, date range, agent, or custom fields.6364**Tool sequence**:651. `FRESHDESK_GET_TICKETS` - List tickets with simple filters (status, priority, agent) [Required]662. `FRESHDESK_GET_SEARCH` - Advanced ticket search with query syntax [Required]673. `FRESHDESK_VIEW_TICKET` - Get full details for specific tickets from results [Optional]684. `FRESHDESK_LIST_TICKET_FIELDS` - Check available fields for search queries [Optional]6970**Key parameters for FRESHDESK_GET_TICKETS**:71- `status`: Filter by status integer (2=Open, 3=Pending, 4=Resolved, 5=Closed)72- `priority`: Filter by priority integer (1-4)73- `agent_id`: Filter by assigned agent74- `requester_id`: Filter by requester75- `email`: Filter by requester email76- `created_since`: ISO 8601 timestamp77- `page` / `per_page`: Pagination (default 30 per page)78- `sort_by` / `sort_order`: Sort field and direction7980**Key parameters for FRESHDESK_GET_SEARCH**:81- `query`: Query string like `"status:2 AND priority:3"` or `"(created_at:>'2024-01-01' AND tag:'urgent')"`82- `page`: Page number (1-10, max 300 total results)8384**Pitfalls**:85- `FRESHDESK_GET_SEARCH` query must be enclosed in double quotes86- Query string limited to 512 characters87- Maximum 10 pages (300 results) from search endpoints88- Date fields in queries use UTC format YYYY-MM-DD89- Use `null` keyword to find tickets with empty fields (e.g., `"agent_id:null"`)90- `FRESHDESK_LIST_ALL_TICKETS` takes no parameters and returns all tickets (use GET_TICKETS for filtering)9192### 3. Reply to and Add Notes on Tickets9394**When to use**: User wants to send a reply to a customer, add internal notes, or view conversation history.9596**Tool sequence**:971. `FRESHDESK_VIEW_TICKET` - Verify ticket exists and check current state [Prerequisite]982. `FRESHDESK_REPLY_TO_TICKET` - Send a public reply to the requester [Required]993. `FRESHDESK_ADD_NOTE_TO_TICKET` - Add a private or public note [Required]1004. `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS` - View all messages and notes on a ticket [Optional]1015. `FRESHDESK_UPDATE_CONVERSATIONS` - Edit an existing note [Optional]102103**Key parameters for FRESHDESK_REPLY_TO_TICKET**:104- `ticket_id`: Ticket ID (integer, required)105- `body`: Reply content, supports HTML (required)106- `cc_emails` / `bcc_emails`: