[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FSJE8HM0DCPFSX9Q8JCK22":3,"skill-same:01M6FSJE8HM0DCPFSX9Q8JCK22":71},{"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":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":14,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M6FSJE8HM0DCPFSX9Q8JCK22","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.","reikiplanet\u002Fdaoskills","reikiplanet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F96377599?v=4","01M6CVWCMD740YHQDK7E9QYBW4","Reiki Planet","01M6CVWCS4KXVA2CWFVJ43EAXK",0,"MIT","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fautomation\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],"automation","freshdesk automation","freshdesk","MCP","notes","search","Tools","first","automate","operations","community","composio","via","tickets","replies","contacts","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.\"\nrequires:\n  mcp: [rube]\nrisk: unknown\nsource: community\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\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\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":45,"source":34,"requires":46,"description":7},"unknown",{"mcp":47},[48],"rube","master","dff58085da947e81e8418c922055644bf0082b1b","automation\u002Ffreshdesk-automation","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills","https:\u002F\u002Fgithub.com\u002Freikiplanet","https:\u002F\u002Fwww.reiki-planet.com","Reiki Planet Game","2026-03-29 06:02:29",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add reikiplanet\u002Fdaoskills --skill freshdesk-automation",{"tool":63,"command":64},"bunx","bunx skills add reikiplanet\u002Fdaoskills --skill freshdesk-automation",{"tool":66,"command":67},"pnpm","pnpm dlx skills add reikiplanet\u002Fdaoskills --skill freshdesk-automation","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fautomation\u002Ffreshdesk-automation\u002FSKILL.md",true,[],[72,98,110,125,145,168],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":40},"01M6G614JTEQJHPT8AKK3YQ18S","web-games","Web browser game development principles. Framework selection, WebGPU, optimization, PWA.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fweb-games\u002FSKILL.md",[],[79,80,81,82,83,84,34,85,86,87,88,89,90,91,92,93,94,95,96,97],"games","web games","web","grep","principles","selection","framework selection","edit","write","read","pwa","game","web browser","game development","Optimization","framework","browser","development","webgpu",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":104,"publishedAt":40},"01M6G611H2YGV0GZFP90D38ZMJ","vr-ar","VR\u002FAR development principles. Comfort, interaction, performance requirements.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fvr-ar\u002FSKILL.md",[],[105,106,96,107,108,34,86,87,88,82,109,83],"ar","vr ar","interaction","requirements","performance",{"skillNo":111,"name":112,"nameZh":6,"description":113,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":114,"categories":115,"keywords":116,"publishedAt":40},"01M6G60XNMHAMV1SV0EJ1CX0AY","templates","Project scaffolding templates for new applications. Use when creating new projects from scratch. Contains 12 templates for various tech stacks.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Ftemplates\u002FSKILL.md",[],[112,117,118,119,120,121,34,122,88,123,124,82],"project scaffolding","From Scratch","tech","project","scaffolding","use","projects","applications",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":131,"publishedAt":40},"01M6G60T0GATMK3Q5H8GDC1Z8S","wcag-audit-patterns","Conduct WCAG 2.2 accessibility audits with automated testing, manual verification, and remediation guidance. Use when auditing websites for accessibility, fixing WCAG violations, or implementing ac...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fwcag-audit-patterns\u002FSKILL.md",[],[132,133,134,135,136,34,137,138,139,140,122,141,142,143,144],"wcag audit patterns","wcag audit","patterns","WCAG","audit","manual","with","automated testing","guidance","remediation","verification","accessibility","testing",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":149,"categories":150,"keywords":151,"publishedAt":40},"01M6G60PMCHW1FRZ63F931QK3R","vulnerability-scanner","Advanced vulnerability analysis principles. OWASP 2025, Supply Chain Security, attack surface mapping, risk prioritization.","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fvulnerability-scanner\u002FSKILL.md",[],[152,153,154,155,156,157,158,159,34,88,82,160,83,161,162,163,164,165,166,167],"scanner","vulnerability scanner","vulnerability","prioritization","2025","mapping","chain","supply chain","Bash","analysis","risk","owasp","supply chain security","security","supply","advanced",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":40},"01M6G60JZBB8DK0W3DSG1WNMZK","threat-modeling-expert","Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use for security architecture r...","https:\u002F\u002Fgithub.com\u002Freikiplanet\u002Fdaoskills\u002Fblob\u002Fmaster\u002Fskills\u002Fsecurity\u002Fthreat-modeling-expert\u002FSKILL.md",[],[175,176,177,178,179,180,181,182,165,122,183,184,185,34,186,187,188,162,189,190],"modeling","threat modeling expert","threat modeling","expert","threat","risk assessment","architecture review","architecture","security architecture review","trees","security architecture","security requirement extraction","assessment","extraction","review","stride"]