Integrate Salesforce MCP server into your Slack workspace for instant access to your AI agent.
Tools that your AI agent can use through this MCP server to interact with Salesforce
Create or update a record of a given object. See the documentation
Update fields of a record. See the documentation
Updates an opportunity. See the documentation
Updates a classic Salesforce note, which can contain up to 32 KB of text and is associated with a parent record. See the documentation
Updates an email template. See the documentation
Updates an enhanced Salesforce content note, which can include formatted text and is part of Salesforce Files. See the documentation and Set Up Notes.
Updates a contact. See the documentation
Updates a Salesforce account. See the documentation
Creates a Salesforce user. See the documentation
Creates a task. See the documentation
Create a record of a given object. See the documentation
Creates an opportunity. See the documentation
Creates a note. See the documentation
Creates a lead. See the documentation
Creates an event. See the documentation
Creates a content note. See the documentation and Set Up Notes.
Creates a contact. See the documentation
Creates a Case Comment on a selected Case. See the documentation
Creates a Case, which represents a customer issue or problem. See the documentation
Creates a marketing campaign. See the documentation
Creates an Attachment on a parent object. See the documentation
Creates a Salesforce account. See the documentation
Update an existing Salesforce record. Only pass fields you want to change — unspecified fields remain unchanged. Use Describe Object for valid field names and picklist values. Use SOQL Query to find the record ID if you only have the name.
Search Salesforce records by keyword across multiple object types simultaneously. Use for free-text search when the user mentions a name, term, or keyword without specifying an object type. Use SOQL Query instead for structured queries on a single object type with specific conditions. Results are grouped by object type.
Execute a SOQL query against Salesforce. This is the primary tool for querying Salesforce data — use for all structured queries. For free-text search across multiple objects, use Text Search instead.
When the user uses first-person language ('my', 'I', 'me'), filter by OwnerId using the userId from Get User Info. Use Describe Object to discover field names and picklist values before querying non-obvious fields.
SOQL syntax reference:
SELECT Id, Name, Email FROM Contact WHERE AccountId = '001xxx'=, !=, >, <, >=, <=, LIKE '%text%', IN ('a','b'), NOT INTODAY, THIS_MONTH, LAST_N_DAYS:30, THIS_QUARTER, LAST_QUARTER, THIS_YEARWHERE Email != nullSELECT StageName, COUNT(Id) c, SUM(Amount) s FROM Opportunity GROUP BY StageNameAS keyword — write COUNT(Id) c, not COUNT(Id) AS ccount, sum, avg are reserved. Use short aliases like c, s, aORDER BY COUNT(Id) DESC, not ORDER BY c DESCSELECT Name, Account.Name FROM ContactSELECT Name, (SELECT Name FROM Contacts) FROM AccountORDER BY CreatedDate DESC LIMIT 10Always include Id in SELECT. Include a clickable Salesforce link for every record using the format {instanceUrl}/lightning/r/{objectType}/{Id}/view (get instanceUrl from Get User Info).
List available Salesforce object types (SObjects) in the org. Use when the user references an object type you're not sure about, or to discover custom objects. Custom objects end in __c. Standard CRM objects: Account, Contact, Lead, Opportunity, Case, Task, Event, Campaign, User. Use Describe Object to get field details for a specific object type.
Get the current authenticated Salesforce user's identity, including user ID, email, org ID, and instance URL. Must be called before any query that uses first-person language ('my', 'I', 'me'). The userId can be used as an OwnerId filter in SOQL queries (e.g. WHERE OwnerId = '{userId}'). The instanceUrl is needed to construct clickable links to Salesforce records: {instanceUrl}/lightning/r/{objectType}/{recordId}/view.
Get child records related to a parent Salesforce record via a relationship. Use to traverse relationships without writing SOQL joins. Common relationships: Account → Contacts, Opportunities, Cases, Tasks; Contact → Cases, Opportunities, Tasks; Opportunity → OpportunityLineItems, Tasks. Use Describe Object to discover available relationship names if unsure (look for relationshipName on reference fields).
Get field metadata for a Salesforce object type, including field names, types, required status, and picklist values. Use before Create Record or Update Record to discover available fields and valid picklist values. For picklist fields (like StageName on Opportunity, Status on Case), this returns all valid values — use the API value, not the display label. Use the fieldsFilter parameter to narrow results — full object descriptions can be very large (100+ fields). Use List Objects if you're unsure of the object's API name.
Permanently deletes a Salesforce record (moves to Recycle Bin for 15 days). Use SOQL Query to find the record ID if you only have the record name.
Create a new Salesforce record of any object type. Use Describe Object first if you're unsure what fields are available or required. For picklist fields, use the API value from Describe Object, not the display label.
Common required fields:
NameLastNameLastName, CompanyName, StageName, CloseDateSubjectSubjectSubject, StartDateTime, EndDateTimeTo add a Contact/Lead to a Campaign, create a CampaignMember: {"CampaignId": "701xxx", "ContactId": "003xxx"} or {"CampaignId": "701xxx", "LeadId": "00Qxxx"}.
Update multiple Opportunities in Salesforce using Bulk API 2.0. See the documentation
Update multiple Accounts in Salesforce using Bulk API 2.0. See the documentation
Create multiple Opportunities in Salesforce using Bulk API 2.0. See the documentation
Create multiple Accounts in Salesforce using Bulk API 2.0. See the documentation
Searches for records in an object using a parameterized search. See the documentation
Sends an email. See the documentation
Delete a note or content note from a Salesforce record. See the documentation
Executes a Salesforce Object Search Language (SOSL) text-based search query.
Executes a Salesforce Object Query Language (SOQL) query-based, SQL-like search.
Post a feed item in Chatter. See the documentation
Lists all fields for a given object type. See the documentation
Lists all knowledge articles. See the documentation
Lists all email templates. See the documentation
Lists all email messages for a case. See the documentation
Lists all comments for a case. See the documentation
Inserts blob data in Salesforce standard objects. See the documentation
Retrieves a user by their ID. See the documentation
Retrieves a record by its ID. See the documentation
Fetch data category groups visible to the current user. See the documentation
Get a page of online articles for the given language and category through either search or query. See the documentation
Retrieves a case by its ID. See the documentation
Retrieves selected fields for some or all records of a selected object. See the documentation
Deletes an existing record in an object. See the documentation
Deletes an opportunity. See the documentation
Converts a SOAP XML Object received from Salesforce to JSON
Adds an existing lead to an existing campaign. See the documentation
Adds an existing contact to an existing campaign. See the documentation