Freshservice Automation via Rube MCP
Automate Freshservice IT Service Management operations through Composio's Freshservice toolkit via Rube MCP.
Prerequisites
- •Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- •Active Freshservice connection via
RUBE_MANAGE_CONNECTIONSwith toolkitfreshservice - •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 toolkitfreshservice - •If connection is not ACTIVE, follow the returned auth link to complete Freshservice authentication
- •Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. List and Search Tickets
When to use: User wants to find, list, or search for tickets
Tool sequence:
- •
FRESHSERVICE_LIST_TICKETS- List tickets with optional filtering and pagination [Required] - •
FRESHSERVICE_GET_TICKET- Get detailed information for a specific ticket [Optional]
Key parameters for listing:
- •
filter: Predefined filter ('all_tickets', 'deleted', 'spam', 'watching') - •
updated_since: ISO 8601 timestamp to get tickets updated after this time - •
order_by: Sort field ('created_at', 'updated_at', 'status', 'priority') - •
order_type: Sort direction ('asc' or 'desc') - •
page: Page number (1-indexed) - •
per_page: Results per page (1-100, default 30) - •
include: Additional fields ('requester', 'stats', 'description', 'conversations', 'assets')
Key parameters for get:
- •
ticket_id: Unique ticket ID or display_id - •
include: Additional fields to include
Pitfalls:
- •By default, only tickets created within the past 30 days are returned
- •Use
updated_sinceto retrieve older tickets - •Each
includevalue consumes additional API credits - •
pageis 1-indexed; minimum value is 1 - •
per_pagemax is 100; default is 30 - •Ticket IDs can be the internal ID or the display_id shown in the UI
2. Create a Ticket
When to use: User wants to log a new incident or request
Tool sequence:
- •
FRESHSERVICE_CREATE_TICKET- Create a new ticket [Required]
Key parameters:
- •
subject: Ticket subject line (required) - •
description: HTML description of the ticket (required) - •
status: Ticket status - 2 (Open), 3 (Pending), 4 (Resolved), 5 (Closed) (required) - •
priority: Ticket priority - 1 (Low), 2 (Medium), 3 (High), 4 (Urgent) (required) - •
email: Requester's email address (provide either email or requester_id) - •
requester_id: User ID of the requester - •
type: Ticket type ('Incident' or 'Service Request') - •
source: Channel - 1 (Email), 2 (Portal), 3 (Phone), 4 (Chat), 5 (Twitter), 6 (Facebook) - •
impact: Impact level - 1 (Low), 2 (Medium), 3 (High) - •
urgency: Urgency level - 1 (Low), 2 (Medium), 3 (High), 4 (Critical)
Pitfalls:
- •
subject,description,status, andpriorityare all required - •Either
emailorrequester_idmust be provided to identify the requester - •Status and priority use numeric codes, not string names
- •Description supports HTML formatting
- •If email does not match an existing contact, a new contact is created
3. Bulk Update Tickets
When to use: User wants to update multiple tickets at once
Tool sequence:
- •
FRESHSERVICE_LIST_TICKETS- Find tickets to update [Prerequisite] - •
FRESHSERVICE_BULK_UPDATE_TICKETS- Update multiple tickets [Required]
Key parameters:
- •
ids: Array of ticket IDs to update (required) - •
update_fields: Dictionary of fields to update (required)- •Allowed keys: 'subject', 'description', 'status', 'priority', 'responder_id', 'group_id', 'type', 'tags', 'custom_fields'
Pitfalls:
- •Bulk update performs sequential updates internally; large batches may take time
- •All specified tickets receive the same field updates
- •If one ticket update fails, others may still succeed; check response for individual results
- •Cannot selectively update different fields per ticket in a single call
- •Custom fields must use their internal field names, not display names
4. Create Ticket via Outbound Email
When to use: User wants to create a ticket by sending an outbound email notification
Tool sequence:
- •
FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL- Create ticket with email notification [Required]
Key parameters:
- •
email: Requester's email address (required) - •
subject: Email subject / ticket subject (required) - •
description: HTML email body content - •
status: Ticket status (2=Open, 3=Pending, 4=Resolved, 5=Closed) - •
priority: Ticket priority (1=Low, 2=Medium, 3=High, 4=Urgent) - •
cc_emails: Array of CC email addresses - •
email_config_id: Email configuration ID for the sender address - •
name: Requester name
Pitfalls:
- •This creates a standard ticket via the /api/v2/tickets endpoint while sending an email
- •If the email does not match an existing contact, a new contact is created with the provided name
- •
email_config_iddetermines which email address the notification appears to come from
5. Create Service Requests
When to use: User wants to submit a service catalog request
Tool sequence:
- •
FRESHSERVICE_CREATE_SERVICE_REQUEST- Create a service request for a catalog item [Required]
Key parameters:
- •
item_display_id: Display ID of the catalog item (required) - •
email: Requester's email address - •
quantity: Number of items to request (default: 1) - •
custom_fields: Custom field values for the service item form - •
parent_ticket_id: Display ID of a parent ticket (for child requests)
Pitfalls:
- •
item_display_idcan be found in Admin > Service Catalog > item URL (e.g., /service_catalog/items/1) - •Custom fields keys must match the service item form field names
- •Quantity defaults to 1 if not specified
- •Service requests follow the approval workflow defined for the catalog item
Common Patterns
Status Code Reference
| Code | Status |
|---|---|
| 2 | Open |
| 3 | Pending |
| 4 | Resolved |
| 5 | Closed |
Priority Code Reference
| Code | Priority |
|---|---|
| 1 | Low |
| 2 | Medium |
| 3 | High |
| 4 | Urgent |
Pagination
- •Use
page(1-indexed) andper_page(max 100) parameters - •Increment
pageby 1 each request - •Continue until returned results count <
per_page - •Default page size is 30
Finding Tickets by Date Range
1. Call FRESHSERVICE_LIST_TICKETS with updated_since='2024-01-01T00:00:00Z' 2. Optionally add order_by='updated_at' and order_type='desc' 3. Paginate through results
Known Pitfalls
Numeric Codes:
- •Status and priority use numeric values, not strings
- •Source channel uses numeric codes (1-6)
- •Impact and urgency use numeric codes (1-3 or 1-4)
Date Filtering:
- •Default returns only tickets from the last 30 days
- •Use
updated_sinceparameter for older tickets - •Date format is ISO 8601 (e.g., '2024-01-01T00:00:00Z')
Rate Limits:
- •Freshservice API has per-account rate limits
- •Each
includeoption consumes additional API credits - •Implement backoff on 429 responses
Response Parsing:
- •Response data may be nested under
dataordata.data - •Parse defensively with fallback patterns
- •Ticket IDs are numeric integers
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List tickets | FRESHSERVICE_LIST_TICKETS | filter, updated_since, page, per_page |
| Get ticket | FRESHSERVICE_GET_TICKET | ticket_id, include |
| Create ticket | FRESHSERVICE_CREATE_TICKET | subject, description, status, priority, email |
| Bulk update | FRESHSERVICE_BULK_UPDATE_TICKETS | ids, update_fields |
| Outbound email ticket | FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL | email, subject, description |
| Service request | FRESHSERVICE_CREATE_SERVICE_REQUEST | item_display_id, email, quantity |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.