# Qualified MCP connector

The Qualified connector brings website leads, visitor sessions, chat conversations, and booked meetings into Claude, ChatGPT, Cursor, and the Elaichi Agent, so each person can ask about pipeline and act inside their own Qualified access.

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

## Facts

| | |
| --- | --- |
| Application | Qualified |
| Category | Marketing Automation |
| AI tools | 24 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once Qualified is connected

- Summarize this week's new leads from Qualified.
- List meetings booked from conversations this month.
- Which companies had the most sessions this week.

## Connect Qualified in Elaichi

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

1. Open Connections, choose Add connection, and pick Qualified.
2. Optionally set Share with, then press Connect.
3. Paste a Qualified API key. One person generates a token in Qualified and pastes it once. Everyone else works through Share with, and never sees it.

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

## Connect Qualified 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 Qualified 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 Qualified 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 Qualified 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 Qualified 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 Qualified through Elaichi

### Read the chat before the call

Sales. Pull up everything a lead said to the bot and to a rep on the website, then walk into the meeting knowing what they asked about and which pages they visited.

### Find the leads worth chasing today

Sales Development. Ask for the leads who chatted this week but never booked a meeting, see their company and session history, and decide who to follow up with first.

### Learn what visitors actually ask

Marketing. Review bot conversations and messages from the last campaign to see the questions that came up most, then fix the page or the bot script.

### Load leads and companies in bulk

Revenue Operations. Create new leads and companies from a list after an event, or start a bulk job for a large upload, without hand-entering each record in Qualified.

### See meetings booked and meetings lost

Sales Leadership. Get a plain summary of meetings booked through the website this month, which reps took them, and which ones were canceled.

### Handle a data deletion request

Privacy and Compliance. When a visitor asks to be forgotten, look up their lead and conversations and file the deletion request in Qualified with a record of who did it.

## Frequently asked questions

### How do I connect Qualified to Claude?

First connect Qualified in Elaichi by pasting an API key from your Qualified account. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. There is no OAuth application to register in Qualified and no client ID or secret to generate.

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

Yes. Once Qualified 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 Qualified once and use it everywhere.

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

It can look up leads and companies, read the chat conversations and messages visitors had with your bot or your reps, review website sessions and emails, and list or cancel meetings booked through Qualified. It can also create new leads and companies, run a bulk upload, and file a GDPR deletion request. It cannot do anything in Qualified that you have not allowed.

### Does connecting Qualified give the AI access to every lead and conversation in my account?

No. Every request runs inside the Qualified access of the person who signed in, so the AI sees only the leads, conversations, and meetings that person can already see in Qualified. Elaichi can narrow that access further with restrictions, and it can never widen it.

### Can my team share one Qualified connection?

Yes. One person connects Qualified in Elaichi and shares the connection with a team, and nobody else ever handles the API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every lead lookup or meeting change in Qualified.

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

Yes. In Elaichi you restrict actions one by one, so you can allow reading Qualified leads and conversations while blocking meeting cancellations, meeting deletions, or GDPR deletion requests. A blocked action is never shown to Claude, ChatGPT, or Cursor at all, so no prompt can reach it.

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

Offboarding that person in Elaichi ends their access to Qualified through every AI client at once. A shared Qualified connection keeps working for everyone else on the team. If you want to remove Qualified entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

## All 24 Qualified tools

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

- **List all Qualified leads** (List). List Qualified leads, newest first, with their custom field values and CRM integration IDs. Returns: id, email, fields, createdAt, updatedAt, visitorIds, salesforceLeadId, salesforceContactId, pardotProspectId, marketoLeadId, hubspotContactId, eloquaContactId. Filter by time windows (updated_after/updated_before or created_after/created_before) or look up a single person with email. Leads appear…
- **Get single Qualified lead by ID** (Get). Get a single Qualified lead by id. Lead ids come from the list endpoint, from an email's leadId, or by matching an activity's visitorId against a lead's visitorIds. Returns: data. Required: id.
- **Create a Qualified lead** (Create). Create or update a Qualified lead, matched by email address. Only the field values you send are written; others are left untouched. Returns the lead object directly (not wrapped in a data envelope) including id, email, fields, createdAt, updatedAt, visitorIds, salesforceLeadId, salesforceContactId, pardotProspectId, marketoLeadId, hubspotContactId, eloquaContactId. Required: email.
- **Create a Qualified company** (Create). Create or update a Qualified company by domain, setting account-level field values that every lead on that domain inherits. Returns: id, domain, name, fields, createdAt, updatedAt. Only account-category fields are accepted; companies cannot be read back via a GET endpoint. Required: domain.
- **Get single Qualified bulk job by ID** (Get). Get a bulk job. Returns: job. Required: id.
- **Create a Qualified bulk job** (Create). Submit a bulk job to Qualified for asynchronous processing of up to 500 create-or-update operations on leads or companies. Returns: id, status, totalRecords, processedRecords, failedRecords, result, createdAt, updatedAt. Only the POST action and lead/company entities are supported; max 500 items per batch. Required: items.
- **List all Qualified sessions** (List). List website sessions in Qualified, ordered newest-first by endedAt. Returns: id, createdAt, endedAt, visitorId, visitor, userAgent, conversationIds, pageViews, meetingIds. Filter with ended_after/ended_before and visitor_id. Sessions appear in list results 30 minutes after they end; a bound inside that hold is rejected with 400.
- **Get single Qualified session by ID** (Get). Get a single Qualified session by id. Returns: data. By-id reads are not subject to the 30-minute list hold-back and always return the latest data. Required: id.
- **List all Qualified conversations** (List). List engaged chat conversations in Qualified, newest first. Returns: id, sessionId, meetingIds, experienceName, createdAt, endedAt, userId, visitorId. Conversations become available in this list 30 minutes after the session ends; window with ended_after and ended_before.
- **Get single Qualified conversation by ID** (Get). Get a single Qualified conversation by id. Returns: data. Returns 404 if the conversation is not engaged. Required: id.
- **List all Qualified messages** (List). List messages across all engaged conversations in Qualified, newest first. Returns: id, type, text, createdAt, senderType, senderName, conversationId. Messages become available 30 minutes after their session ends; event-type messages are excluded. Supports created_after/created_before and updated_after/updated_before time-window filters (updated_* behaves identically to created_* since messages…
- **Get single Qualified message by ID** (Get). Get a single message by id in Qualified. Returns: data. Event-type messages return 404. Required: id.
- **List all Qualified meetings** (List). List meetings in Qualified, newest first. Returns each meeting with id, visitorId, sessionId, conversationId, attendees, meetingTypeName, status, channel, createdAt, and updatedAt. Filter by created_after/created_before, updated_after/updated_before, or visitor_id. Meetings appear in list results 24 hours after creation; use the get-by-id endpoint for real-time reads.
- **Get single Qualified meeting by ID** (Get). Get a single Qualified meeting by id. Returns: data. A by-id read is not subject to the 24-hour list hold-back and returns the latest data. Required: id.
- **Qualified meetings cancel** (Cancel). Cancel a meeting. Returns: message. Required: salesforce_event_id.
- **Delete a Qualified meeting by ID** (Delete). Cancel a booked meeting in Qualified by its Salesforce Event ID. Returns: message. Required: id, salesforce_event_id. Requires the meetings API to be enabled for the team.
- **List all Qualified emails** (List). List outbound email activity sent from Qualified, newest first. Only sent and bounced mailings are included. Returns: id, parentEmailId, subject, provider, status, leadId, campaignName, senderEmail, recipientEmail, body, mailingType, sentAt, openedAt, repliedAt, clickedAt, bouncedAt, bounceType, createdAt, updatedAt. Filter by lead_id or window with created_after/created_before and…
- **Get single Qualified email by ID** (Get). Get a single outbound email activity by id in Qualified. Returns: data. Reads by id are always current, bypassing the 30-minute availability hold that applies to list results. Required: id.
- **List all Qualified bot conversations** (List). List bot conversations from the Qualified legacy reporting API, each with nested visitor, user, messages, meetings, calls, and AI goals. Returns: id, started_at, ai_started_at, ai_captured_email, visitor, bot, rep_conversation_id, salesforce_lead_captured_by_bot, pardot_prospect_captured_by_bot, marketo_lead_captured_by_bot, eloqua_contact_captured_by_bot, meetings, messages, ai_goals, user,…
- **List all Qualified rep conversations** (List). List rep conversations. Returns: id, started_at, visitor, user, bot_conversation_id, salesforce_lead_captured_by_rep, pardot_prospect_captured_by_rep, marketo_lead_captured_by_rep.
- **List all Qualified lead fields** (List). List custom field definitions for leads in Qualified so you can map API names to types when ingesting the fields object. Returns: id, label, type, name, options, createdAt, updatedAt.
- **List all Qualified company fields** (List). List custom field definitions for companies (account category) in Qualified. Returns: id, label, type, name, options, createdAt, updatedAt. The `name` field is the API key used when setting values in a company's `fields` object.
- **List all Qualified conversation messages** (List). List messages in a Qualified conversation, newest first. Returns: id, type, text, createdAt, senderType, senderName, conversationId. Event-type messages are excluded. Required: conversation_id.
- **Create a Qualified gdpr deletion request** (Create). Submit a batch of email addresses for GDPR deletion in Qualified. Returns: message. Required: emails. Up to 5,000 emails per request; every address must be well-formed or the entire request is rejected.
