[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M718Q800HWB252JMQACM03Y0":3,"skill-same:01M718Q800HWB252JMQACM03Y0":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":14,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M718Q800HWB252JMQACM03Y0","freshdesk-automation",null,"Automate Freshdesk helpdesk operations including tickets, contacts, companies, notes, and replies via Rube MCP (Composio). Always search tools first for current schemas.","sapsapshen\u002Fai-memory-router","sapsapshen","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F20347959?v=4","01M6XDQEF1DP50DKF37H81J3J5","shenmian","01M6XDQEJPE41Y3DT2763X8ZJN",0,"MIT","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Ffreshdesk-automation\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"automation","freshdesk","freshdesk automation","automate","Tools","composio","search tools","2026","tickets","operations","via","first","notes","replies","contacts","critical","MCP","search","for","community","2026-11-10 10:12:30",false,"---\nname: freshdesk-automation\ndescription: \"Automate Freshdesk helpdesk operations including tickets, contacts, companies, notes, and replies via Rube MCP (Composio). Always search tools first for current schemas.\"\nrisk: critical\nsource: community\ndate_added: \"2026-02-27\"\n---\n\n# Freshdesk Automation via Rube MCP\n\nAutomate Freshdesk customer support workflows including ticket management, contact and company operations, notes, replies, and ticket search through Composio's Freshdesk toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Freshdesk connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`\n3. If connection is not ACTIVE, follow the returned auth link to complete Freshdesk authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Manage Tickets\n\n**When to use**: User wants to create a new support ticket, update an existing ticket, or view ticket details.\n\n**Tool sequence**:\n1. `FRESHDESK_SEARCH_CONTACTS` - Find requester by email to get requester_id [Optional]\n2. `FRESHDESK_LIST_TICKET_FIELDS` - Check available custom fields and statuses [Optional]\n3. `FRESHDESK_CREATE_TICKET` - Create a new ticket with subject, description, requester info [Required]\n4. `FRESHDESK_UPDATE_TICKET` - Modify ticket status, priority, assignee, or other fields [Optional]\n5. `FRESHDESK_VIEW_TICKET` - Retrieve full ticket details by ID [Optional]\n\n**Key parameters for FRESHDESK_CREATE_TICKET**:\n- `subject`: Ticket subject (required)\n- `description`: HTML content of the ticket (required)\n- `email`: Requester email (at least one requester identifier required)\n- `requester_id`: User ID of requester (alternative to email)\n- `status`: 2=Open, 3=Pending, 4=Resolved, 5=Closed (default 2)\n- `priority`: 1=Low, 2=Medium, 3=High, 4=Urgent (default 1)\n- `source`: 1=Email, 2=Portal, 3=Phone, 7=Chat (default 2)\n- `responder_id`: Agent ID to assign the ticket to\n- `group_id`: Group to assign the ticket to\n- `tags`: Array of tag strings\n- `custom_fields`: Object with `cf_\u003Cfield_name>` keys\n\n**Pitfalls**:\n- At least one requester identifier is required: `requester_id`, `email`, `phone`, `facebook_id`, `twitter_id`, or `unique_external_id`\n- If `phone` is provided without `email`, then `name` becomes mandatory\n- `description` supports HTML formatting\n- `attachments` field expects multipart\u002Fform-data format, not file paths or URLs\n- Custom field keys must be prefixed with `cf_` (e.g., `cf_reference_number`)\n- Status and priority are integers, not strings\n\n### 2. Search and Filter Tickets\n\n**When to use**: User wants to find tickets by status, priority, date range, agent, or custom fields.\n\n**Tool sequence**:\n1. `FRESHDESK_GET_TICKETS` - List tickets with simple filters (status, priority, agent) [Required]\n2. `FRESHDESK_GET_SEARCH` - Advanced ticket search with query syntax [Required]\n3. `FRESHDESK_VIEW_TICKET` - Get full details for specific tickets from results [Optional]\n4. `FRESHDESK_LIST_TICKET_FIELDS` - Check available fields for search queries [Optional]\n\n**Key parameters for FRESHDESK_GET_TICKETS**:\n- `status`: Filter by status integer (2=Open, 3=Pending, 4=Resolved, 5=Closed)\n- `priority`: Filter by priority integer (1-4)\n- `agent_id`: Filter by assigned agent\n- `requester_id`: Filter by requester\n- `email`: Filter by requester email\n- `created_since`: ISO 8601 timestamp\n- `page` \u002F `per_page`: Pagination (default 30 per page)\n- `sort_by` \u002F `sort_order`: Sort field and direction\n\n**Key parameters for FRESHDESK_GET_SEARCH**:\n- `query`: Query string like `\"status:2 AND priority:3\"` or `\"(created_at:>'2024-01-01' AND tag:'urgent')\"`\n- `page`: Page number (1-10, max 300 total results)\n\n**Pitfalls**:\n- `FRESHDESK_GET_SEARCH` query must be enclosed in double quotes\n- Query string limited to 512 characters\n- Maximum 10 pages (300 results) from search endpoints\n- Date fields in queries use UTC format YYYY-MM-DD\n- Use `null` keyword to find tickets with empty fields (e.g., `\"agent_id:null\"`)\n- `FRESHDESK_LIST_ALL_TICKETS` takes no parameters and returns all tickets (use GET_TICKETS for filtering)\n\n### 3. Reply to and Add Notes on Tickets\n\n**When to use**: User wants to send a reply to a customer, add internal notes, or view conversation history.\n\n**Tool sequence**:\n1. `FRESHDESK_VIEW_TICKET` - Verify ticket exists and check current state [Prerequisite]\n2. `FRESHDESK_REPLY_TO_TICKET` - Send a public reply to the requester [Required]\n3. `FRESHDESK_ADD_NOTE_TO_TICKET` - Add a private or public note [Required]\n4. `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS` - View all messages and notes on a ticket [Optional]\n5. `FRESHDESK_UPDATE_CONVERSATIONS` - Edit an existing note [Optional]\n\n**Key parameters for FRESHDESK_REPLY_TO_TICKET**:\n- `ticket_id`: Ticket ID (integer, required)\n- `body`: Reply content, supports HTML (required)\n- `cc_emails` \u002F `bcc_emails`: Additional recipients (max 50 total across to\u002Fcc\u002Fbcc)\n- `from_email`: Override sender email if multiple support emails configured\n- `user_id`: Agent ID to reply on behalf of\n\n**Key parameters for FRESHDESK_ADD_NOTE_TO_TICKET**:\n- `ticket_id`: Ticket ID (integer, required)\n- `body`: Note content, supports HTML (required)\n- `private`: true for agent-only visibility, false for public (default true)\n- `notify_emails`: Only accepts agent email addresses, not external contacts\n\n**Pitfalls**:\n- There are two reply tools: `FRESHDESK_REPLY_TO_TICKET` (more features) and `FRESHDESK_REPLY_TICKET` (simpler); both work\n- `FRESHDESK_ADD_NOTE_TO_TICKET` defaults to private (agent-only); set `private: false` for public notes\n- `notify_emails` in notes only accepts agent emails, not customer emails\n- Only notes can be edited via `FRESHDESK_UPDATE_CONVERSATIONS`; incoming replies cannot be edited\n\n### 4. Manage Contacts and Companies\n\n**When to use**: User wants to create, search, or manage customer contacts and company records.\n\n**Tool sequence**:\n1. `FRESHDESK_SEARCH_CONTACTS` - Search contacts by email, phone, or company [Required]\n2. `FRESHDESK_GET_CONTACTS` - List contacts with filters [Optional]\n3. `FRESHDESK_IMPORT_CONTACT` - Bulk import contacts from CSV [Optional]\n4. `FRESHDESK_SEARCH_COMPANIES` - Search companies by custom fields [Required]\n5. `FRESHDESK_GET_COMPANIES` - List all companies [Optional]\n6. `FRESHDESK_CREATE_COMPANIES` - Create a new company [Optional]\n7. `FRESHDESK_UPDATE_COMPANIES` - Update company details [Optional]\n8. `FRESHDESK_LIST_COMPANY_FIELDS` - Check available company fields [Optional]\n\n**Key parameters for FRESHDESK_SEARCH_CONTACTS**:\n- `query`: Search string like `\"email:'user@example.com'\"` (required)\n- `page`: Pagination (1-10, max 30 per page)\n\n**Key parameters for FRESHDESK_CREATE_COMPANIES**:\n- `name`: Company name (required)\n- `domains`: Array of domain strings for auto-association with contacts\n- `health_score`: \"Happy\", \"Doing okay\", or \"At risk\"\n- `account_tier`: \"Basic\", \"Premium\", or \"Enterprise\"\n- `industry`: Standard industry classification\n\n**Pitfalls**:\n- `FRESHDESK_SEARCH_CONTACTS` requires exact matches; partial\u002Fregex searches are not supported\n- `FRESHDESK_SEARCH_COMPANIES` cannot search by standard `name` field; use custom fields or `created_at`\n- Company custom fields do NOT use the `cf_` prefix (unlike ticket custom fields)\n- `domains` on companies enables automatic contact-to-company association by email domain\n- Contact search queries require string values in single quotes inside double-quoted query\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve display values to IDs before operations:\n- **Requester email -> requester_id**: `FRESHDESK_SEARCH_CONTACTS` with `\"email:'user@example.com'\"`\n- **Company name -> company_id**: `FRESHDESK_GET_COMPANIES` and match by name (search by name not supported)\n- **Agent name -> agent_id**: Not directly available; use agent_id from ticket responses or admin configuration\n\n### Pagination\nFreshdesk uses page-based pagination:\n- `FRESHDESK_GET_TICKETS`: `page` (starting at 1) and `per_page` (max 100)\n- `FRESHDESK_GET_SEARCH`: `page` (1-10, 30 results per page, max 300 total)\n- `FRESHDESK_SEARCH_CONTACTS`: `page` (1-10, 30 per page)\n- `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS`: `page` and `per_page` (max 100)\n\n## Known Pitfalls\n\n### ID Formats\n- Ticket IDs, contact IDs, company IDs, agent IDs, and group IDs are all integers\n- There are no string-based IDs in Freshdesk\n\n### Rate Limits\n- Freshdesk enforces per-account API rate limits based on plan tier\n- Bulk operations should be paced to avoid 429 responses\n- Search endpoints are limited to 300 total results (10 pages of 30)\n\n### Parameter Quirks\n- Status values: 2=Open, 3=Pending, 4=Resolved, 5=Closed (integers, not strings)\n- Priority values: 1=Low, 2=Medium, 3=High, 4=Urgent (integers, not strings)\n- Source values: 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email\n- Ticket custom fields use `cf_` prefix; company custom fields do NOT\n- `description` in tickets supports HTML formatting\n- Search query strings must be in double quotes with string values in single quotes\n- `FRESHDESK_LIST_ALL_TICKETS` returns all tickets with no filter parameters\n\n### Response Structure\n- Ticket details include nested objects for requester, assignee, and conversation data\n- Search results are paginated with a maximum of 300 results across 10 pages\n- Conversation lists include both replies and notes in chronological order\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Create ticket | `FRESHDESK_CREATE_TICKET` | `subject`, `description`, `email`, `priority` |\n| Update ticket | `FRESHDESK_UPDATE_TICKET` | `ticket_id`, `status`, `priority` |\n| View ticket | `FRESHDESK_VIEW_TICKET` | `ticket_id` |\n| List tickets | `FRESHDESK_GET_TICKETS` | `status`, `priority`, `page`, `per_page` |\n| List all tickets | `FRESHDESK_LIST_ALL_TICKETS` | (none) |\n| Search tickets | `FRESHDESK_GET_SEARCH` | `query`, `page` |\n| Reply to ticket | `FRESHDESK_REPLY_TO_TICKET` | `ticket_id`, `body`, `cc_emails` |\n| Reply (simple) | `FRESHDESK_REPLY_TICKET` | `ticket_id`, `body` |\n| Add note | `FRESHDESK_ADD_NOTE_TO_TICKET` | `ticket_id`, `body`, `private` |\n| List conversations | `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS` | `ticket_id`, `page` |\n| Update note | `FRESHDESK_UPDATE_CONVERSATIONS` | `conversation_id`, `body` |\n| Search contacts | `FRESHDESK_SEARCH_CONTACTS` | `query`, `page` |\n| List contacts | `FRESHDESK_GET_CONTACTS` | `email`, `company_id`, `page` |\n| Import contacts | `FRESHDESK_IMPORT_CONTACT` | `file`, `name_column_index`, `email_column_index` |\n| Create company | `FRESHDESK_CREATE_COMPANIES` | `name`, `domains`, `industry` |\n| Update company | `FRESHDESK_UPDATE_COMPANIES` | `company_id`, `name`, `domains` |\n| Search companies | `FRESHDESK_SEARCH_COMPANIES` | `query`, `page` |\n| List companies | `FRESHDESK_GET_COMPANIES` | `page` |\n| List ticket fields | `FRESHDESK_LIST_TICKET_FIELDS` | (none) |\n| List company fields | `FRESHDESK_LIST_COMPANY_FIELDS` | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n","# Freshdesk Automation via Rube MCP\n\nAutomate Freshdesk customer support workflows including ticket management, contact and company operations, notes, replies, and ticket search through Composio's Freshdesk toolkit.\n\n## Prerequisites\n\n- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)\n- Active Freshdesk connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`\n- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas\n\n## Setup\n\n**Get Rube MCP**: Add `https:\u002F\u002Frube.app\u002Fmcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.\n\n1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds\n2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `freshdesk`\n3. If connection is not ACTIVE, follow the returned auth link to complete Freshdesk authentication\n4. Confirm connection status shows ACTIVE before running any workflows\n\n## Core Workflows\n\n### 1. Create and Manage Tickets\n\n**When to use**: User wants to create a new support ticket, update an existing ticket, or view ticket details.\n\n**Tool sequence**:\n1. `FRESHDESK_SEARCH_CONTACTS` - Find requester by email to get requester_id [Optional]\n2. `FRESHDESK_LIST_TICKET_FIELDS` - Check available custom fields and statuses [Optional]\n3. `FRESHDESK_CREATE_TICKET` - Create a new ticket with subject, description, requester info [Required]\n4. `FRESHDESK_UPDATE_TICKET` - Modify ticket status, priority, assignee, or other fields [Optional]\n5. `FRESHDESK_VIEW_TICKET` - Retrieve full ticket details by ID [Optional]\n\n**Key parameters for FRESHDESK_CREATE_TICKET**:\n- `subject`: Ticket subject (required)\n- `description`: HTML content of the ticket (required)\n- `email`: Requester email (at least one requester identifier required)\n- `requester_id`: User ID of requester (alternative to email)\n- `status`: 2=Open, 3=Pending, 4=Resolved, 5=Closed (default 2)\n- `priority`: 1=Low, 2=Medium, 3=High, 4=Urgent (default 1)\n- `source`: 1=Email, 2=Portal, 3=Phone, 7=Chat (default 2)\n- `responder_id`: Agent ID to assign the ticket to\n- `group_id`: Group to assign the ticket to\n- `tags`: Array of tag strings\n- `custom_fields`: Object with `cf_\u003Cfield_name>` keys\n\n**Pitfalls**:\n- At least one requester identifier is required: `requester_id`, `email`, `phone`, `facebook_id`, `twitter_id`, or `unique_external_id`\n- If `phone` is provided without `email`, then `name` becomes mandatory\n- `description` supports HTML formatting\n- `attachments` field expects multipart\u002Fform-data format, not file paths or URLs\n- Custom field keys must be prefixed with `cf_` (e.g., `cf_reference_number`)\n- Status and priority are integers, not strings\n\n### 2. Search and Filter Tickets\n\n**When to use**: User wants to find tickets by status, priority, date range, agent, or custom fields.\n\n**Tool sequence**:\n1. `FRESHDESK_GET_TICKETS` - List tickets with simple filters (status, priority, agent) [Required]\n2. `FRESHDESK_GET_SEARCH` - Advanced ticket search with query syntax [Required]\n3. `FRESHDESK_VIEW_TICKET` - Get full details for specific tickets from results [Optional]\n4. `FRESHDESK_LIST_TICKET_FIELDS` - Check available fields for search queries [Optional]\n\n**Key parameters for FRESHDESK_GET_TICKETS**:\n- `status`: Filter by status integer (2=Open, 3=Pending, 4=Resolved, 5=Closed)\n- `priority`: Filter by priority integer (1-4)\n- `agent_id`: Filter by assigned agent\n- `requester_id`: Filter by requester\n- `email`: Filter by requester email\n- `created_since`: ISO 8601 timestamp\n- `page` \u002F `per_page`: Pagination (default 30 per page)\n- `sort_by` \u002F `sort_order`: Sort field and direction\n\n**Key parameters for FRESHDESK_GET_SEARCH**:\n- `query`: Query string like `\"status:2 AND priority:3\"` or `\"(created_at:>'2024-01-01' AND tag:'urgent')\"`\n- `page`: Page number (1-10, max 300 total results)\n\n**Pitfalls**:\n- `FRESHDESK_GET_SEARCH` query must be enclosed in double quotes\n- Query string limited to 512 characters\n- Maximum 10 pages (300 results) from search endpoints\n- Date fields in queries use UTC format YYYY-MM-DD\n- Use `null` keyword to find tickets with empty fields (e.g., `\"agent_id:null\"`)\n- `FRESHDESK_LIST_ALL_TICKETS` takes no parameters and returns all tickets (use GET_TICKETS for filtering)\n\n### 3. Reply to and Add Notes on Tickets\n\n**When to use**: User wants to send a reply to a customer, add internal notes, or view conversation history.\n\n**Tool sequence**:\n1. `FRESHDESK_VIEW_TICKET` - Verify ticket exists and check current state [Prerequisite]\n2. `FRESHDESK_REPLY_TO_TICKET` - Send a public reply to the requester [Required]\n3. `FRESHDESK_ADD_NOTE_TO_TICKET` - Add a private or public note [Required]\n4. `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS` - View all messages and notes on a ticket [Optional]\n5. `FRESHDESK_UPDATE_CONVERSATIONS` - Edit an existing note [Optional]\n\n**Key parameters for FRESHDESK_REPLY_TO_TICKET**:\n- `ticket_id`: Ticket ID (integer, required)\n- `body`: Reply content, supports HTML (required)\n- `cc_emails` \u002F `bcc_emails`: Additional recipients (max 50 total across to\u002Fcc\u002Fbcc)\n- `from_email`: Override sender email if multiple support emails configured\n- `user_id`: Agent ID to reply on behalf of\n\n**Key parameters for FRESHDESK_ADD_NOTE_TO_TICKET**:\n- `ticket_id`: Ticket ID (integer, required)\n- `body`: Note content, supports HTML (required)\n- `private`: true for agent-only visibility, false for public (default true)\n- `notify_emails`: Only accepts agent email addresses, not external contacts\n\n**Pitfalls**:\n- There are two reply tools: `FRESHDESK_REPLY_TO_TICKET` (more features) and `FRESHDESK_REPLY_TICKET` (simpler); both work\n- `FRESHDESK_ADD_NOTE_TO_TICKET` defaults to private (agent-only); set `private: false` for public notes\n- `notify_emails` in notes only accepts agent emails, not customer emails\n- Only notes can be edited via `FRESHDESK_UPDATE_CONVERSATIONS`; incoming replies cannot be edited\n\n### 4. Manage Contacts and Companies\n\n**When to use**: User wants to create, search, or manage customer contacts and company records.\n\n**Tool sequence**:\n1. `FRESHDESK_SEARCH_CONTACTS` - Search contacts by email, phone, or company [Required]\n2. `FRESHDESK_GET_CONTACTS` - List contacts with filters [Optional]\n3. `FRESHDESK_IMPORT_CONTACT` - Bulk import contacts from CSV [Optional]\n4. `FRESHDESK_SEARCH_COMPANIES` - Search companies by custom fields [Required]\n5. `FRESHDESK_GET_COMPANIES` - List all companies [Optional]\n6. `FRESHDESK_CREATE_COMPANIES` - Create a new company [Optional]\n7. `FRESHDESK_UPDATE_COMPANIES` - Update company details [Optional]\n8. `FRESHDESK_LIST_COMPANY_FIELDS` - Check available company fields [Optional]\n\n**Key parameters for FRESHDESK_SEARCH_CONTACTS**:\n- `query`: Search string like `\"email:'user@example.com'\"` (required)\n- `page`: Pagination (1-10, max 30 per page)\n\n**Key parameters for FRESHDESK_CREATE_COMPANIES**:\n- `name`: Company name (required)\n- `domains`: Array of domain strings for auto-association with contacts\n- `health_score`: \"Happy\", \"Doing okay\", or \"At risk\"\n- `account_tier`: \"Basic\", \"Premium\", or \"Enterprise\"\n- `industry`: Standard industry classification\n\n**Pitfalls**:\n- `FRESHDESK_SEARCH_CONTACTS` requires exact matches; partial\u002Fregex searches are not supported\n- `FRESHDESK_SEARCH_COMPANIES` cannot search by standard `name` field; use custom fields or `created_at`\n- Company custom fields do NOT use the `cf_` prefix (unlike ticket custom fields)\n- `domains` on companies enables automatic contact-to-company association by email domain\n- Contact search queries require string values in single quotes inside double-quoted query\n\n## Common Patterns\n\n### ID Resolution\nAlways resolve display values to IDs before operations:\n- **Requester email -> requester_id**: `FRESHDESK_SEARCH_CONTACTS` with `\"email:'user@example.com'\"`\n- **Company name -> company_id**: `FRESHDESK_GET_COMPANIES` and match by name (search by name not supported)\n- **Agent name -> agent_id**: Not directly available; use agent_id from ticket responses or admin configuration\n\n### Pagination\nFreshdesk uses page-based pagination:\n- `FRESHDESK_GET_TICKETS`: `page` (starting at 1) and `per_page` (max 100)\n- `FRESHDESK_GET_SEARCH`: `page` (1-10, 30 results per page, max 300 total)\n- `FRESHDESK_SEARCH_CONTACTS`: `page` (1-10, 30 per page)\n- `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS`: `page` and `per_page` (max 100)\n\n## Known Pitfalls\n\n### ID Formats\n- Ticket IDs, contact IDs, company IDs, agent IDs, and group IDs are all integers\n- There are no string-based IDs in Freshdesk\n\n### Rate Limits\n- Freshdesk enforces per-account API rate limits based on plan tier\n- Bulk operations should be paced to avoid 429 responses\n- Search endpoints are limited to 300 total results (10 pages of 30)\n\n### Parameter Quirks\n- Status values: 2=Open, 3=Pending, 4=Resolved, 5=Closed (integers, not strings)\n- Priority values: 1=Low, 2=Medium, 3=High, 4=Urgent (integers, not strings)\n- Source values: 1=Email, 2=Portal, 3=Phone, 7=Chat, 9=Feedback Widget, 10=Outbound Email\n- Ticket custom fields use `cf_` prefix; company custom fields do NOT\n- `description` in tickets supports HTML formatting\n- Search query strings must be in double quotes with string values in single quotes\n- `FRESHDESK_LIST_ALL_TICKETS` returns all tickets with no filter parameters\n\n### Response Structure\n- Ticket details include nested objects for requester, assignee, and conversation data\n- Search results are paginated with a maximum of 300 results across 10 pages\n- Conversation lists include both replies and notes in chronological order\n\n## Quick Reference\n\n| Task | Tool Slug | Key Params |\n|------|-----------|------------|\n| Create ticket | `FRESHDESK_CREATE_TICKET` | `subject`, `description`, `email`, `priority` |\n| Update ticket | `FRESHDESK_UPDATE_TICKET` | `ticket_id`, `status`, `priority` |\n| View ticket | `FRESHDESK_VIEW_TICKET` | `ticket_id` |\n| List tickets | `FRESHDESK_GET_TICKETS` | `status`, `priority`, `page`, `per_page` |\n| List all tickets | `FRESHDESK_LIST_ALL_TICKETS` | (none) |\n| Search tickets | `FRESHDESK_GET_SEARCH` | `query`, `page` |\n| Reply to ticket | `FRESHDESK_REPLY_TO_TICKET` | `ticket_id`, `body`, `cc_emails` |\n| Reply (simple) | `FRESHDESK_REPLY_TICKET` | `ticket_id`, `body` |\n| Add note | `FRESHDESK_ADD_NOTE_TO_TICKET` | `ticket_id`, `body`, `private` |\n| List conversations | `FRESHDESK_LIST_ALL_TICKET_CONVERSATIONS` | `ticket_id`, `page` |\n| Update note | `FRESHDESK_UPDATE_CONVERSATIONS` | `conversation_id`, `body` |\n| Search contacts | `FRESHDESK_SEARCH_CONTACTS` | `query`, `page` |\n| List contacts | `FRESHDESK_GET_CONTACTS` | `email`, `company_id`, `page` |\n| Import contacts | `FRESHDESK_IMPORT_CONTACT` | `file`, `name_column_index`, `email_column_index` |\n| Create company | `FRESHDESK_CREATE_COMPANIES` | `name`, `domains`, `industry` |\n| Update company | `FRESHDESK_UPDATE_COMPANIES` | `company_id`, `name`, `domains` |\n| Search companies | `FRESHDESK_SEARCH_COMPANIES` | `query`, `page` |\n| List companies | `FRESHDESK_GET_COMPANIES` | `page` |\n| List ticket fields | `FRESHDESK_LIST_TICKET_FIELDS` | (none) |\n| List company fields | `FRESHDESK_LIST_COMPANY_FIELDS` | (none) |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n",{"name":5,"risk":39,"source":43,"date_added":49,"description":7},"2026-02-27","main","7a38d8e7073e61c16eda85681cb32fb68a8657a5","skills-store\u002Fglobal\u002Ffreshdesk-automation","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router","https:\u002F\u002Fgithub.com\u002Fsapsapshen","2026-04-14 21:12:12",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add sapsapshen\u002Fai-memory-router --skill freshdesk-automation",{"tool":62,"command":63},"bunx","bunx skills add sapsapshen\u002Fai-memory-router --skill freshdesk-automation",{"tool":65,"command":66},"pnpm","pnpm dlx skills add sapsapshen\u002Fai-memory-router --skill freshdesk-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fglobal\u002Ffreshdesk-automation\u002FSKILL.md",true,[],[71,94,120,130,143,160],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":44},"01M71ATQRKG48SH06FQ697T5G9","wechat-search","Search WeChat Official Account articles using OpenClaw's web search and fetch capabilities with compliance-focused design.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fwechat-search-release\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[83,84,41,85,86,87,88,89,90,91,92,93],"wechat search","wechat","capabilities","openclaw","design","web search","compliance","web","official","fetch","with",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":44},"01M71ATNAVGZB35PFYM2GC5N00","trend-tap","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend tap', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-tap\u002FSKILL.md",[],[101,102,103,104,105,106,41,107,108,109,110,111,112,113,114,115,116,117,118,119],"trend","trend tap","tap","api keys","Bash","time","trending","hacker","aggregator","do","when","brew","live","data","google","install","read","across","api",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":44},"01M71ATJ9AM5KM15AA8PS302EB","trend-radar","Real-time trending topics aggregator across 7 platforms (X\u002FTwitter, Reddit, Google Trends, Hacker News, Zhihu, Bilibili, Weibo). Trigger: when user says 'trend', 'trends', 'trend pulse', '热点', '热搜', or asks what is trending\u002Fhot. Do NOT use web_search — this skill already fetches live data from all platforms with zero API keys.","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftrend-radar\u002FSKILL.md",[],[127,128,101,112,113,114,115,105,41,117,129,118,119,111,109,108,107,116,106,104],"trend radar","radar","pulse",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":44},"01M71ATGF095N3EJM9G8SD0BB5","tech-news-daily","每日科技新闻汇——从全球多个 RSS 源抓取最新科技新闻，翻译（英→中）、去重、排版成每日简报。当用户询问科技新闻、科技新鲜事、每日科技、技术动态、Daily Tech News 或类似表达时触发此技能。","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Ftech-news-daily\u002FSKILL.md",[],[137,138,139,140,141,142],"news","tech","tech news daily","daily","rss","翻译",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":44},"01M71ATFAEAMQ17M70NQNY7SR8","summarize","Summarize URLs or files with the summarize CLI (web, PDFs, images, audio, YouTube).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsummarize\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000021","资料检索与研究",[145,90,153,154,155,93,112,156,157,158,103,159,116],"Audio","cli","youtube","images","https","files","pdfs",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":166,"publishedAt":44},"01M71ATDNS3R0M4H936PACQAWZ","sonoscli","Control Sonos speakers (discover\u002Fstatus\u002Fplay\u002Fvolume\u002Fgroup).","https:\u002F\u002Fgithub.com\u002Fsapsapshen\u002Fai-memory-router\u002Fblob\u002Fmain\u002Fskills-store\u002Fopenclaw\u002Fsonoscli\u002FSKILL.md",[],[162,167,168,169,116,170,157,171,172,173,174,175],"status","play","go","latest","github","discover","control","cmd","volume"]