# Salesloft MCP connector

The Salesloft connector brings accounts, people, calls, notes and meetings into Claude, ChatGPT, Cursor and the Elaichi Agent, so each rep works their pipeline from any client inside their own Salesloft access, with every action logged.

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

## Facts

| | |
| --- | --- |
| Application | Salesloft |
| Category | Sales Enablement |
| AI tools | 52 |
| Authentication | Connects with an API key |
| Bring 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 | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Salesloft is connected

- Log a note on the Acme account from today's call
- Which accounts moved stage this week?
- Summarize yesterday's calls with Northwind for me

## Connect Salesloft in Elaichi

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

1. Open Connections, choose Add connection, and pick Salesloft.
2. Optionally set Share with, then press Connect.
3. Paste a Salesloft API key. One person generates a token in Salesloft 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 Salesloft tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Salesloft MCP connector for 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.

## Salesloft MCP connector for 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.

## Salesloft MCP connector for 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 Salesloft 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 Salesloft 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 Salesloft through Elaichi

### Catch the account up after a call

Sales. Ask for the Salesloft account you just spoke with, log the call, and add a note with what was agreed. The record is current before the next meeting starts.

### Prep a call list in plain language

Sales development. Pull the people at a set of target accounts, read the last notes and call history for each, and walk in knowing what was said last time.

### Review pipeline movement by account stage

Sales leadership. Ask which Salesloft accounts changed stage this week and what activity sits behind each move, without opening a single record by hand.

### Keep account records clean and consistent

Revenue operations. Find accounts with missing fields or the wrong stage, then correct them in one pass. Every change is written back to Salesloft under the name of the person who asked for it.

### Hand off a closed account with full context

Customer success. Gather the notes, calls and meetings on an account into a handoff summary, then create a calendar event for the kickoff.

### Check what sales actually said to a segment

Marketing. Read the activity history and notes across accounts from a campaign and see which talking points reps are using and which ones never come up.

## Frequently asked questions

### How do I connect Salesloft to Claude?

Connect Salesloft in Elaichi by pasting a Salesloft API key from your Salesloft settings. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in to Elaichi when Claude asks and Salesloft is available in the conversation.

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

Yes. Once Salesloft 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 Salesloft once and every client you use picks it up.

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

It can look up Salesloft accounts and people, read and write notes, log calls and activities, list and update meetings, and create calendar events. It can also create, update and delete accounts and move them between account stages. Short, concrete asks such as "log a note on the Acme account" tend to work better than long paragraphs.

### Does connecting Salesloft give the AI everything in my team's workspace?

No. Each person signs in to Elaichi as themselves, and every Salesloft action runs inside what that person is already allowed to see and change. Elaichi can narrow that access further with per-tool restrictions, and it can never widen it beyond what Salesloft itself grants.

### Can my team share one Salesloft connection?

Yes. One person connects Salesloft with an API key and shares the connection with a team in Elaichi, and nobody else ever handles the key. Each teammate still signs in as themselves, so the audit log names the actual person behind every Salesloft note, call or account change.

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

Yes. Restrictions in Elaichi work per action, so you can allow reading Salesloft accounts and notes while blocking deletes or updates. A restricted action is never advertised to Claude, ChatGPT or any other client, so no prompt, however worded, can reach it.

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

Offboarding that person in Elaichi ends their Salesloft access at once, in every client they used. A shared Salesloft connection keeps working for everyone else on the team. If you want the connector gone entirely, disconnecting Salesloft once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

### Does the Salesloft MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Salesloft is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 52 Salesloft tools

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

- **List all Salesloft me** (List). Fetch the authenticated Salesloft user's information. Returns: id, guid, name, email. Accepts no parameters; use the Users resource for information about other users on the team.
- **List all Salesloft team** (List). Fetch the Salesloft team of the authenticated user. Returns: id, name, created_at, updated_at, group_privacy_setting, team_visibility_default, plan, plan_features, license_limit, local_dial_enabled, record_by_default, call_recording_disabled, email_daily_limit, click_tracking_default, allow_automated_email_steps, custom_tracking_domain, dispositions_required, sentiments_required, deactivated.
- **List all Salesloft account stages** (List). List Salesloft account stage records. The records can be filtered and sorted. Returns each stage's id, name, order, active status, created_at, and updated_at.
- **Get single Salesloft account stage by ID** (Get). Get a single Salesloft account stage by id. Returns: id, name, order, active, created_at, updated_at. Required: id.
- **List all Salesloft accounts** (List). List Salesloft accounts, filterable by ids, crm_id, tags, owner, website, location, engagement level, and created/updated timestamp ranges. Returns account records: id, name, domain, industry, tags, custom_fields, owner, and counts. Sorted by updated_at DESC by default.
- **Get single Salesloft account by ID** (Get). Fetch a single Salesloft account by id. Returns the full account record including id, name, domain, crm_id, tags, custom_fields, owner, and counts. Required: id.
- **Create a Salesloft account** (Create). Create a Salesloft account. Returns the created account record including id, name, domain, created_at, and custom_fields. The domain must be unique on the current team.
- **Update a Salesloft account by ID** (Update). Update an existing Salesloft account by id, including archiving or unarchiving it via the archived flag. Returns the updated account record including id, name, domain, archived_at, and custom_fields. The domain must be unique on the current team. Required: id.
- **Delete a Salesloft account by ID** (Delete). Delete a Salesloft account by id. This operation is not reversible without contacting support, can be called multiple times successfully, and removes all connected people from the account. Returns an empty 204 response on success. Required: id.
- **Create a Salesloft activity** (Create). Create an activity in Salesloft that marks the associated action as completed. Returns the created activity record including its id, subject, activity_type, crm_id, crm_record_type, person, user, created_at, and updated_at. Only certain action types can have an activity explicitly created for them.
- **List all Salesloft activity histories** (List). List past activities in Salesloft. Fetches all of the customer's past activities found on the Salesloft Activity Feed. Returns: id, user_guid, tags, static_data, resource_type, resource_id, pinned_at, occurred_at, failed_dynamic_resources, dynamic_data, created_at, updated_at.
- **List all Salesloft calls** (List). List Salesloft call records, filterable by person, sentiment, disposition, user, and timestamp ranges, with sorting. Returns: id, to, duration, sentiment, disposition, positive, connected, call_data_record_ids, direction, log_source, created_at, updated_at, recordings, user, action, task, called_person, crm_activity, note, cadence, step.
- **Get single Salesloft call by ID** (Get). Get a single Salesloft call by id. Fetches the call by ID only. Returns: id, to, duration, sentiment, disposition, positive, connected, call_data_record_ids, direction, log_source, created_at, updated_at, recordings, user, action, task, called_person, crm_activity, note, cadence, step. Required: id.
- **Create a Salesloft call** (Create). Create a Salesloft call log, optionally completing a phone action or call task and syncing notes to the CRM. Returns the created call including id, to, duration, sentiment, disposition, and recordings. task_id cannot be combined with action_id; disposition and sentiment can be required per team.
- **List all Salesloft calender events** (List). List all calendar events in Salesloft, paginated and filtered by date. Returns each event with id, title, start_time, end_time, attendees, organizer, provider, and status. Optionally filter by a start_time/end_time date range or scope results to a specific user_guid.
- **Create a Salesloft calender event** (Create). Upsert a calendar event object in Salesloft, creating it if it does not exist and updating it otherwise. Returns the upserted calendar event including id, title, start_time, end_time, provider, calendar_id, and attendees.
- **List all Salesloft meetings** (List). List Salesloft meeting records created via calendaring features, filterable by status, person, account, cadence, event IDs, and timestamp ranges. Returns meeting records including id, status, no_show, start_time, and i_cal_uid. Defaults to sorting by start_time descending.
- **Update a Salesloft meeting by ID** (Update). Update a Salesloft meeting by id. Returns the updated meeting record including id, start_time, i_cal_uid, created_at, and updated_at. Requires id and a request body; settable fields are no_show, status, reschedule_status, event_id, and i_cal_uid.
- **List all Salesloft notes** (List). List notes in Salesloft, with filtering, paging, and sorting. Returns: id, content, created_at, updated_at, associated_type, crm_activity_metadata, user, associated_with, call.
- **Get single Salesloft note by ID** (Get). Get a single note by id in Salesloft. Returns: id, content, created_at, updated_at, associated_type, crm_activity_metadata, user, associated_with, call. Required: id.
- **Create a Salesloft note** (Create). Create a note in Salesloft, associated with a person or account and optionally linked to a call. Returns: id, content, created_at, updated_at, associated_type, crm_activity_metadata, user, associated_with, call. Requires a JSON request body.
- **Update a Salesloft note by ID** (Update). Update a note by id in Salesloft. Returns the updated note record: id, content, created_at, associated_type, user, associated_with, and call. Required: id. Any changes to the note or associated records will not reflect in your CRM.
- **Delete a Salesloft note by ID** (Delete). Delete a note owned by the authorized account in Salesloft. Required: id. This operation is not reversible without contacting support and can be called multiple times successfully. Returns an empty 204 response on success.
- **List all Salesloft people** (List). List people in Salesloft with support for filtering, paging, and sorting. Returns person records including id, first_name, last_name, email_address, title, custom_fields, and their associated account and owner.
- **Get single Salesloft person by ID** (Get). Fetch a single Salesloft person by id. Returns the full person record including id, first_name, last_name, email_address, phone, title, custom_fields, and the associated account and owner. Required: id.
- **Create a Salesloft person** (Create). Create a person in Salesloft. Either email_address or phone with last_name must be provided as a unique lookup on the team. Returns the created person record including id, first_name, last_name, email_address, custom_fields, and the associated account.
- **Update a Salesloft person by ID** (Update). Update a Salesloft person by id. Returns the updated person record including id, first_name, last_name, email_address, custom_fields, and the associated account and owner. Required: id.
- **Delete a Salesloft person by ID** (Delete). Delete a Salesloft person by id. This operation is not reversible without contacting support and can be called multiple times successfully. Returns an empty 204 response on success.
- **List all Salesloft person stages** (List). List person stage records in Salesloft. The records can be filtered and sorted. Returns: id, name, created_at, updated_at, order, active.
- **Get single Salesloft person stage by ID** (Get). Fetch a person stage in Salesloft by id. Returns: id, name, created_at, updated_at, order, active. Required: id.
- **Create a Salesloft person stage** (Create). Create a person stage in Salesloft. Returns: id, created_at, updated_at.
- **Update a Salesloft person stage by ID** (Update). Update a person stage in Salesloft by id. Returns the updated stage including id, name, order, active, created_at, and updated_at. Required: id, name.
- **Delete a Salesloft person stage by ID** (Delete). Delete a person stage in Salesloft by id. This operation is not reversible without contacting support and can be called multiple times successfully. Required: id. Returns an empty 204 response on success.
- **List all Salesloft tags** (List). List the tags used for a Salesloft team. Returns: id, name. Tags can be applied to multiple resource types and can be filtered by name search or a list of ids, and sorted by name.
- **List all Salesloft tasks** (List). List Salesloft tasks. Returns task records including id, subject, current_state, task_type, due_date, and person/user/opportunity references. Filter by current_state, task_type, user_id, person_id, or time interval, and sort by due_date or updated_at. Tasks associated with cadence steps are not returned.
- **Get single Salesloft task by ID** (Get). Get a single Salesloft task by id. Returns the task record including id, subject, current_state, task_type, due_date, and person/user/opportunity references. Required: id.
- **Create a Salesloft task** (Create). Create a task in Salesloft. Returns the created task record including id, subject, current_state, task_type, due_date, and person/user/opportunity references. due_date must be an ISO-8601 date and remind_at an ISO-8601 datetime.
- **Update a Salesloft task by ID** (Update). Update a Salesloft task by id. Returns the updated task record including id, subject, current_state, task_type, due_date, and person/user/opportunity references. Required: id.
- **List all Salesloft users** (List). List Salesloft users. Non-admin callers see only their own user or teammates allowed by the team's group visibility policy, while team admins see all users on the team. Returns: id, guid, name, email.
- **Get single Salesloft user by ID** (Get). Get a single Salesloft user by id. The id can be the numeric User ID or the User GUID. Returns: id, guid, name, email. Required: id (User ID or User GUID).
- **Update a Salesloft user by ID** (Update). Update a Salesloft user by id; the id can be the numeric User ID or the User GUID. Returns the updated user record: id, guid, name, email. Required: id.
- **Delete a Salesloft user by ID** (Delete). Deactivate a Salesloft user by id; Salesloft removes access by setting the user's active flag to false rather than hard-deleting the record. The id can be the numeric User ID or the User GUID. Returns the updated user record: id, guid, name, email. Required: id.
- **Create a Salesloft person upsert** (Create). Upsert a person record in Salesloft, creating or updating it based on upsert_key (id, crm_id, or email_address). Returns the full person object including id, email_address, first_name, last_name, job_seniority, and custom_fields. Requires upsert_key plus the field it names; the request fails if multiple records match the upsert field.
- **List all Salesloft custom roles** (List). List Salesloft custom roles. Fetches multiple custom role records that can be filtered and sorted. Returns: id, name.
- **Get single Salesloft custom role by ID** (Get). Get a single Salesloft custom role by id. Fetches the custom role record identified by its ID. Returns: id, name. Required: id.
- **List all Salesloft groups** (List). List Salesloft groups. Returns: id, name, parent_id, accessible_groups, parent_groups. Records can be filtered and sorted via the respective parameters.
- **Get single Salesloft group by ID** (Get). Get a single Salesloft group by id. Returns: id, name, parent_id, accessible_groups, parent_groups. Required: id.
- **List all Salesloft account tiers** (List). List Salesloft account tier records, filterable by ids, name, and active flag and sortable by created_at, updated_at, or order (defaults to updated_at DESC). Returns: id, name, order, created_at, updated_at, active.
- **Get single Salesloft account job title by ID** (Get). Get all unique job titles associated with contacts at a specific Salesloft account. Returns the deduplicated list of job title strings for that account. Required: account_id.
- **Get single Salesloft contact by ID** (Get). List contacts in SalesLoft, optionally filtered by account_id or job_title. Returns contact records including id, first_name, last_name, email_address, title, company_name, and created_at.
- ...and 2 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
