freshdesk_create_ solution_ articleCreate an article in a folder.
Filter tickets by status or priority, post public replies and internal notes, update contacts and companies, log time against a ticket, and search your Solutions knowledge base.
PopMCPFreshdesk
Every read and write call in the catalog, from ticket filters to solution articles, plus the ticket, contact and satisfaction events you can watch.
freshdesk_create_ solution_ articleCreate an article in a folder.
freshdesk_get_ solution_ articleRetrieve a single solution article.
freshdesk_list_ category_ foldersList the folders inside a solution category.
freshdesk_list_ folder_ articlesList the articles inside a solution folder.
freshdesk_list_ solution_ categoriesList knowledge-base solution categories.
freshdesk_search_ solution_ articlesSearch published knowledge-base articles by keyword.
freshdesk_bulk_ update_ ticketsUpdate up to 100 tickets at once, and/or add a shared reply/note.
freshdesk_create_ contactCreate a contact.
freshdesk_create_ ticketCreate a ticket.
freshdesk_delete_ ticketMove a ticket to trash (soft delete).
freshdesk_filter_ contactsSearch/filter contacts with a Lucene-like query.
freshdesk_filter_ ticketsSearch/filter tickets with a Lucene-like query (e.g.
freshdesk_forward_ ticketForward a ticket to one or more email addresses with an optional message.
freshdesk_get_ contactRetrieve a single contact by id.
freshdesk_get_ ticketRetrieve a single ticket by id.
freshdesk_list_ contact_ fieldsList all contact fields (built-in + custom) configured for the account.
freshdesk_list_ contactsList contacts (requesters), with optional filters.
freshdesk_list_ ticketsList tickets in the account (newest first).
freshdesk_merge_ ticketsMerge one or more secondary tickets into a primary ticket.
freshdesk_search_ contactsAutocomplete contacts by name or email (fast typeahead; returns up to a handful of matches).
freshdesk_update_ contactUpdate a contact.
freshdesk_update_ ticketUpdate a ticket.
freshdesk_list_ ticket_ fieldsList all ticket fields (built-in + custom), in display order.
freshdesk_get_ agentRetrieve a single agent by id.
freshdesk_get_ current_ agentRetrieve the agent who owns the connected API key (the authenticated agent).
freshdesk_list_ agentsList agents, with optional filters.
freshdesk_create_ companyCreate a company.
freshdesk_filter_ companiesSearch/filter companies with a Lucene-like query.
freshdesk_get_ companyRetrieve a single company by id.
freshdesk_list_ companiesList companies.
freshdesk_update_ companyUpdate a company.
freshdesk_list_ productsList products (multi-product feature).
freshdesk_create_ ticket_ noteAdd a note (conversation) to a ticket.
freshdesk_create_ time_ entryLog a time entry on a ticket.
freshdesk_list_ ticket_ conversationsList all conversations (replies + notes) on a ticket, oldest first.
freshdesk_reply_ to_ ticketAdd a public reply (sent to the requester) to a ticket.
freshdesk_get_ groupRetrieve a single group by id.
freshdesk_list_ groupsList agent groups.
freshdesk_get_ accountView the account's details, plan, and current usage limits.
freshdesk_get_ jobCheck the status of an asynchronous bulk job.
freshdesk_list_ ticket_ satisfaction_ ratingsList the satisfaction (CSAT) ratings submitted for a ticket.
freshdesk_create_ commentAdd a comment to a forum topic.
freshdesk_create_ forumCreate a forum inside a category.
freshdesk_create_ forum_ categoryCreate a forum category.
freshdesk_create_ topicCreate a topic in a forum.
freshdesk_delete_ commentDelete a forum comment.
freshdesk_delete_ forumDelete a forum.
freshdesk_delete_ forum_ categoryDelete a forum category.
freshdesk_delete_ topicDelete a forum topic.
freshdesk_get_ forumRetrieve a forum.
freshdesk_get_ forum_ categoryRetrieve a forum category.
freshdesk_get_ topicRetrieve a forum topic.
freshdesk_list_ category_ forumsList the forums in a forum category.
freshdesk_list_ forum_ categoriesList forum (discussion) categories.
freshdesk_list_ forum_ topicsList the topics in a forum.
freshdesk_list_ topic_ commentsList the comments on a forum topic.
freshdesk_update_ commentUpdate a forum comment.
freshdesk_update_ forumUpdate a forum.
freshdesk_update_ forum_ categoryUpdate a forum category.
freshdesk_update_ topicUpdate a forum topic.
freshdesk_create_ solution_ categoryCreate a solution category.
freshdesk_create_ solution_ folderCreate a folder inside a category.
freshdesk_create_ translated_ articleCreate a translation of an article in another supported language (e.g.
freshdesk_delete_ solution_ articleDelete a solution article.
freshdesk_delete_ solution_ categoryDelete a solution category (and its folders/articles).
freshdesk_delete_ solution_ folderDelete a solution folder (and its articles).
freshdesk_get_ solution_ categoryRetrieve a single solution category.
freshdesk_get_ solution_ folderRetrieve a single solution folder.
freshdesk_update_ solution_ articleUpdate a solution article.
freshdesk_update_ solution_ categoryUpdate a solution category.
freshdesk_update_ solution_ folderUpdate a solution folder.
freshdesk_update_ translated_ articleUpdate an article's translation in a given language.
freshdesk_bulk_ delete_ ticketsDelete (trash) up to 100 tickets at once.
freshdesk_create_ outbound_ emailCreate an agent-initiated outbound-email ticket (proactively email a customer).
freshdesk_delete_ contactSoft-delete a contact.
freshdesk_execute_ scenarioRun a scenario automation against a ticket.
freshdesk_get_ contact_ fieldRetrieve a single contact field by id.
freshdesk_hard_ delete_ contactPermanently delete a contact (irreversible).
freshdesk_list_ associated_ ticketsList the tickets associated with a tracker/parent ticket.
freshdesk_make_ agentConvert a contact into an agent (occupies an agent seat).
freshdesk_merge_ contactsMerge secondary contacts into a primary contact.
freshdesk_restore_ contactRestore a soft-deleted contact.
freshdesk_restore_ ticketRestore a previously deleted (trashed) ticket.
freshdesk_send_ contact_ inviteSend an activation/invite email to a contact so they can access the support portal.
freshdesk_clone_ ticket_ formClone an existing ticket form.
freshdesk_create_ ticket_ fieldCreate a custom ticket field (admin API).
freshdesk_create_ ticket_ formCreate a ticket form.
freshdesk_delete_ ticket_ fieldDelete a custom ticket field (admin API).
freshdesk_delete_ ticket_ formDelete a ticket form.
freshdesk_get_ ticket_ fieldRetrieve a single ticket field (admin API).
freshdesk_get_ ticket_ formRetrieve a single ticket form by id.
freshdesk_list_ admin_ ticket_ fieldsList ticket fields via the admin API.
freshdesk_list_ ticket_ formsList ticket forms (multiple-form-types feature).
freshdesk_update_ ticket_ fieldUpdate a ticket field (admin API).
freshdesk_update_ ticket_ formUpdate a ticket form.
freshdesk_bulk_ create_ agentsCreate multiple agents in one request.
freshdesk_create_ agentCreate an agent.
freshdesk_delete_ agentDowngrade an agent to a contact (frees the agent seat).
freshdesk_get_ agent_ availabilityGet an agent's Omniroute availability and load settings.
freshdesk_search_ agentsAutocomplete agents by name or email (typeahead).
freshdesk_update_ agentUpdate an agent.
freshdesk_update_ agent_ availabilityUpdate an agent's Omniroute availability / load settings.
freshdesk_delete_ companyDelete a company.
freshdesk_get_ company_ fieldRetrieve a single company field by id.
freshdesk_list_ company_ fieldsList all company fields (built-in + custom) configured for the account.
freshdesk_search_ companiesAutocomplete companies by name (typeahead).
freshdesk_count_ custom_ object_ recordsCount the records of a custom object (supports the same field filters as list).
freshdesk_create_ canned_ responseCreate a canned response in a folder.
freshdesk_create_ canned_ response_ folderCreate a canned-response folder.
freshdesk_create_ custom_ object_ recordCreate a custom-object record.
freshdesk_delete_ custom_ object_ recordDelete a custom-object record.
freshdesk_get_ canned_ responseRetrieve a single canned response by id.
freshdesk_get_ canned_ response_ folderView a canned-response folder and its responses.
freshdesk_get_ custom_ object_ recordRetrieve a single custom-object record.
freshdesk_get_ custom_ object_ schemaRetrieve a custom-object schema (its fields/definition).
freshdesk_list_ canned_ response_ foldersList canned-response folders.
freshdesk_list_ custom_ object_ recordsList records of a custom object.
freshdesk_list_ custom_ object_ schemasList the custom-object schemas defined in the account.
freshdesk_list_ folder_ canned_ responsesList the canned responses in a folder (with full bodies).
freshdesk_update_ canned_ responseUpdate a canned response.
freshdesk_update_ canned_ response_ folderUpdate a canned-response folder (singular path).
freshdesk_update_ custom_ object_ recordUpdate a custom-object record.
freshdesk_create_ email_ mailboxCreate an email mailbox (support address with forwarding or custom mail server settings).
freshdesk_create_ sla_ policyCreate an SLA policy with target response/resolution times per priority.
freshdesk_delete_ email_ mailboxDelete an email mailbox.
freshdesk_get_ business_ hoursRetrieve a single business-hour calendar.
freshdesk_get_ email_ configRetrieve a single email config.
freshdesk_get_ email_ mailboxRetrieve a single mailbox.
freshdesk_get_ productRetrieve a single product.
freshdesk_list_ business_ hoursList business-hour calendars.
freshdesk_list_ email_ configsList email configs (support email addresses) for the account.
freshdesk_list_ email_ mailboxesList configured email mailboxes.
freshdesk_list_ sla_ policiesList SLA policies.
freshdesk_update_ email_ mailboxUpdate an email mailbox.
freshdesk_update_ sla_ policyUpdate an SLA policy.
freshdesk_delete_ conversationDelete a reply or note from a ticket.
freshdesk_delete_ time_ entryDelete a time entry.
freshdesk_list_ ticket_ time_ entriesList time entries logged on a ticket.
freshdesk_list_ time_ entriesList all time entries across the account, with optional filters.
freshdesk_reply_ to_ forwardAdd a reply to a forwarded email thread on a ticket.
freshdesk_toggle_ time_ entry_ timerStart or stop the timer on a time entry.
freshdesk_update_ conversationEdit the body of an existing reply or note.
freshdesk_update_ time_ entryUpdate a time entry.
freshdesk_create_ automation_ ruleCreate an automation rule.
freshdesk_create_ groupCreate an agent group.
freshdesk_create_ skillCreate an Omniroute skill with matching conditions.
freshdesk_delete_ automation_ ruleDelete an automation rule.
freshdesk_delete_ groupDelete an agent group.
freshdesk_delete_ skillDelete an Omniroute skill.
freshdesk_get_ automation_ ruleRetrieve a single automation rule.
freshdesk_get_ skillRetrieve a single skill by id.
freshdesk_list_ automation_ rulesList automation rules of a given type.
freshdesk_list_ skillsList Omniroute skills.
freshdesk_update_ automation_ ruleUpdate an automation rule.
freshdesk_update_ groupUpdate an agent group.
freshdesk_update_ skillUpdate an Omniroute skill.
freshdesk_create_ satisfaction_ ratingSubmit a satisfaction rating on a ticket on behalf of the requester.
freshdesk_get_ helpdesk_ settingsView helpdesk-wide settings (e.g.
freshdesk_list_ satisfaction_ ratingsList all satisfaction (CSAT) ratings across the account, with optional filters.
freshdesk_get_ outbound_ messageRetrieve the status of a previously sent outbound message.
freshdesk_get_ roleRetrieve a single role by id.
freshdesk_list_ rolesList all agent roles in the account.
freshdesk_send_ outbound_ messageSend a proactive outbound message to a customer on a supported channel (e.g.
Credentials off one Freshdesk screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
Paste the Freshdesk domain and API key from your account. Authentication is server-side over HTTPS — no OAuth popup, no re-authentication — and the key is scoped to that one account with the permissions of its agent.
your-company••••••••••••3f7aSet the connection to full access or read-only, choose whether the whole catalog loads or just the defaults, and require approval on writes so a merge, a trashed ticket or a public reply to a customer waits for you.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Freshdesk credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show open tickets past their due date and the agent who owns each
freshdesk_filter_ticketsok
Then just ask for the work
“Show open tickets past their due date and the agent who owns each”
“Move every unassigned billing ticket to the Finance group and add a note”
“Turn ticket 4821's resolution into a new article in the Billing solution folder”
“Which Acme contacts have open tickets, and what was the last reply?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Freshdesk behind an AI client.
Exactly what the agent who owns that key can reach, and nothing outside the single Freshdesk account it belongs to. Call get_current_agent to confirm which agent is behind the connection, and get_account to see the account's details, plan and current usage limits. Because the key carries that agent's permissions, a key taken from a restricted agent gives the connection restricted reach.
filter_tickets, filter_contacts and filter_companies take a Lucene-like query, so something like open, high-priority tickets for one company resolves in a single call instead of paging through list_tickets. search_contacts is a different tool: it is autocomplete on name or email and returns only a handful of matches, so use it for typeahead and filter_contacts when you plan to act on the result. list_ticket_fields and list_contact_fields show the built-in and custom fields configured on your account, so you know what there is to filter on.
Yes. bulk_update_tickets changes up to 100 tickets in a single call and can attach a shared reply or note to all of them. It runs as an asynchronous job, so the agent should follow it with get_job to confirm the work finished rather than assume it did. For anything bigger, split the filter_tickets result into runs of 100.
Both. search_solution_articles looks across published articles by keyword, list_solution_categories, list_category_folders and list_folder_articles walk the tree, and get_solution_article pulls one article in full. Writing goes through create_solution_article, which places a new article in the folder you name — a natural follow-up when the same answer keeps getting retyped into tickets.
Only if you let it. delete_ticket is a soft delete that moves the ticket to trash, merge_tickets folds secondary tickets into a primary one, and forward_ticket and reply_to_ticket put mail in front of real customers. Those are the calls worth holding behind approval-required-for-writes, or removing entirely by setting the connection to read-only, which still leaves every filter, list and get call working.
The server covers 163 operations across 20 API modules, split 75 read and 88 write. Only 41 load by default, which keeps your client's tool list manageable; the rest stay searchable and come in when a request needs them. The biggest modules are Discussions, Solutions, Tickets and Contacts, and you can switch the connection to the full catalog when a workflow needs more than the default set.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 163 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 41-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 163 here. A trigger is something PopMCP watches for you: 19 Freshdesk events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Freshdesk.
Launch a hosted MCP endpoint for Freshdesk, keep tool access under control, and start testing real workflow prompts right away.