---
title: "Salesforce Integration"
description: "Query CRM data, manage records, and work with Salesforce objects"
canonical_url: "https://meingpt.com/en/docs/integrations/connectors/salesforce"
language: en
---

# Salesforce Integration

The Salesforce tool enables direct integration with your Salesforce CRM. Query leads, opportunities, accounts, and other objects, create or update records, and access attached files - all through natural language in your chat or assistant.

## When to Use

**Ideal for:**
- Querying leads, opportunities, accounts, and contacts
- Creating and updating individual CRM records
- Searching for specific records using SOQL or SOSL
- Viewing file attachments on Salesforce records
- Quick status overviews of pipeline or sales activities

**Not suitable for:**
- Bulk data exports or mass updates (use Salesforce Data Loader)
- Complex reporting tasks (use Salesforce Reports & Dashboards)
- Automated workflows (use Salesforce Flow or Process Builder)

## Prerequisites

1. **Salesforce account** with API access (Professional, Enterprise, or Unlimited Edition)
2. **API permissions** for the connected user
3. **A one-time approval by your Salesforce administrator** (see next section)
4. **OAuth connection** set up in meinGPT

## One-time approval by your Salesforce administrator

Without this approval, **only Salesforce administrators** can connect. Everyone else sees "We can't authorize you because of an OAuth error. For more information, contact your Salesforce administrator." in the Salesforce window — before they ever reach a consent screen.

Since September 2025, Salesforce lets only administrators self-approve an **uninstalled** application. meinGPT is such an application, so your administrator has to install it once in your organization. After that, every user can connect on their own.

Have any user click "Connect" in meinGPT once. That is what makes meinGPT visible in your Salesforce organization at all — even if the attempt fails.

The administrator opens **Setup → Apps → Connected Apps OAuth Usage** in Salesforce

Straight there — replace `<your-domain>` with your My Domain:

```
https://<your-domain>.my.salesforce-setup.com/lightning/setup/ConnectedAppsUsage/home
```

On the "meinGPT Connector Production" row, click **Load Actions** on the far right. Only then do the actual actions appear — pick **Install** there, not "Block".

How the administrator recognizes this exact problem: the row shows a **user count of 0** but **more than 0 refused attempts due to the usage restriction**, along with a timestamp of the last one.

Done — every user can connect from now on

Alternatively, the administrator can grant individual profiles or permission sets the **"Approve Uninstalled Connected Apps"** permission. That is the more laborious route: every new profile needs it again.

If the application is **uninstalled** later, Salesforce revokes the connections of **all** users in your organization, not just the new ones.

## Setup

Open the assistant editor and navigate to tool settings — or enable the Salesforce tool directly in a chat via the "+" menu

Select "Salesforce" from the tool list

Click "Connect" and sign in with your Salesforce account

Confirm the requested permissions (API access)

## Main Features

### Schema Discovery
- **`salesforce_list_objects`**: Lists all available Salesforce objects
- **`salesforce_describe_object`**: Shows fields and metadata for an object

### Queries
- **`salesforce_run_soql_query`**: Executes SOQL queries (e.g., `SELECT Name FROM Lead WHERE Status = 'Open'`)
- **`salesforce_run_sosl_search`**: Performs full-text search across multiple objects
- **`salesforce_query_more`**: Retrieves additional results for paginated queries

### Record Management
- **`salesforce_get_record`**: Reads a single record
- **`salesforce_create_record`**: Creates a new record
- **`salesforce_update_record`**: Updates an existing record
- **`salesforce_delete_record`**: Deletes a record (requires confirmation)

### File Access
- **`salesforce_list_record_files`**: Lists files and attachments for a record
- **`salesforce_ingest_record_files`**: Loads files into chat context

### Advanced Operations
- **`salesforce_tooling_execute`**: Tooling API calls (for developers)
- **`salesforce_apex_execute`**: Apex REST calls
- **`salesforce_rest_execute`**: Generic REST calls

## Usage Examples

### Query Open Leads
```
Show me all open leads from the last 30 days with company and contact information
```

### Check Opportunity Pipeline
```
How many opportunities are in the "Negotiation" stage this month and what is their total value?
```

### Create New Contact
```
Create a new contact in Salesforce:
- First Name: Anna
- Last Name: Mueller
- Email: anna.mueller@example.com
- Account: Example Corp
```

### Retrieve Record Details
```
Show me all details for the account "Acme Corporation" including related contacts
```

## Permissions and Scope

### Read Access (Default)
The following actions require only read permissions:
- List and describe objects
- Execute SOQL/SOSL queries
- Read records and files

### Write Access
These actions modify data in Salesforce:
- `salesforce_create_record` - Create new records
- `salesforce_update_record` - Update existing records
- `salesforce_delete_record` - Delete records (marked as "dangerous")

### Accessible Objects
The tool accesses all objects for which the connected user has permission:
- Standard Objects: Account, Contact, Lead, Opportunity, Case, Task, Event
- Custom Objects: All custom objects (identifiable by `__c` suffix)
- Setup Objects: Via Tooling API (for administrators)

### Security Recommendations
1. **Minimal permissions**: Use a Salesforce user with restricted profile permissions
2. **Confirm write actions**: The system requests confirmation for critical operations
3. **Audit trail**: All changes are recorded in the Salesforce audit log

## Troubleshooting

### Connection and Login Issues

These cases affect the Salesforce *connection* itself, not individual queries — typical symptom: the login screen appears, but afterward nothing happens or actions fail.

**"Please connect your Salesforce account first. Click the Connect button in the tool settings."**
- This message always appears in English, regardless of your app language
- Salesforce isn't connected yet, or the stored connection can no longer be used (e.g. the refresh token was revoked on the Salesforce side)
- Salesforce doesn't return an expiry for the access token, so meinGPT only detects an expired token on the next failed call, not in advance — if the automatic renewal fails at that point, a Salesforce API error (401) appears instead of this message
- Solution: Open the tool settings and click "Connect" again

**"Salesforce connection is missing instance URL metadata. Please reconnect Salesforce."**
- The stored connection is incomplete, usually after an interrupted OAuth flow
- Solution: Disconnect and reconnect via the tool settings

**The connection is personal to you**
- Everyone who uses the assistant must connect Salesforce with their own account — a connection made by a colleague does not automatically apply to you
- You can also manage your connection centrally, independent of any assistant: **Account → Connectors**

### Common Errors

**"We can't authorize you because of an OAuth error" when connecting**
- The application is not installed in your Salesforce organization. Salesforce states the reason only in the address bar of the error page: `error=invalid_client&error_description=app must be installed into org`
- Typical picture: administrators can connect, nobody else can
- Fix: see [One-time approval by your Salesforce administrator](#one-time-approval-by-your-salesforce-administrator)
- To trace it in the login history (replace `<your-domain>`): `https://<your-domain>.my.salesforce-setup.com/lightning/setup/OrgLoginHistory/home`
- Background from Salesforce: [Prepare for Connected App Usage Restrictions Change](https://help.salesforce.com/s/articleView?id=005132365&type=1)

**INVALID_FIELD or INVALID_TYPE**
- The specified field or object does not exist or is misspelled
- Solution: Use `salesforce_describe_object` to determine correct field names

**INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY**
- The user does not have permission for the referenced object
- Solution: Check profile and sharing permissions in Salesforce

**REQUEST_LIMIT_EXCEEDED**
- API limit reached (daily or concurrent requests)
- Solution: Wait or contact your Salesforce administrator
- Tip: Use LIMIT in SOQL queries to conserve resources

## Additional Resources

- [Salesforce SOQL Documentation](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/)
- [Salesforce REST API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/)
- [Salesforce API Limits](https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/)
