Preview before write Diffs, policy posture, and rollback readiness appear before the connector executes.
Simulation or sandbox first The product starts with a deterministic story before it asks for production trust.
Proof stays attached Approval, audit, artifacts, and recovery context stay on the same governed run.
Connector

Salesforce CRM

Use this checklist to move from saved credentials to a validated Salesforce workflow with rollback evidence.

Overview
Salesforce CRM

Use the seeded Salesforce simulation workspace to show the full ActionPlane story without real tenant credentials, then connect a real developer org when the team is ready.

Sandbox availability

Simulation
Live sandbox path
Official free dev
Free Salesforce Developer Edition or ActionPlane simulation workspace
First action salesforce.update-opportunity
Live sandbox path Salesforce has the cleanest first proof here: a seeded simulation workspace plus a real sandbox write path, but it is still intentionally narrow and pre-pilot.
Sandbox posture Official Salesforce developer org or the built-in ActionPlane simulation workspace
Next move Start with: Save connector settings.
Developer connection steps

Keep the first connector setup constrained to one environment, one identity, and one clearly reviewable workflow.

01
open-simulation

Open the simulation workspace first

Start in the built-in Salesforce simulation workspace so the developer and buyer can both see the same seeded Opportunity story before any real credentials are involved.

02
create-dev-org

Create a Salesforce developer org

Use the official Salesforce developer signup, then create a dedicated sandbox or developer org user for the first ActionPlane workflow.

03
create-app

Create the integration app and gather credentials

Create a Salesforce External Client App or Connected App, grant only the minimum scopes needed, and collect the login URL, client ID, and client secret.

04
configure-actionplane

Enter the connector settings in ActionPlane

Open the Salesforce connector page in ActionPlane and enter the login URL, client ID, client secret, API version, and the initial Opportunity allowlist for StageName, CloseDate, Amount, and NextStep.

05
validate-sync-run

Validate auth, sync metadata, and run the first dry run

Validate auth, sync Opportunity metadata, and then submit the canonical Northwind opportunity sample as a dry run before allowing a single live sandbox write.

Canonical sample scenario

Business context

RevOps wants to move the Northwind renewal from qualification into proposal after pricing review.

Starting record state

Opportunity `Northwind renewal FY26` is in `Qualification` with `Amount=120000`, `CloseDate=2026-05-20`, and `NextStep=Confirm pricing committee review`.

Requested change

Move the opportunity to `Proposal / Price Quote`, raise the amount to `148000`, push the close date by one week, and update the next step.

Why it routes

The amount and stage shift affect revenue posture, so the sample shows the approval lane first and a separate completed execution with rollback context already attached.

Expected artifacts

Request evidence, preview, rollback plan, completed output, rollback execution, and immutable audit events all stay attached to the same run.

Reset behavior

Reset returns the simulation workspace to the exact seeded Northwind record state and restores the sample evidence baseline.

Onboarding API
Use an authenticated ActionPlane session or bearer token. These endpoints act on the current workspace by default, so connector setup stays inside the same operator context as the UI.
GET /api/connectors/onboarding/salesforce-crm
GET /api/connectors/onboarding/salesforce-crm/metering
POST /api/connectors/onboarding/salesforce-crm/connect
POST /api/connectors/onboarding/salesforce-crm/validate
POST /api/connectors/onboarding/salesforce-crm/sync-metadata

Onboarding metering tracks activation progress for the connector. It is not a separate billable unit; workspace billing remains governed-run based.

Connect payload

Save the connector, validate it immediately, and sync metadata in one authenticated call.

{
  "loginUrl": "https://login.salesforce.com",
  "clientId": "\u003Cclient-id\u003E",
  "clientSecret": "\u003Cclient-secret\u003E",
  "refreshToken": "\u003Crefresh-token-or-empty\u003E",
  "apiVersion": "66.0",
  "isSandbox": true,
  "isEnabled": true,
  "validateAfterSave": true,
  "syncMetadataAfterSave": true,
  "managedObjects": [
    {
      "objectApiName": "Opportunity",
      "displayName": "Opportunity",
      "allowedFields": [
        "StageName",
        "CloseDate",
        "Amount",
        "NextStep"
      ]
    }
  ]
}
curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/salesforce-crm/connect" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json" \
  --data @"connect-salesforce-crm.json"
Validate

Re-run auth and instance validation without resubmitting the connector payload.

curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/salesforce-crm/validate" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json"
Sync metadata

Refresh the writable object and field catalog after credentials or allowlists change.

curl -X POST \
  "$ACTIONPLANE_BASE_URL/api/connectors/onboarding/salesforce-crm/sync-metadata" \
  -H "Authorization: Bearer <session-token>" \
  -H "Content-Type: application/json"
Capabilities

Scenario-backed Salesforce simulation workspace with seeded records and reset support

Opportunity preview, approval, simulated execution, rollback, and evidence on the same run

Live sandbox path through server-to-server Salesforce auth when you bring your own developer org

First-class onboarding API can save, validate, and sync the connector in one authenticated flow

Go live

Use the simulation workspace first, then repeat the same Northwind-style scenario in a real Salesforce developer org.

Validate auth, metadata, one dry run, one live sandbox write, and one rollback before widening field coverage.

Keep production off until the same preview and rollback evidence quality holds in your real sandbox.

Known limits

The built-in simulation is only seeded for the first Salesforce CRM story today.

The first live Salesforce workflow is still limited to Opportunity fields `StageName`, `CloseDate`, `Amount`, and `NextStep`.

Other connector simulations are documented but not yet seeded as first-class workspaces.