# Freshdesk MCP

> Freshdesk MCP Server lets your AI agent manage your entire customer service stack. Use it to list support tickets, get detailed contact profiles, create new tickets, and track agent performance directly through conversation. It gives you full visibility into customer history and helpdesk operations without jumping between tabs.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** ticketing-system, incident-management, customer-relationship-management, support-automation, agent-routing

## Description

Your AI agent can manage your whole customer service stack using the Freshdesk MCP Server. You'll use it to list support tickets, get detailed contact profiles, create new tickets, and track agent performance without jumping between tabs. You get full visibility into customer history and helpdesk operations, period.

**Create and Modify Tickets**

You can use `create_ticket` to open a brand new support ticket. You'll use `update_ticket` to change the status or properties of an existing ticket. You can also get all the deets on a specific issue using `get_ticket_details`, and see the whole thread of messages and notes with `list_ticket_thread`.

**Gather Customer History**

To understand the context behind an issue, you'll use `get_contact_details` to pull up specific customer metadata. You can pull up full company profiles with `get_company_details`, and if you need a general view, you can check out lists of all contacts using `list_helpdesk_contacts` or all companies with `list_helpdesk_companies`.

**Monitor Support Teams**

To check on your team's workload, you can get a list of all active agents with `list_helpdesk_agents` and get specific info on any agent using `get_agent_details`. You can also check the overall operational status of your helpdesk using `check_freshdesk_status`.

**Getting the Goods**

You can get a list of all support tickets currently in the system using `list_tickets`.

## Tools

### check_freshdesk_status
Checks the overall operational status of your helpdesk.

### create_ticket
Opens a brand new support ticket in your system.

### get_agent_details
Retrieves specific metadata about a support agent.

### get_company_details
Retrieves specific metadata about a company or organization.

### get_contact_details
Retrieves specific metadata about a single customer contact.

### get_ticket_details
Retrieves detailed metadata for a single support ticket.

### list_helpdesk_agents
Gets a list of all active support agents on your team.

### list_helpdesk_companies
Gets a list of all client companies registered in the system.

### list_helpdesk_contacts
Gets a list of all individual customer contacts.

### list_ticket_thread
Retrieves all messages and notes exchanged on a specific support ticket.

### list_tickets
Gets a list of all support tickets currently in the system.

### update_ticket
Modifies the status or properties of an existing support ticket.

## Prompt Examples

**Prompt:** 
```
List all open support tickets in my Freshdesk.
```

**Response:** 
```
Retrieving tickets... I found 5 open requests, including 'Broken Login' (Priority: Urgent) and 'Billing Inquiry'. Would you like the full details for the urgent one?
```

**Prompt:** 
```
Show me the conversation thread for ticket '12345'.
```

**Response:** 
```
Fetching thread... For ticket 12345, I found 3 replies and 1 private note. The last update was from Agent Mike stating 'investigating the server logs'.
```

**Prompt:** 
```
Create a new ticket: 'API Access Problem' from 'user@example.com'.
```

**Response:** 
```
Ticket created! I've successfully opened ticket ID 67890 regarding 'API Access Problem' for user@example.com. It has been assigned to the general support queue.
```

## Capabilities

### Create and Modify Tickets
Open a new ticket, or change the status and properties of an existing ticket using the API.

### Gather Customer History
Look up specific customer details or full company profiles to understand the context behind an issue.

### Monitor Support Teams
List support agents and view configured agent groups and routing queues to check team workload.

### Review Ticket Threads
Fetch the entire conversation history, including all replies and internal notes, for a specific support ticket.

## Use Cases

### Investigating a high-priority issue
A customer reports a critical error. You first run `list_tickets` to find the ID. Then, you call `get_ticket_details` and `list_ticket_thread` to pull the full conversation history. Finally, you use `get_contact_details` to verify their company status before updating the ticket's priority via `update_ticket`.

### Onboarding a new client account
You need to create a support ticket for a new user. You use `list_helpdesk_contacts` to find the user's email, then `get_company_details` to confirm the organization's status, and finally, you execute `create_ticket` using all that context.

### Checking agent availability before escalation
A ticket needs immediate attention. You run `list_helpdesk_agents` to see who is online. If no one is available, you check `list_helpdesk_companies` to understand the scope of the client before notifying management.

### Auditing support history for compliance
You need to prove what was said about a specific client. You search by company name (using `list_helpdesk_companies`), then get the contact details (`get_contact_details`), and finally, retrieve the complete record using `list_ticket_thread` for an audit trail.

## Benefits

- List all tickets with `list_tickets` to see the volume and current status. You instantly know what needs attention without opening the dashboard.
- Get full customer context by running `get_contact_details`. You don't just see an email; you see the whole person's history.
- Understand team capacity by calling `list_helpdesk_agents`. You see who's online and who's handling the current helpdesk volume.
- Keep conversations intact by using `list_ticket_thread`. You pull the entire history, including private notes, for context.
- Write or change records with `create_ticket` or `update_ticket`. You can open a new ticket or change its priority without manual steps.
- Know your client base using `list_helpdesk_companies`. You get a list of every organization you support, keeping your view broad.

## How It Works

The bottom line is, your AI agent handles the API calls, letting you manage the entire support workflow without ever leaving your chat interface.

1. Subscribe to the Freshdesk MCP Server on Vinkius and provide your Freshdesk Domain prefix and API Key.
2. Your AI client uses the tools to perform a read operation (e.g., `list_tickets`) to gather necessary metadata.
3. The AI client uses the gathered data to execute a write operation (e.g., `create_ticket`) or update an existing record.

## Frequently Asked Questions

**How do I check the status of my helpdesk with `check_freshdesk_status`?**
It gives you a single confirmation of the overall operational health of your Freshdesk account. This is useful for quickly confirming connectivity before running complex tools.

**Can I use `list_tickets` to find all open issues?**
Yes, `list_tickets` lists all support tickets. The resulting metadata lets you filter and see the current status and priority of every open request.

**What's the difference between `get_contact_details` and `get_company_details`?**
You use `get_contact_details` for an individual person's information. `get_company_details` gives you the whole organization's metadata, which is useful for billing or account-level context.

**How do I create a ticket using `create_ticket`?**
You provide the title, description, and contact email, and the agent handles the API call to open the ticket ID for you. It's a direct command.

**How does `list_ticket_thread` work?**
This tool retrieves the complete, chronological record of all interactions—replies, notes, and messages—attached to a specific ticket ID.

**How do I list the support agents available using `list_helpdesk_agents`?**
It lists all agents configured in your Freshdesk account. This helps you see who is online and who is assigned to specific groups.

**What information does `get_ticket_details` provide?**
It retrieves detailed metadata about a specific ticket. You get the full status, priority, and creation dates right away.

**How do I update ticket properties using `update_ticket`?**
You modify existing ticket properties directly. Use this to change the status or add internal notes without creating a new record.

**How do I get an API Key for Freshdesk?**
Log in to your Freshdesk instance, click on your profile picture in the top-right, and select 'Profile Settings' to find your API Key.

**What is my 'Domain prefix'?**
Your domain prefix is the first part of your Freshdesk URL (e.g. if your URL is 'acme.freshdesk.com', the prefix is 'acme').

**Can I see private notes on a ticket?**
Yes, the 'list_ticket_thread' tool retrieves all interactions associated with a ticket, including public replies and private notes for full agent context.

**Is it possible to filter tickets by status?**
Yes, the 'list_tickets' tool accepts an optional 'filter' parameter (e.g., 'open', 'pending') to help you focus on specific sets of requests.