> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thread.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Salesforce

> Trigger workflows from opportunity stage changes and pull rich CRM context into handover briefs, success plans and SOW analysis.

Salesforce is the source of truth for most of your accounts. Connecting it lets Thread react the moment a deal moves — kicking off the right onboarding workflow, drafting the handover brief, and routing the right CSM — without anyone copying data between tools.

<Frame>
  <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-connected.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=fb5956bd94db34a8d9eb5f3288aaed3a" alt="Salesforce connected on the Thread connectors page" width="2560" height="1436" data-path="images/screenshots/integrations/salesforce-connected.png" />
</Frame>

## What you can build

<CardGroup cols={2}>
  <Card title="Customer handover" icon="handshake" href="/use-cases/customer-handover">
    AE → CSM handover briefs auto-drafted from opportunity context, contacts and notes.
  </Card>

  <Card title="Success plans" icon="map" href="/use-cases/success-plans">
    Apply the right plan based on segment, ARR or any Salesforce field.
  </Card>

  <Card title="CSM assignment" icon="user-plus" href="/use-cases/csm-assignment">
    Route accounts to the right CSM by territory, ARR, vertical, or load.
  </Card>

  <Card title="SOW analysis" icon="file-magnifying-glass" href="/use-cases/sow-analysis">
    Pull notes and attachments into a SOW review against your standard terms.
  </Card>
</CardGroup>

## Connect Salesforce

The setup wizard walks through three steps in about five minutes. Start it from **[Connectors → Salesforce](https://stitch.thread.app/home/connectors/salesforce)**.

<Steps>
  <Step title="Install the Thread package">
    Thread uses a managed Salesforce package to detect stage changes and emit webhooks. Click **Install Package in Salesforce** to open Salesforce's package installer, accept **Install for All Users**, and come back to Thread.

    <Frame>
      <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-setup-1-install.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=e1af91d868d4f284afdd6a6b18bc76d8" alt="Step 1 of 3 — Install the Thread package, with an Install Package in Salesforce button and an I've installed the package confirmation button" width="2560" height="1436" data-path="images/screenshots/integrations/salesforce-setup-1-install.png" />
    </Frame>

    <Note>If your org blocks managed packages, contact support — we can configure the webhook via Flow Builder instead.</Note>
  </Step>

  <Step title="Authorize Thread (OAuth)">
    Pick **Production** or **Sandbox / Scratch Org** — the sandbox option points OAuth at `test.salesforce.com`. Click **Connect to Salesforce**, sign in, and approve the OAuth scope. Thread reads opportunities, accounts, contacts, notes and attachments — never writes back unless you explicitly add a write action to a workflow.

    <Frame>
      <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-setup-2-oauth.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=a8131fbe7328e77520210a2a22caa2a3" alt="Step 2 of 3 — Connect to Salesforce, with a radio toggle between Production and Sandbox / Scratch Org and a Connect to Salesforce button" width="2560" height="1436" data-path="images/screenshots/integrations/salesforce-setup-2-oauth.png" />
    </Frame>
  </Step>

  <Step title="Auto-configure and test">
    Click **Auto-Configure Salesforce**. Thread sets your API key, webhook endpoint and trigger stage in your Salesforce org with no manual steps. Then change a test opportunity's stage in Salesforce — the wizard polls and confirms the moment the first webhook lands.

    <Frame>
      <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-setup-3-configure.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=7f1dc2824d185742ae0f440ef1e00cb2" alt="Step 3 of 3 — Configure and test, showing Configuration complete checked off, Test the integration step pending, and a Waiting for first webhook polling state" width="2560" height="1582" data-path="images/screenshots/integrations/salesforce-setup-3-configure.png" />
    </Frame>

    Once Thread receives the test webhook, the wizard flips to a success state and the integration is live.

    <Frame>
      <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-setup-4-success.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=117586daf9776e1225eee14aeb2efce8" alt="Salesforce setup success screen reading You're all set with a View settings button" width="2560" height="1436" data-path="images/screenshots/integrations/salesforce-setup-4-success.png" />
    </Frame>
  </Step>
</Steps>

## Use Salesforce in a workflow

Drop a **Salesforce** trigger as the start node of any workflow. Every node downstream gets full opportunity context — Account, Contacts, Notes, Owner, custom fields — to power AI drafting, branching and assignment.

<Frame>
  <img src="https://mintcdn.com/threadsolutionsinc/MFTGqD087bXZP0ze/images/screenshots/integrations/salesforce-workflow.png?fit=max&auto=format&n=MFTGqD087bXZP0ze&q=85&s=d6f0bbc021750740355556f339d13802" alt="Workflow builder with a Salesforce trigger node selected" width="2560" height="1508" data-path="images/screenshots/integrations/salesforce-workflow.png" />
</Frame>

A typical onboarding workflow:

| Node                   | What it does                                    |
| ---------------------- | ----------------------------------------------- |
| **Salesforce trigger** | Fires when an opportunity hits Closed Won       |
| **Branch**             | Splits Enterprise (≥ \$100k ARR) from SMB       |
| **Handover brief**     | AI drafts the brief from SF context; AE reviews |
| **Route to CSM**       | Round-robins or routes by territory/segment     |
| **Apply success plan** | Instantiates milestones from a template         |

See [Building workflows](/csm-guide/workflows/building-workflows) for the full node reference.

## What Thread sees

| Salesforce object                 | Default Thread field | Notes                                                                                                        |
| --------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------ |
| Opportunity Name                  | Account name         | Customizable                                                                                                 |
| Amount                            | ARR                  | Auto-converted                                                                                               |
| Close Date                        | Close date           | Format normalized                                                                                            |
| Account → Name, Website, Industry | Company details      |                                                                                                              |
| Opportunity Owner                 | AE email             | Used for handover routing                                                                                    |
| Contacts (with role)              | Contact list         | Primary contact required for best output                                                                     |
| Notes & Activities                | AI context           | Powers handover drafts and SOW analysis                                                                      |
| Custom fields                     | Mappable             | Add via **[Connectors → Salesforce](https://stitch.thread.app/home/connectors/salesforce) → Field mappings** |

## Tips from the field

<CardGroup cols={2}>
  <Card title="Standardize stage names" icon="list-check">
    Inconsistent stages cause workflows to miss. Audit your stages before going live.
  </Card>

  <Card title="Set primary contacts" icon="user">
    Contact roles power who shows up on the handover and in the customer portal.
  </Card>

  <Card title="Encourage rich AE notes" icon="pen">
    The more detail in the opportunity, the stronger the AI-drafted handover.
  </Card>

  <Card title="Test in sandbox first" icon="flask">
    Validate complex workflows in a Salesforce sandbox before pointing at production.
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Can't connect">
    Confirm you have System Administrator (or delegated admin) permissions, that API access is enabled on the org, and that any IP allowlists include Thread's egress range. If sign-in succeeds but the connect step fails, ensure your user has access to the **Opportunity**, **Account** and **Contact** objects.
  </Accordion>

  <Accordion title="Workflow isn't firing">
    Check the workflow is **Active** (not Draft), the trigger stage matches the opportunity's stage exactly, and the managed package is installed. **[Connectors → Salesforce](https://stitch.thread.app/home/connectors/salesforce) → Test webhook** sends a synthetic event to verify delivery.
  </Accordion>

  <Accordion title="Missing fields in Thread">
    Field-level security in Salesforce is respected — if the connecting user doesn't have read access to a field, Thread won't see it. Add custom field mappings under **[Connectors → Salesforce](https://stitch.thread.app/home/connectors/salesforce) → Field mappings**.
  </Accordion>

  <Accordion title="Sandbox vs production">
    Sandbox and production are separate connections. Token refresh detects sandbox URLs automatically (`*.sandbox.salesforce.com`), so reconnecting is only required if you migrate the org type.
  </Accordion>
</AccordionGroup>

## Next steps

<CardGroup cols={2}>
  <Card title="Customer handover" icon="handshake" href="/use-cases/customer-handover">
    Build the AE → CSM brief that Salesforce data drafts for you.
  </Card>

  <Card title="Building workflows" icon="diagram-project" href="/csm-guide/workflows/building-workflows">
    The full node reference for orchestrating onboarding.
  </Card>
</CardGroup>
