Salesforce
Enterprise CRM and sales cloud.
Verdict
Common use cases
- Log call notes as Salesforce tasks from Slack
- Pull account history before a customer call
- Add inbound leads to nurture campaigns instantly
- Clone won deals to fast-track similar opportunities
- Route hot leads using assignment rules automatically
Integration
- Vendor
- Salesforce
- Category
- crm
- Auth
- OAUTH2
- Tools
- 50
- Composio slug
salesforce
Tools
- Add contact to campaign
Adds a contact to a campaign by creating a campaignmember record, allowing you to track campaign engagement.
- Add lead to campaign
Adds a lead to a campaign by creating a campaignmember record, allowing you to track campaign engagement.
- Add product to opportunity
Adds a product (line item) to an opportunity. the product must exist in a pricebook entry that's associated with the opportunity's pricebook.
- Apply lead assignment rules
Applies configured lead assignment rules to a specific lead, automatically routing it to the appropriate owner based on your organization's rules.
- Associate contact to account
Associates a contact with an account by updating the contact's accountid field.
- Clone opportunity with products
Clones an opportunity and optionally its products (line items). creates a new opportunity with the same field values and products as the original.
- Clone record
Creates a copy of an existing salesforce record by reading its data, removing system fields, and creating a new record. optionally apply field updates to the clone.
- Complete task
Marks a task as completed with optional completion notes. this is a convenience action that updates the task status to 'completed'.
- Create account
Creates a new account in salesforce with the specified information.
- Create a new contact
Deprecated: creates a new contact in salesforce; 'lastname' is required, an existing 'accountid' must be used if provided, and any custom fields (ending with ' c') must be predefined.
- Create a note record
Deprecated: creates a new note record in salesforce, associated with an existing salesforce object via `parentid`, automatically including a `content-type: application/json` header.
- Create campaign
Creates a new campaign in salesforce with the specified information.
- Create campaign record
Deprecated: creates a new campaign record in salesforce; if 'parentid' is provided, it must be a valid id of an existing campaign record, and if 'ownerid' is provided, it must be a valid id of an active user.
- Create contact
Creates a new contact in salesforce with the specified information.
- Create lead
Deprecated: creates a new lead in salesforce, requiring `lastname` and `company` unless person accounts are enabled and `company` is null.
- Create lead
Creates a new lead in salesforce with the specified information.
- Create note
Creates a new note attached to a salesforce record with the specified title and content.
- Create opportunity
Creates a new opportunity in salesforce with the specified information.
- Create opportunity record
Deprecated: creates a new opportunity record in salesforce; `name`, `stagename`, and `closedate` are mandatory, and ensure any referenced ids (e.g., `accountid`, `campaignid`) are valid and corresponding salesforce features are enabled if u
- Create Salesforce Account
Deprecated: creates a new salesforce account using a json post request, requiring 'name'; specific fields (e.g., custom, dunsnumber) may have org-level prerequisites.
- Create task
Creates a new task in salesforce to track activities, to-dos, and follow-ups related to contacts, leads, or other records.
- Delete accountdestructive
Permanently deletes an account from salesforce. this action cannot be undone.
- Delete a lead object by its iddestructive
Deprecated: permanently deletes an existing lead object from salesforce using its unique id.
- Delete campaigndestructive
Permanently deletes a campaign from salesforce. this action cannot be undone.
- Delete contactdestructive
Permanently deletes a contact from salesforce. this action cannot be undone.
- Delete leaddestructive
Permanently deletes a lead from salesforce. this action cannot be undone.
- Delete notedestructive
Permanently deletes a note from salesforce. this action cannot be undone.
- Delete opportunitydestructive
Permanently deletes an opportunity from salesforce. this action cannot be undone.
- Execute SOQL query
Deprecated: executes the provided soql query against salesforce; the query must begin with 'select'.
- Fetch account by ID with query
Deprecated: use this action to retrieve a salesforce account by its unique id, which must be a valid and existing salesforce account id; you can optionally specify a comma-delimited list of fields to return.
- Fetch modified or unmodified sobjects
Deprecated: fetches sobjects from `/sobjects` based on caller-set 'if-modified-since' (returns objects modified after a date, or 304 status if none) or 'if-unmodified-since' (returns objects if unmodified since a date, or 412 status if modi
- Get account
Retrieves a specific account by id from salesforce, returning all available fields.
- Get campaign
Retrieves a specific campaign by id from salesforce, returning all available fields.
- Get contact
Retrieves a specific contact by id from salesforce, returning all available fields.
- Get dashboard
Gets detailed metadata for a specific dashboard including its components, layout, and filters.
- Get lead
Retrieves a specific lead by id from salesforce, returning all available fields.
- Get note
Retrieves a specific note by id from salesforce, returning all available fields.
- Get opportunity
Retrieves a specific opportunity by id from salesforce, returning all available fields.
- Get report instance results
Gets the results of a report instance created by running a report. check status to see if report has completed.
- Get report metadata
Gets detailed metadata for a specific report including its structure, columns, filters, and groupings.
- Get user info
Retrieves information about the current user or a specific user in salesforce.
- List accounts
Lists accounts from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- List campaigns
Lists campaigns from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- List contacts
Lists contacts from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- List dashboards
Lists all dashboards available in salesforce with basic metadata including name, id, and urls.
- List email templates
Lists available email templates in salesforce with filtering and search capabilities.
- List leads
Lists leads from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- List notes
Lists notes from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- List opportunities
Lists opportunities from salesforce using soql query, allowing flexible filtering, sorting, and field selection.
- Retrieve Note with conditions
Deprecated: retrieves a salesforce note object by its id, optionally specifying which fields to return; the note id must exist.
Setup
Setup guide
- 11. In Switchy, open your workspace settings and navigate to the Integrations tab. 2. Find Salesforce in the MCP directory and click Connect. 3. You'll be redirected to Salesforce's OAuth consent screen — log in with an account that has API Enabled permission. 4. Grant the requested scopes: read and write access to standard objects (Account, Contact, Lead, Opportunity, Task, Campaign) and read access to metadata. 5. After authorizing, Salesforce redirects you back to Switchy and the connection appears as active. 6. Open any Space, type '@Salesforce list my open opportunities' and send the message. 7. The MCP returns a formatted list of opportunities owned by you — if you see data, the connection works. 8. To invoke other tools, @mention Salesforce followed by a natural-language request like 'add this lead to Q1 nurture campaign' or 'clone opportunity XYZ with all products'.
What teammates see: by default, memories from Salesforce are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Summarize Open Deals
@Salesforce list all my open opportunities with amount, stage, and close date. Sort by close date ascending.Open in a Space →
Log Meeting as Task
@Salesforce create a completed task for account Acme Corp with subject 'Q1 planning call' and description 'Discussed renewal timeline and upsell interest in premium tier'.Open in a Space →
Add Lead to Campaign
@Salesforce add the lead with email john.doe@example.com to the campaign named 'Spring 2025 Webinar Series'.Open in a Space →
Clone Winning Opportunity
@Salesforce clone opportunity OPP-12345 including all products, then update the account to Globex Inc and stage to Qualification.Open in a Space →
Route Lead by Rules
@Salesforce apply lead assignment rules to lead ID 00Q5e00000AbCdEFG so it gets routed to the correct owner.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@salesforce show me all open opportunities in the Enterprise segment over $100k, grouped by close date
Found 12 open Enterprise opportunities exceeding $100k. Q1 2024 (3 opps, $890k pipeline): Acme Corp renewal ($250k, 3/15 close), GlobalTech expansion ($340k, 3/28), DataSystems new logo ($300k, 3/30). Q2 2024 (7 opps, $1.2M pipeline): includes TechFlow ($180k, 4/10), MegaCorp ($220k, 5/5), plus 5 others ranging $80k-$150k. Q3 2024 (2 opps, $450k): both in discovery stage. This is an illustrative summary—actual opportunity counts and amounts will reflect your live Salesforce data at query time.
This example demonstrates read-heavy SOQL querying across Opportunity records with filtering and aggregation. Requires 'View All Data' or appropriate sharing rules on Opportunities. Response time depends on your org's data volume; orgs with 10k+ opportunities may see 2-3 second delays.
@salesforce create a follow-up task for the Acme Corp opportunity, due Friday, assigned to Sarah Chen with a note about pricing discussion
Created Task (ID: 00T8c00000XyZ1a) linked to Opportunity 'Acme Corp - Q1 Renewal'. Subject: 'Follow up on pricing discussion'. Assigned to: Sarah Chen (sarah.chen@company.com). Due Date: Friday, January 19, 2024. Status: Not Started. Description includes your note about pricing discussion. Sarah will see this task in her Salesforce Home and receive an email notification if her user settings enable task assignment alerts. This is an illustrative example—actual task IDs and user assignments depend on your org's data.
This write operation creates a Task record and triggers Salesforce's standard assignment notifications. Requires 'Create' permission on Tasks and valid User/Opportunity IDs. The MCP resolves 'Friday' and user names to proper Salesforce IDs, but ambiguous names (multiple Sarah Chens) will prompt for clarification.
@salesforce review all closed-lost opportunities from last quarter and draft a summary of the top 3 reasons we're losing deals
Analyzed 18 closed-lost opportunities from Q4 2023 (total pipeline value: $2.1M). Top loss reasons: (1) Pricing (8 deals, 44%): competitors undercut by 15-30% in mid-market segment, particularly for multi-year contracts. (2) Feature gaps (5 deals, 28%): lacked native integrations with Workday and NetSuite; prospects chose all-in-one platforms. (3) Timeline misalignment (3 deals, 17%): our 6-week implementation vs. competitor's 2-week quick-start drove urgency losses. Remaining 2 deals lost to budget freezes. This synthesis is illustrative—actual loss analysis reflects your org's Opportunity Stage History and Loss Reason picklist values.
This synthesis example pairs Salesforce data retrieval with AI reasoning to identify patterns across multiple records. Requires read access to Opportunities and relies on your team consistently populating the 'Loss Reason' field. The AI interprets free-text fields, so data quality directly impacts insight accuracy.
Use-case deep-dives
When this MCP wins for converting demo calls to pipeline
A 6-person sales team runs 20-30 demos a week and needs to spin up opportunities with standard product line items immediately after each call. The Salesforce MCP handles this in one prompt: clone last quarter's similar deal, swap the account, add the three SKUs from your pricing doc, and assign the task to the AE. The 50-tool catalog covers the full deal-creation flow—clone opportunity with products, associate contact to account, add product to opportunity—so reps don't toggle between Switchy and the Salesforce UI. This works until your product catalog hits 200+ SKUs or you need custom approval workflows that live outside standard objects. If your team closes 15+ deals a month and uses a repeatable opportunity template, this MCP cuts setup time from 8 minutes to under one.
When this MCP is overkill for one-off campaign adds
A 3-person marketing team runs quarterly webinars and needs to add 400 leads to a campaign after each event. The Salesforce MCP exposes add lead to campaign and add contact to campaign, but OAuth2 setup and the 50-tool surface is heavy if you only need two actions twice a quarter. You're better off with a Zapier trigger or a CSV upload in Salesforce directly. Where this MCP pays off is when you're also applying lead assignment rules, cloning campaign structures, or cross-referencing account data in the same workflow—then the shared context in Switchy justifies the integration weight. If your demand gen motion is just list imports with no downstream routing or account lookups, skip this and use Salesforce's native bulk tools.
When this MCP bridges support and account history
A 5-person support team fields 80 tickets a day and escalates 10% to account managers when a customer hits a contract or renewal blocker. The Salesforce MCP lets the support agent pull account details, open opportunities, and recent tasks in one Switchy thread, then create a follow-up task assigned to the AM—all without leaving the conversation. The associate contact to account and complete task tools mean the agent can update CRM state as they triage, not in a separate tab 20 minutes later. This breaks down if your support tool already has a two-way Salesforce sync (like Zendesk Sell), because you're duplicating writes. If your support and sales teams share a workspace and escalations require live CRM reads, this MCP keeps context in one place and cuts the average escalation handoff from 4 steps to one.
Frequently asked
What does the Salesforce MCP let me do in Switchy?
It gives your AI agents direct access to your Salesforce data and workflows. Agents can create leads, update opportunities, add contacts to campaigns, clone records, and run assignment rules—all without leaving the conversation. You're automating CRM tasks that normally require clicking through Salesforce tabs or writing custom API scripts.
Do I need Salesforce admin permissions to connect the MCP?
You need OAuth credentials with the scopes your team wants to use. Most orgs require admin approval to authorize third-party apps like Switchy. If your Salesforce admin has locked down API access or restricted OAuth apps, you'll need them to whitelist Switchy before you can connect.
Can the Salesforce MCP update custom fields or only standard ones?
It can read and write both standard and custom fields, as long as the connected user has field-level security permissions in Salesforce. The MCP exposes 50+ tools covering leads, contacts, opportunities, campaigns, and tasks. If a field exists in your Salesforce schema and the user can edit it, the MCP can too.
Why use the MCP instead of Salesforce's built-in Einstein or Flow Builder?
The MCP lets your team describe what they want in plain language and have an AI agent execute it across multiple systems in one go. Einstein and Flow Builder are powerful for pre-built automations inside Salesforce, but they don't connect to your other tools or adapt to ad-hoc requests the way a Switchy agent does.
Who on my team should connect the Salesforce MCP?
Whoever connects it becomes the API user for all agent actions. Pick someone with the right Salesforce permissions—typically a sales ops admin or a power user with edit access to the objects your team needs. Their permissions determine what the agents can do, so don't connect with a read-only account.