# Groove MCP connector

The Groove connector brings your help desk tickets, customer conversations, mailboxes, agents, groups, and knowledge bases to Claude, ChatGPT, Cursor, and the Elaichi Agent, where each person works inside their own Groove access and every action is logged.

Source: https://elaichi.ai/connectors/groove/

## Facts

| | |
| --- | --- |
| Application | Groove |
| Category | Helpdesk |
| AI tools | 73 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 73 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Groove is connected

- Summarize open Groove tickets in the Support mailbox today.
- Which Groove agents have the most unresolved tickets this week?
- List Groove customers with more than three tickets this month.

## Connect Groove in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Groove.
2. Optionally set Share with, then press Connect.
3. Supply your own Groove app, then approve. Groove needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Groove tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Groove to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Groove to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Groove to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Groove to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Groove tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Groove through Elaichi

### Reply to a ticket from your chat window

Support. Pull up a Groove ticket, read the thread so far, and send the reply as a new message on that ticket without switching tabs.

### See what is waiting in each mailbox

Support. Ask for the ticket counts across your Groove mailboxes and folders at the start of a shift and see where the backlog actually is.

### Catch up on a customer before a call

Customer success. Pull the customer's Groove record together with their past tickets and messages so you know their history before you dial.

### Open a ticket after a handoff

Sales. When a prospect raises a problem during a demo, create the Groove ticket with the details and the right mailbox so support picks it up.

### Reshuffle groups when the roster changes

Support leads. List your Groove agents, then create or update groups as people join, leave, or move between queues.

### Keep knowledge bases tidy

Knowledge. Review the knowledge bases in Groove, create a new one for a product line, and rename or retire the ones nobody uses.

## Frequently asked questions

### How do I connect Groove to Claude?

Connecting Groove to Claude takes two steps. First, connect Groove in Elaichi: because Groove connects over OAuth, you register an OAuth application inside your Groove account, paste its client ID and secret into Elaichi once, and then sign in to Groove as yourself. Second, in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. That is the same address for every Elaichi customer, and Groove is ready once you have signed in.

### Does Groove work with ChatGPT and Cursor as well as Claude?

Yes. Once Groove is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Groove once and every client you use picks it up.

### What can an AI agent actually do with my Groove data?

An AI agent connected to Groove can look up tickets and read the messages on them, create new tickets and send replies, find a customer and update their details, and check ticket counts across your mailboxes and folders. It can also list your agents, create and change groups, and create, rename, or remove knowledge bases. Because Groove has a large set of actions, short concrete asks such as "show me open tickets in the billing mailbox" work better than long paragraphs.

### Does connecting Groove give the AI access to every mailbox?

No. Access to Groove follows the person who signed in, so the AI can only see the mailboxes, tickets, and customers that person can already see in Groove. Elaichi can narrow that further by turning off individual actions for a team, but it can never widen it beyond what the person's own Groove permissions allow.

### Can my team share one Groove connection?

Yes. One person connects Groove in Elaichi and shares the connection with a team, and nobody else ever handles the Groove client ID, secret, or password. Each teammate still signs in to Elaichi as themselves, so every ticket reply or customer update in the audit log is recorded under the name of the person who made it.

### Can I stop an agent from deleting or changing things in Groove?

Yes. In Elaichi, restrictions apply per action, so you can allow reading and replying to Groove tickets while blocking deleting groups or knowledge bases, or updating customer records. A blocked action is never shown to Claude, ChatGPT, Cursor, or any other client at all, so no prompt, accidental or otherwise, can reach it.

### What happens to a Groove connection when someone leaves?

When you offboard a person in Elaichi, their access to Groove through every client ends at once. If they had shared a Groove connection with a team, that connection keeps working for everyone else. Disconnecting Groove once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client in one step.

## All 73 Groove tools

Every tool below is callable through https://api.elaichi.ai/mcp once Groove is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Groove tickets** (List). List tickets in Groove. Returns fields such as number, created_at, updated_at, summary, tags, message_count, and links for each ticket.
- **Get single Groove ticket by ID** (Get). Get a specific ticket in Groove by id. Returns fields such as number, title, status links, assigned_group, created_at, updated_at, and summary.
- **Create a Groove ticket** (Create). Create a new ticket in Groove. Requires body, from, and to. Returns ticket number, href, and links to assignee, customer, state, and messages.
- **List all Groove messages** (List). List all messages for a given ticket_number in Groove. Returns message details including created_at, updated_at, note, body, plain_text_body, href, and links information.
- **Get single Groove message by ID** (Get). Get details of a specific message in Groove using id. Returns created_at, updated_at, note, body, plain_text_body, and related links for author, recipient, and ticket.
- **Create a Groove message** (Create). Create a new message in Groove for a specific ticket using ticket_number. Requires body. Returns message details including id, body, author, and sent_at.
- **List all Groove customers** (List). List customers in Groove. Returns key fields including href (resource URL), email, name, company_name, phone_number, and related ticket links.
- **Get single Groove customer by ID** (Get). Get details about a specific customer in Groove using id. Returns href, links, email, name, contact info, and custom fields for the customer.
- **Update a Groove customer by ID** (Update). Update a customer's information in Groove using id (email). Returns updated customer fields such as email, name, about, company_name, phone_number, and any custom attributes.
- **List all Groove ticket counts** (List). List ticket counts in Groove grouped by folder ID. Returns folder IDs as keys and ticket counts as integer values.
- **List all Groove mailboxes** (List). List all mailboxes in Groove. Returns id, name, email, and related folder links for each mailbox.
- **List all Groove folders** (List). List all folders in Groove. Returns folder id and name for each folder.
- **List all Groove agents** (List). List agents in Groove. Returns key fields such as email, first_name, last_name, href, and ticket links for each agent.
- **Get single Groove agent by ID** (Get). Get information about a specific agent in Groove using id (agent email). Returns email, first_name, last_name, href, and related tickets link.
- **List all Groove groups** (List). List all groups in Groove. Returns each group's id, name, and related agents link in the response.
- **Get single Groove group by ID** (Get). Get information about a specific group in Groove using id. Returns fields including id, name, description, agent_ids, and related agents link.
- **Create a Groove group** (Create). Create a new group in Groove using the required name parameter. Returns group details including id, name, description, agent_ids, and related links in the response.
- **Update a Groove group by ID** (Update). Update a specific group in Groove using id. Returns id, name, description, agent_ids, and links with agents href in the response.
- **Delete a Groove group by ID** (Delete). Delete a specific group in Groove using id. Returns the group's id, name, description, links to related agents, and agent_ids in the response.
- **List all Groove knowledge bases** (List). List all knowledge bases in Groove. Returns fields such as id, title, created_at, enabled, subdomain, and site_url for each knowledge base.
- **Get single Groove knowledge base by ID** (Get). Get details of a specific knowledge base in Groove using id. Returns fields such as title, site_url, language, created_at, and enabled status for the knowledge base.
- **Create a Groove knowledge base** (Create). Create a new knowledge base in Groove using required parameters: subdomain, title, and theme_id. Returns id, title, subdomain, site_url, and created_at fields representing the created knowledge base.
- **Update a Groove knowledge base by ID** (Update). Update a specific knowledge base in Groove. Requires id. Returns fields such as id, title, language, subdomain, site_url, theme_id, and updated_at that describe the updated knowledge base details.
- **Delete a Groove knowledge base by ID** (Delete). Delete a specific knowledge base in Groove using id. Returns a 204 No Content response upon successful deletion.
- **List all Groove knowledge base themes** (List). List available knowledge base themes in Groove. Returns id, name, description, screenshot_url, created_at, and updated_at for each theme.
- **List all Groove knowledge base settings** (List). Get knowledge-base-settings in Groove for a specific knowledge_base_id. Returns key appearance and configuration fields including primary_color, primary_font_type, heading, and published status.
- **Update a Groove knowledge base setting by ID** (Update). Update knowledge base settings in Groove for a specific knowledge base using id. Returns updated fields such as primary_color, secondary_color, primary_font_type, background_scaling, branding_disabled, ratings_enabled, help_count_enabled, contact_support_enabled, ratings_type, heading, subheading, search_input, contact_support_mailbox_id, and published.
- **Groove knowledge base settings publish** (Publish). Publish knowledge base settings in Groove using id. Returns settings including primary_color, font types, branding options, ratings configurations, and publishing status in the response.
- **Groove knowledge base settings revert** (Action). Revert knowledge-base-settings for a specific knowledge_base_id in Groove. Returns key theme and layout fields such as primary_color, font settings, and publication status.
- **Groove knowledge base settings resetting** (Action). Reset knowledge base settings to defaults in Groove. Requires knowledge_base_id. Returns fields such as primary_color, font types, and display settings reflecting default configuration.
- **List all Groove knowledge base translations** (List). Get a specific knowledge base translation in Groove using knowledge_base_id and locale. Returns localized strings including article titles, category names, error messages, and contact form labels.
- **Update a Groove knowledge base translation by ID** (Update). Update knowledge base translations in Groove for a specific knowledge_base_id and locale. Returns user object containing updated translation fields such as article_suggestions.
- **Delete a Groove knowledge base translation by ID** (Delete). Delete a specific knowledge base translation in Groove. Requires knowledge_base_id, locale, and id. Removes the translation entry and related localized content fields from the specified knowledge base.
- **Groove knowledge base translations resetting** (Action). Reset a translation for a specific locale in Groove knowledge base. Requires knowledge_base_id and locale. Returns updated translation details including status reflecting the reset operation.
- **List all Groove attachments** (List). List attachments for a specific message in Groove. Requires message. Returns filename, size, and url for each attachment.
- **Create a Groove webhook** (Create). Create a new webhook in Groove. Requires event and url. Returns the webhook object including event (trigger type), url (callback endpoint), and state (current status).
- **Delete a Groove webhook by ID** (Delete). Delete a specific webhook in Groove using id. Returns no content on success (204 No Content).
- **List all Groove widgets** (List). List all widgets in Groove. Returns each widget's id, name, uuid, created_at, updated_at, and published_settings fields for configuration and identification.
- **Get single Groove widget by ID** (Get). Get details of a specific widget in Groove using id. Returns id, name, created_at, updated_at, uuid, and published_settings containing configuration and display information.
- **Create a Groove widget** (Create). Create a new widget in Groove. Requires name. Returns id, name, uuid, created_at, updated_at, and published_settings in the response.
- **Update a Groove widget by ID** (Update). Update a widget in Groove using id. Requires id and name. Returns id, name, created_at, updated_at, uuid, and published_settings fields describing widget configuration and status.
- **Delete a Groove widget by ID** (Delete). Delete a specific widget in Groove. Requires id. The response confirms the deletion status of the widget.
- **List all Groove widget settings** (List). Get widget settings in Groove using id. Returns configuration details such as branding_disabled, enabled, icon_display, widget_style, and published fields representing the widget's display and behavior.
- **Update a Groove widget setting by ID** (Update). Update widget-settings in Groove for a specific widget using id. Returns fields like branding_disabled, contact.name_field_enabled, icon_display, widget_style, and z_index to confirm updated configuration values.
- **Groove widget settings publish** (Publish). Publish widget settings in Groove for a specific widget using id. Returns fields showing widget configuration such as branding_disabled, contact.name_field_enabled, icon_style, widget_style, and published status.
- **Groove widget settings revert** (Action). Revert widget-settings in Groove to their last published state using id. Returns settings fields such as branding_disabled, icon_display, widget_style, and published that define the widget's configuration.
- **Groove widget settings reset** (Action). Reset widget-settings in Groove to their default values using id. Returns fields like branding_disabled, icon_display, widget_style, and published indicating the widget’s configuration state.
- **List all Groove categories search** (List). Search categories in Groove by keyword within a knowledge_base_id. Requires keyword. Returns categories with id, title, description, featured, articles_count, and position fields.
- **List all Groove articles search** (List). Search articles in Groove using keyword in a specific knowledge_base_id. Returns fields like id, title, description, author_name, tags, and category_id.
- **Create a Groove articles rating** (Create). Create a rating for an article in Groove. Requires slug. Returns helpful_ratings_count and total_ratings_count showing the article’s feedback metrics.
- **List all Groove ticket state** (List). Get the current state of a specific ticket in Groove using ticket_number. Returns the state field indicating whether the ticket is unread, read, or otherwise.
- **Update a Groove ticket state by ID** (Update). Update ticket-state for a specific ticket in Groove. Requires id as ticket_number and state as the new value (unread, opened, pending, closed, or spam). Returns updated ticket information including its new state and related metadata.
- **List all Groove ticket assignee** (List). Get the assignee of a specific ticket in Groove using ticket_number. Returns agent details including email, first_name, last_name, and href.
- **Update a Groove ticket assignee by ID** (Update). Update ticket-assignee in Groove by assigning a ticket identified by ticket_number to a specified agent using their email. Returns updated assignee details and related ticket information.
- **Create a Groove ticket label** (Create). Add labels to a specific ticket in Groove. Requires ticket_number and a list of tags. Returns the updated tags and tag_ids for the ticket in the response.
- **Update a Groove ticket label by ID** (Update). Replace all ticket-labels for a specific ticket in Groove. Requires ticket_number. Returns the updated list of labels applied to the ticket.
- **Create a Groove mailbox change** (Create). Change the mailbox of a specific ticket in Groove. Requires ticket_id and mailbox_id. Returns 204 No Content confirming the mailbox reassignment.
- **Create a Groove knowledge base category** (Create). Create a new knowledge-base-category in Groove for the specified knowledge_base_id. Returns id, title, description, slug, state, created_at, and other metadata fields in the response.
- **Get single Groove knowledge base category by ID** (Get). Get a specific knowledge base category in Groove using knowledge_base_id and id. Returns fields like title, description, state, and position to describe the category’s status and structure.
- **Update a Groove knowledge base category by ID** (Update). Update a knowledge-base-categories in Groove using knowledge_base_id and id. Returns category details including id, title, description, slug, articles_count, state, created_at, and updated_at.
- **Delete a Groove knowledge base category by ID** (Delete). Delete a specific knowledge-base-categories resource in Groove using knowledge_base_id and id. Returns confirmation of successful deletion.
- **Groove knowledge base categories revert** (Action). Revert a specific knowledge-base-category in Groove. Requires knowledge_base_id and id. Returns fields like title, slug, state, and timestamps indicating the reverted category's state.
- **Groove knowledge base categories publish** (Publish). Publish a specific knowledge-base-categories in Groove. Requires knowledge_base_id and id. Returns fields like id, title, state, published_at, and articles_count to confirm publication status.
- **Groove knowledge base categories unpublish** (Action). Unpublish a specific knowledge-base-category in Groove. Requires knowledge_base_id and id. Returns fields such as id, title, state, published_at, and articles_count indicating the category’s unpublishing status and details.
- **List all Groove knowledge base categories search** (List). Search categories in Groove by keyword for a specific knowledge_base_id. Requires keyword and knowledge_base_id. Returns category fields such as id, title, state, and articles_count in the response.
- **Create a Groove knowledge base article** (Create). Create a new knowledge-base-article in Groove for a given knowledge_base_id. Returns fields like id, title, description, slug, state, featured, and timestamps in the response.
- **Get single Groove knowledge base article by ID** (Get). Get details about a specific knowledge-base-article in Groove using knowledge_base_id and id. Returns fields such as title, state, author_id, created_at, and published_at for the article.
- **Update a Groove knowledge base article by ID** (Update). Update a specific knowledge-base-article in Groove using knowledge_base_id and id. Returns the article object with fields such as id, title, category_id, state, published_at, updated_at, and author_id.
- **Delete a Groove knowledge base article by ID** (Delete). Delete a specific knowledge-base-article in Groove using knowledge_base_id and id. Permanently removes the article and returns no content in the response.
- **Groove knowledge base articles publish** (Publish). Publish a specific knowledge-base-article in Groove using knowledge_base_id and id. Returns article fields including id, title, state, published_at, and updated_at to confirm publication status.
- **Groove knowledge base articles unpublish** (Action). Unpublish a specific knowledge-base-article in Groove. Requires knowledge_base_id and id. Returns fields like id, title, state, and published_at indicating the article’s unpublish status.
- **Groove knowledge base articles revert** (Action). Revert a specific knowledge-base-article in Groove using knowledge_base_id and id. Returns article details including id, title, state, created_at, updated_at, and related metadata fields.
- **List all Groove knowledge base articles search** (List). Search knowledge base articles in Groove by keyword. Requires knowledge_base_id and keyword. Returns article fields including id, title, state, featured, and updated_at for each matching article.
