# Groove MCP

> Groove MCP Server manages your customer support operations. List tickets, update status, and manage conversations directly through your AI client. Use `get_customer` to pull history, `create_message` to reply, and `update_ticket_state` to keep your inbox organized.

## Overview
- **Category:** communication-messaging
- **Price:** Free
- **Tags:** shared-inbox, ticket-management, customer-service, support-automation, helpdesk-api, conversation-tracking

## Description

Groove MCP Server lets your AI client manage your whole customer support operation. You'll list all support tickets and pull detailed summaries of specific conversations. You can also create a new ticket in the helpdesk system. To reply to a ticket, use `create_message` to send a public reply to the customer or a private internal note. You'll use `update_ticket_state` to change a ticket's status—mark it open, pending, or closed—keeping your inbox organized. When you need customer background, run `get_customer` with an email to pull all their details and complete contact history. To track what's going on with a specific ticket, run `get_ticket` for all details using its ticket number, or run `list_messages` to see every message and comment attached to that ticket. You can list all active agents with `list_agents` and pull specific productivity metrics for any team member using `get_agent` and their email. You'll list every configured support mailbox with `list_mailboxes` to coordinate support across different channels. You can also list all existing customer records with `list_customers` or pull a comprehensive list of every support ticket in the account using `list_tickets`.

## Tools

### create_message
Adds a public reply or a private internal note to an existing support ticket.

### create_ticket
Initiates a new support ticket in the helpdesk system.

### get_agent
Retrieves detailed information for a specific agent using their email address.

### get_customer
Retrieves all details for a customer, including their full contact history, using their email.

### get_mailbox
Gets details for a specific support mailbox using its unique ID.

### get_ticket
Retrieves all details for a single ticket using its unique ticket number.

### list_agents
Lists every active agent currently set up in the Groove account.

### list_customers
Lists all customer records within the Groove account.

### list_mailboxes
Lists every configured mailbox used for receiving support tickets.

### list_messages
Lists all messages and comments associated with a specific ticket.

### list_tickets
Retrieves a comprehensive list of all support tickets in the account.

### update_ticket_state
Changes the status of a ticket, such as marking it as open, pending, or closed.

## Prompt Examples

**Prompt:** 
```
List my open tickets in Groove
```

**Response:** 
```
Retrieving your open tickets... I found 5 tickets requiring attention, including #402: 'Billing Inquiry' and #405: 'Login Issue'. Would you like me to summarize the latest message for the login issue?
```

**Prompt:** 
```
Show the messages for ticket #405
```

**Response:** 
```
Fetching conversation history... Ticket #405 contains 3 messages. The customer reported they cannot reset their password. There is also an internal note from Agent Sarah mentioning a potential database sync delay.
```

**Prompt:** 
```
Reply to ticket #402: 'Your refund has been issued and should appear in 3-5 days'
```

**Response:** 
```
Sending reply... Success! I've posted the message to Ticket #402 informing the customer about their refund. The ticket state remains 'pending'. Should I mark it as closed?
```

## Capabilities

### Track ticket status and history
List all open tickets and retrieve detailed summaries of specific conversations.

### Reply and annotate tickets
Draft and send both public replies to customers and private internal notes on a ticket.

### Change ticket status
Update a ticket's state—mark it opened, pending, or closed—to accurately reflect its current status.

### Find customer context
Retrieve a customer's full profile, including their complete contact history, using their email.

### Audit agent performance
List all support agents and pull specific productivity metrics for individual team members.

### Manage support channels
List and inspect all configured mailboxes to coordinate support across different channels.

## Use Cases

### Resuming a high-priority, old ticket
A CSM gets a message about an old billing issue. Instead of navigating to the dashboard, they ask the agent to run `get_customer` by email, pull the history, and then use `get_ticket` to fetch the specific ticket details. They can then use `create_message` to draft the resolution and `update_ticket_state` to close it, all in one chat session.

### Auditing a team's response quality
A Support Lead needs to check if agents followed protocol. They ask the agent to run `list_agents` and then `get_agent` for specific team members. They can then use `list_messages` on specific tickets to audit who wrote what and when, without logging into the internal reporting tool.

### Handling a cross-channel inquiry
A small business owner gets a message that looks like a ticket but isn't. They ask the agent to run `create_ticket` right away. They then use `list_mailboxes` to ensure the correct channel is associated with the new ticket, centralizing the issue from the start.

### Pulling context for a new conversation
The agent needs to reply to a customer, but the customer's email was misspelled. They first run `get_customer` with the available info to verify the correct profile. Once confirmed, they use `get_ticket` and `create_message` to reply accurately.

## Benefits

- **Audit Agent Work:** Use `list_agents` and `get_agent` to list all team members and pull specific productivity data. This gives you immediate oversight into agent performance.
- **Know the Customer:** Never guess who you're talking to. `get_customer` pulls the full profile and contact history for any customer by email, instantly providing context.
- **Control the Workflow:** Need to change a ticket's status? `update_ticket_state` lets you mark tickets as opened, pending, or closed directly through natural conversation.
- **Keep the Conversation Going:** Use `create_message` to send replies or private notes. You don't have to switch tabs to write a follow-up or an internal comment.
- **Coordinate Support:** `list_mailboxes` lets you check all configured support inboxes, ensuring you cover all channels when managing multi-channel support.
- **Process New Issues:** If a customer comes in without a ticket, use `create_ticket` to generate a new record immediately.

## How It Works

The bottom line is that you control your helpdesk system entirely through chat commands, without needing to open the main Groove dashboard.

1. Subscribe to the Groove MCP Server and provide your API Access Token.
2. Your AI client connects to the server, which authenticates your account with Groove.
3. You issue a natural language command (e.g., 'List my open tickets'), and the server executes the corresponding tool call, returning the structured data.

## Frequently Asked Questions

**How do I use the `list_tickets` tool to find open tickets in Groove?**
The `list_tickets` tool retrieves a summary of all tickets. If you want only open ones, you must specify that filter in your natural language prompt. You can then follow up with `list_messages` on a specific ticket number to read the latest conversation.

**Can I use `get_customer` to find a customer's last contact history?**
Yes. The `get_customer` tool pulls the complete contact history for a given email. This is essential context before you use `create_message` to reply, ensuring you address all past issues.

**What is the difference between `create_message` and `create_ticket`?**
`create_ticket` starts the process by generating a new record. `create_message` adds content to an existing ticket. You must run `create_ticket` first if the issue doesn't have a record yet.

**How do I mark a ticket as closed using `update_ticket_state`?**
You must provide the ticket number and the target status (e.g., 'closed'). The `update_ticket_state` tool changes the status, and you'll get confirmation that the record was successfully updated.

**How do I list all available agents in my account using the `list_agents` tool?**
The `list_agents` tool retrieves a list of all agents configured in your Groove account. This lets you see who's active and get basic details on every user.

**What is the difference between `get_ticket` and `list_tickets`?**
Use `list_tickets` to get a summary of multiple tickets, while `get_ticket` pulls all specific details for one ticket by its number. It's for bulk viewing versus deep dives.

**Can I use `list_messages` to see the full history of a ticket?**
Yes, `list_messages` pulls every message and internal comment associated with a specific ticket. You'll get the complete conversation thread, including customer replies and agent notes.

**How do I get a customer's full contact history using `get_customer`?**
The `get_customer` tool provides a full profile, including all past contact interactions and historical data for that customer. You'll see everything they've talked about with you.

**Can my agent create an internal note instead of replying to the customer in Groove?**
Yes. When using the 'create_message' tool, you can specify that the message is an internal note. The agent will then post it privately within the ticket flawlessly, visible only to your team.

**How do I update the status of a ticket to 'closed' via chat?**
You can use the 'update_ticket_state' tool. Provide the Ticket Number and set the state parameter to 'closed'. Your agent will then organize your inbox by resolving the ticket programmatically flawlessy.

**Can I list all support agents to check who is assigned to a ticket through the agent?**
Absolutely. Use the 'list_agents' tool. Your agent will retrieve a full list of support staff, allowing you to audit assignments or identify the primary owner of any customer conversation natively.