{"id":"dd60b9b6-10a3-4475-b0ac-57fb9bce400c","shortId":"e9NMAj","kind":"skill","title":"freshservice-automation","tagline":"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.","description":"# Freshservice Automation via Rube MCP\n\nAutomate Freshservice IT Service Management operations through Composio's Freshservice toolkit via Rube MCP.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Freshservice connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `freshservice`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**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.\n\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `freshservice`\n3. If connection is not ACTIVE, follow the returned auth link to complete Freshservice authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. List and Search Tickets\n\n**When to use**: User wants to find, list, or search for tickets\n\n**Tool sequence**:\n1. `FRESHSERVICE_LIST_TICKETS` - List tickets with optional filtering and pagination [Required]\n2. `FRESHSERVICE_GET_TICKET` - Get detailed information for a specific ticket [Optional]\n\n**Key parameters for listing**:\n- `filter`: Predefined filter ('all_tickets', 'deleted', 'spam', 'watching')\n- `updated_since`: ISO 8601 timestamp to get tickets updated after this time\n- `order_by`: Sort field ('created_at', 'updated_at', 'status', 'priority')\n- `order_type`: Sort direction ('asc' or 'desc')\n- `page`: Page number (1-indexed)\n- `per_page`: Results per page (1-100, default 30)\n- `include`: Additional fields ('requester', 'stats', 'description', 'conversations', 'assets')\n\n**Key parameters for get**:\n- `ticket_id`: Unique ticket ID or display_id\n- `include`: Additional fields to include\n\n**Pitfalls**:\n- By default, only tickets created within the past 30 days are returned\n- Use `updated_since` to retrieve older tickets\n- Each `include` value consumes additional API credits\n- `page` is 1-indexed; minimum value is 1\n- `per_page` max is 100; default is 30\n- Ticket IDs can be the internal ID or the display_id shown in the UI\n\n### 2. Create a Ticket\n\n**When to use**: User wants to log a new incident or request\n\n**Tool sequence**:\n1. `FRESHSERVICE_CREATE_TICKET` - Create a new ticket [Required]\n\n**Key parameters**:\n- `subject`: Ticket subject line (required)\n- `description`: HTML description of the ticket (required)\n- `status`: Ticket status - 2 (Open), 3 (Pending), 4 (Resolved), 5 (Closed) (required)\n- `priority`: Ticket priority - 1 (Low), 2 (Medium), 3 (High), 4 (Urgent) (required)\n- `email`: Requester's email address (provide either email or requester_id)\n- `requester_id`: User ID of the requester\n- `type`: Ticket type ('Incident' or 'Service Request')\n- `source`: Channel - 1 (Email), 2 (Portal), 3 (Phone), 4 (Chat), 5 (Twitter), 6 (Facebook)\n- `impact`: Impact level - 1 (Low), 2 (Medium), 3 (High)\n- `urgency`: Urgency level - 1 (Low), 2 (Medium), 3 (High), 4 (Critical)\n\n**Pitfalls**:\n- `subject`, `description`, `status`, and `priority` are all required\n- Either `email` or `requester_id` must be provided to identify the requester\n- Status and priority use numeric codes, not string names\n- Description supports HTML formatting\n- If email does not match an existing contact, a new contact is created\n\n### 3. Bulk Update Tickets\n\n**When to use**: User wants to update multiple tickets at once\n\n**Tool sequence**:\n1. `FRESHSERVICE_LIST_TICKETS` - Find tickets to update [Prerequisite]\n2. `FRESHSERVICE_BULK_UPDATE_TICKETS` - Update multiple tickets [Required]\n\n**Key parameters**:\n- `ids`: Array of ticket IDs to update (required)\n- `update_fields`: Dictionary of fields to update (required)\n  - Allowed keys: 'subject', 'description', 'status', 'priority', 'responder_id', 'group_id', 'type', 'tags', 'custom_fields'\n\n**Pitfalls**:\n- Bulk update performs sequential updates internally; large batches may take time\n- All specified tickets receive the same field updates\n- If one ticket update fails, others may still succeed; check response for individual results\n- Cannot selectively update different fields per ticket in a single call\n- Custom fields must use their internal field names, not display names\n\n### 4. Create Ticket via Outbound Email\n\n**When to use**: User wants to create a ticket by sending an outbound email notification\n\n**Tool sequence**:\n1. `FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL` - Create ticket with email notification [Required]\n\n**Key parameters**:\n- `email`: Requester's email address (required)\n- `subject`: Email subject / ticket subject (required)\n- `description`: HTML email body content\n- `status`: Ticket status (2=Open, 3=Pending, 4=Resolved, 5=Closed)\n- `priority`: Ticket priority (1=Low, 2=Medium, 3=High, 4=Urgent)\n- `cc_emails`: Array of CC email addresses\n- `email_config_id`: Email configuration ID for the sender address\n- `name`: Requester name\n\n**Pitfalls**:\n- This creates a standard ticket via the /api/v2/tickets endpoint while sending an email\n- If the email does not match an existing contact, a new contact is created with the provided name\n- `email_config_id` determines which email address the notification appears to come from\n\n### 5. Create Service Requests\n\n**When to use**: User wants to submit a service catalog request\n\n**Tool sequence**:\n1. `FRESHSERVICE_CREATE_SERVICE_REQUEST` - Create a service request for a catalog item [Required]\n\n**Key parameters**:\n- `item_display_id`: Display ID of the catalog item (required)\n- `email`: Requester's email address\n- `quantity`: Number of items to request (default: 1)\n- `custom_fields`: Custom field values for the service item form\n- `parent_ticket_id`: Display ID of a parent ticket (for child requests)\n\n**Pitfalls**:\n- `item_display_id` can be found in Admin > Service Catalog > item URL (e.g., /service_catalog/items/1)\n- Custom fields keys must match the service item form field names\n- Quantity defaults to 1 if not specified\n- Service requests follow the approval workflow defined for the catalog item\n\n## Common Patterns\n\n### Status Code Reference\n\n| Code | Status |\n|------|--------|\n| 2 | Open |\n| 3 | Pending |\n| 4 | Resolved |\n| 5 | Closed |\n\n### Priority Code Reference\n\n| Code | Priority |\n|------|----------|\n| 1 | Low |\n| 2 | Medium |\n| 3 | High |\n| 4 | Urgent |\n\n### Pagination\n\n- Use `page` (1-indexed) and `per_page` (max 100) parameters\n- Increment `page` by 1 each request\n- Continue until returned results count < `per_page`\n- Default page size is 30\n\n### Finding Tickets by Date Range\n\n```\n1. Call FRESHSERVICE_LIST_TICKETS with updated_since='2024-01-01T00:00:00Z'\n2. Optionally add order_by='updated_at' and order_type='desc'\n3. Paginate through results\n```\n\n## Known Pitfalls\n\n**Numeric Codes**:\n- Status and priority use numeric values, not strings\n- Source channel uses numeric codes (1-6)\n- Impact and urgency use numeric codes (1-3 or 1-4)\n\n**Date Filtering**:\n- Default returns only tickets from the last 30 days\n- Use `updated_since` parameter for older tickets\n- Date format is ISO 8601 (e.g., '2024-01-01T00:00:00Z')\n\n**Rate Limits**:\n- Freshservice API has per-account rate limits\n- Each `include` option consumes additional API credits\n- Implement backoff on 429 responses\n\n**Response Parsing**:\n- Response data may be nested under `data` or `data.data`\n- Parse defensively with fallback patterns\n- Ticket IDs are numeric integers\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| List tickets | FRESHSERVICE_LIST_TICKETS | filter, updated_since, page, per_page |\n| Get ticket | FRESHSERVICE_GET_TICKET | ticket_id, include |\n| Create ticket | FRESHSERVICE_CREATE_TICKET | subject, description, status, priority, email |\n| Bulk update | FRESHSERVICE_BULK_UPDATE_TICKETS | ids, update_fields |\n| Outbound email ticket | FRESHSERVICE_CREATE_TICKET_OUTBOUND_EMAIL | email, subject, description |\n| Service request | FRESHSERVICE_CREATE_SERVICE_REQUEST | item_display_id, email, quantity |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["freshservice","automation","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows"],"capabilities":["skill","source-sickn33","skill-freshservice-automation","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/freshservice-automation","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34793 github stars · SKILL.md body (8,415 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:50:59.395Z","embedding":null,"createdAt":"2026-04-18T21:37:37.971Z","updatedAt":"2026-04-24T00:50:59.395Z","lastSeenAt":"2026-04-24T00:50:59.395Z","tsv":"'-01':961,962,1036,1037 '-100':247 '-3':1007 '-4':1010 '-6':999 '/api/v2/tickets':731 '/mcp':85 '/service_catalog/items/1':860 '00':964,1039 '00z':965,1040 '1':105,152,171,239,246,304,309,351,389,425,440,449,521,650,695,785,823,875,910,921,932,952,998,1006,1009 '100':314,927 '2':117,183,333,377,391,427,442,451,530,684,697,897,912,966 '2024':960,1035 '3':125,379,393,429,444,453,504,686,699,899,914,977 '30':249,284,317,946,1020 '4':140,381,395,431,455,627,688,701,901,916 '429':1061 '5':383,433,690,768,903 '6':435 '8601':210,1033 'account':1048 'action':1163 'activ':57,130,145 'add':82,99,968 'addit':251,271,299,1055 'address':402,668,709,719,761,815 'admin':854 'allow':557 'alway':21,67 'api':95,300,1044,1056 'appear':764 'applic':1157 'approv':883 'array':542,705 'asc':233 'ask':1201 'asset':257 'auth':134 'authent':139 'autom':3,4,29,33 'avail':56,110 'backoff':1059 'batch':579 'bodi':679 'boundari':1209 'bulk':14,505,532,572,1120,1123 'call':68,118,615,953 'cannot':605 'catalog':781,796,808,856,888 'cc':703,707 'channel':424,994 'chat':432 'check':600 'child':844 'clarif':1203 'clear':1176 'client':92 'close':384,691,904 'code':483,893,895,906,908,984,997,1005 'come':766 'common':890 'complet':137 'composio':11,40 'config':711,756 'configur':93,714 'confirm':112,141 'connect':52,59,63,121,127,142 'consum':298,1054 'contact':498,501,745,748 'content':680 'continu':935 'convers':256 'core':150 'count':939 'creat':223,280,334,353,355,503,628,639,652,656,725,750,769,787,790,1110,1113,1133,1143 'create/update':12 'credit':301,1057 'criteria':1212 'critic':456 'current':26,75 'custom':569,616,824,826,861 'data':1066,1071 'data.data':1073 'date':950,1011,1029 'day':285,1021 'default':248,277,315,822,873,942,1013 'defens':1075 'defin':885 'delet':204 'desc':235,976 'describ':1164,1180 'descript':255,367,369,459,487,560,676,1116,1139 'detail':188 'determin':758 'dictionari':551 'differ':608 'direct':232 'display':268,327,625,802,804,837,848,1147 'e.g':859,1034 'either':404,466 'email':20,398,401,405,426,467,492,632,646,655,659,664,667,671,678,704,708,710,713,736,739,755,760,811,814,1119,1130,1136,1137,1149 'endpoint':101,732 'environ':1192 'environment-specif':1191 'execut':1159 'exist':497,744 'expert':1197 'facebook':436 'fail':595 'fallback':1077 'field':222,252,272,550,553,570,589,609,617,622,825,827,862,870,1128 'filter':179,199,201,1012,1096 'find':163,525,947 'first':24,72 'follow':131,881 'form':833,869 'format':490,1030 'found':852 'freshservic':2,5,28,34,42,58,66,124,138,172,184,352,522,531,651,786,954,1043,1093,1104,1112,1122,1132,1142 'freshservice-autom':1 'get':74,79,185,187,213,261,1102,1105 'group':565 'high':394,445,454,700,915 'html':368,489,677 'id':263,266,269,319,324,328,408,410,412,470,541,545,564,566,712,715,757,803,805,836,838,849,1080,1108,1126,1148 'identifi':475 'impact':437,438,1000 'implement':1058 'incid':346,419 'includ':250,270,274,296,1052,1109 'increment':929 'index':240,305,922 'individu':603 'inform':189 'input':1206 'integ':1083 'intern':323,577,621 'iso':209,1032 'item':797,801,809,819,832,847,857,868,889,1146 'itsm':6 'key':96,195,258,360,539,558,662,799,863,1089 'known':981 'larg':578 'last':1019 'level':439,448 'limit':1042,1050,1168 'line':365 'link':135 'list':153,164,173,175,198,523,955,1091,1094 'log':343 'low':390,441,450,696,911 'manag':37,62,120 'match':495,742,865,1177 'max':312,926 'may':580,597,1067 'mcp':10,32,46,49,81,88,108 'medium':392,443,452,698,913 'minimum':306 'miss':1214 'multipl':515,536 'must':50,471,618,864 'name':486,623,626,720,722,754,871 'need':97 'nest':1069 'new':345,357,500,747 'notif':647,660,763 'number':238,817 'numer':482,983,989,996,1004,1082 'older':293,1027 'one':592 'open':378,685,898 'oper':15,38 'option':178,194,967,1053 'order':219,229,969,974 'other':596 'outbound':19,631,645,654,1129,1135 'output':1186 'overview':1167 'page':236,237,242,245,302,311,920,925,930,941,943,1099,1101 'pagin':181,918,978 'param':1090 'paramet':196,259,361,540,663,800,928,1025 'parent':834,841 'pars':1064,1074 'past':283 'pattern':891,1078 'pend':380,687,900 'per':241,244,310,610,924,940,1047,1100 'per-account':1046 'perform':574 'permiss':1207 'phone':430 'pitfal':275,457,571,723,846,982 'portal':428 'predefin':200 'prerequisit':47,529 'prioriti':228,386,388,462,480,562,692,694,905,909,987,1118 'provid':403,473,753 'quantiti':816,872,1150 'quick':1084 'rang':951 'rate':1041,1049 'receiv':586 'refer':894,907,1085 'request':17,253,348,399,407,409,415,422,469,477,665,721,771,782,789,793,812,821,845,880,934,1141,1145 'requir':182,359,366,373,385,397,465,538,548,556,661,669,675,798,810,1205 'resolv':382,689,902 'respond':116,563 'respons':601,1062,1063,1065 'result':243,604,938,980 'retriev':292 'return':133,287,937,1014 'review':1198 'rube':9,31,45,48,53,61,69,80,107,113,119 'rube.app':84 'rube.app/mcp':83 'run':147 'safeti':1208 'schema':27,77 'scope':1179 'search':22,54,70,114,155,166 'select':606 'send':643,734 'sender':718 'sequenc':170,350,520,649,784 'sequenti':575 'server':89 'servic':16,36,421,770,780,788,792,831,855,867,879,1140,1144 'setup':78 'show':144 'shown':329 'sinc':208,290,959,1024,1098 'singl':614 'size':944 'skill':1155,1171 'skill-freshservice-automation' 'slug':1088 'sort':221,231 'sourc':423,993 'source-sickn33' 'spam':205 'specif':192,1193 'specifi':584,878 'standard':727 'stat':254 'status':143,227,374,376,460,478,561,681,683,892,896,985,1117 'still':598 'stop':1199 'string':485,992 'subject':362,364,458,559,670,672,674,1115,1138 'submit':778 'substitut':1189 'succeed':599 'success':1211 'support':488 't00':963,1038 'tag':568 'take':581 'task':7,1086,1175 'test':1195 'ticket':13,156,168,174,176,186,193,203,214,262,265,279,294,318,336,354,358,363,372,375,387,417,507,516,524,526,534,537,544,585,593,611,629,641,653,657,673,682,693,728,835,842,948,956,1016,1028,1079,1092,1095,1103,1106,1107,1111,1114,1125,1131,1134 'time':218,582 'timestamp':211 'tool':23,55,71,76,115,169,349,519,648,783,1087 'toolkit':43,65,123 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':1184 'twitter':434 'type':230,416,418,567,975 'ui':332 'uniqu':264 'updat':207,215,225,289,506,514,528,533,535,547,549,555,573,576,590,594,607,958,971,1023,1097,1121,1124,1127 'urgenc':446,447,1002 'urgent':396,702,917 'url':858 'use':159,288,339,481,510,619,635,774,919,988,995,1003,1022,1153,1169 'user':160,340,411,511,636,775 'valid':1194 'valu':297,307,828,990 'verifi':106 'via':8,30,44,60,630,729 'want':161,341,512,637,776 'watch':206 'within':281 'work':104 'workflow':149,151,884,1161","prices":[{"id":"6a279631-01c9-418f-bca1-2d14dc79fdf6","listingId":"dd60b9b6-10a3-4475-b0ac-57fb9bce400c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:37:37.971Z"}],"sources":[{"listingId":"dd60b9b6-10a3-4475-b0ac-57fb9bce400c","source":"github","sourceId":"sickn33/antigravity-awesome-skills/freshservice-automation","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/freshservice-automation","isPrimary":false,"firstSeenAt":"2026-04-18T21:37:37.971Z","lastSeenAt":"2026-04-24T00:50:59.395Z"}],"details":{"listingId":"dd60b9b6-10a3-4475-b0ac-57fb9bce400c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"freshservice-automation","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34793,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T00:28:59Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"f13259641cf5183a670ed741c58d91e857937c6d","skill_md_path":"skills/freshservice-automation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/freshservice-automation"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"freshservice-automation","description":"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."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/freshservice-automation"},"updatedAt":"2026-04-24T00:50:59.395Z"}}