davepoon/buildwithclaude/plugins/all-skills/skills/freshservice-automation/SKILL.md
freshservice-automation
Automate Freshservice ITSM tasks via Rube MCP (Composio): create/update tickets, bulk operations, service requests, and outbound emails. Always search tools first for current schemas.
- Source repository stars
- 3,359
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-24
- Source checked
- 2026-08-26
Decision brief
What it does: where it fits
Automate Freshservice IT Service Management operations through Composio's Freshservice toolkit via Rube MCP.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/freshservice-automation"Inspect the Agent Skill "freshservice-automation" from https://github.com/davepoon/buildwithclaude/blob/ebd20fe1d82fa74e9a2f94abfeff88090f6c758c/plugins/all-skills/skills/freshservice-automation/SKILL.md at commit ebd20fe1d82fa74e9a2f94abfeff88090f6c758c. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
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 RUBESEARCHTOOLS respondsCall RUBEMANAGECONNECTIONS with toolkit freshserviceIf connection is not ACTIVE, follow the returned auth link to complete Freshservice authentication - 02
Prerequisites
Rube MCP must be connected (RUBESEARCHTOOLS available)
Rube MCP must be connected (RUBESEARCHTOOLS available)Active Freshservice connection via RUBEMANAGECONNECTIONS with toolkit freshserviceAlways call RUBESEARCHTOOLS first to get current tool schemas - 03
Core Workflows
When to use: User wants to find, list, or search for tickets
FRESHSERVICELISTTICKETS - List tickets with optional filtering and pagination [Required]FRESHSERVICEGETTICKET - Get detailed information for a specific ticket [Optional]filter: Predefined filter ('alltickets', 'deleted', 'spam', 'watching') - 04
1. List and Search Tickets
When to use: User wants to find, list, or search for tickets
FRESHSERVICELISTTICKETS - List tickets with optional filtering and pagination [Required]FRESHSERVICEGETTICKET - Get detailed information for a specific ticket [Optional]filter: Predefined filter ('alltickets', 'deleted', 'spam', 'watching') - 05
2. Create a Ticket
When to use: User wants to log a new incident or request
FRESHSERVICECREATETICKET - Create a new ticket [Required]subject: Ticket subject line (required)description: HTML description of the ticket (required)
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 91/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 3,359 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- davepoon/buildwithclaude
- Skill path
- plugins/all-skills/skills/freshservice-automation/SKILL.md
- Commit
- ebd20fe1d82fa74e9a2f94abfeff88090f6c758c
- License
- MIT
- Collected
- 2026-08-26
- Default branch
- main
View the original SKILL.md
Freshservice Automation via Rube MCP
Automate Freshservice IT Service Management operations through Composio's Freshservice toolkit via Rube MCP.
Toolkit docs: composio.dev/toolkits/freshservice
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 timeorder_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_idinclude: 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 1per_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 requestertype: 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 contentstatus: 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 addressesemail_config_id: Email configuration ID for the sender addressname: 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 addressquantity: Number of items to request (default: 1)custom_fields: Custom field values for the service item formparent_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 |
Powered by Composio
Frequently asked questions
What to verify before installation and use
What does the freshservice-automation source document cover?
Automate Freshservice IT Service Management operations through Composio's Freshservice toolkit via Rube MCP.
How do I install freshservice-automation?
The source record exposes this install command: npx skills add https://github.com/davepoon/buildwithclaude --skill "plugins/all-skills/skills/freshservice-automation". Inspect the command and pinned source before running it.
Alternatives
Compare before choosing
garrytan/gbrain
bulk-ingestion
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
app-store-optimization
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
migrate-vstest-to-mtp
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing
oaustegard/claude-skills
featuring
Generate hierarchical _FEATURES.md files that describe what a codebase DOES from a user/consumer perspective, anchored to source symbols via tree-sitting. Supports large complex codebases through feature-driven decomposition into sub-feature files. Uses a multi-pass synthesis: orientation → detail → overview rewrite. Use when someone says "what does this do", "document features", "feature inventory", "_FEATURES.md", or needs to understand a codebase's purpose before modifying it. Complements tre