View as Markdown

Salesforce Integration

Manage Salesforce accounts, contacts, opportunities, and cases

The Salesforce integration provides access to manage Salesforce accounts, contacts, opportunities, and cases through the Integrate MCP server.

Installation

The Salesforce integration is included with the SDK:

import { salesforceIntegration } from "integrate-sdk/server";

Setup

1. Create a Salesforce OAuth App

  1. Create an OAuth application for Salesforce
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Salesforce integration to your server configuration. The integration automatically reads SALESFORCE_CLIENT_ID and SALESFORCE_CLIENT_SECRET from your environment variables:

import { createMCPServer, salesforceIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    salesforceIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

salesforceIntegration({
  clientId: process.env.CUSTOM_SALESFORCE_ID,
  clientSecret: process.env.CUSTOM_SALESFORCE_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("salesforce");
const result = await client.salesforce.query({
  q: "value",
});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, salesforceIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [salesforceIntegration()],
});

Configuration Options

export interface SalesforceIntegrationConfig {
  /** Salesforce Connected App consumer key (defaults to SALESFORCE_CLIENT_ID) */
  clientId?: string;

Tools

salesforce_query

Query

export interface SalesforceQueryParams {
    q: string;

salesforce_get_limits

Get limits

export interface SalesforceGetLimitsParams { instance_url?: string }

salesforce_describe_global

Describe global

export interface SalesforceDescribeGlobalParams { instance_url?: string }

salesforce_sobject_describe

Sobject describe

export interface SalesforceSobjectDescribeParams {
    sobject_type: string;

salesforce_sobject_get

Sobject get

export interface SalesforceSobjectGetParams {
    sobject_type: string;

salesforce_sobject_create

Sobject create

export interface SalesforceSobjectCreateParams {
    sobject_type: string;

salesforce_sobject_update

Sobject update

export interface SalesforceSobjectUpdateParams {
    sobject_type: string;

salesforce_sobject_delete

Sobject delete

export interface SalesforceSobjectDeleteParams {
    sobject_type: string;

Notes

  • Category: Business
  • Authentication mode: OAuth