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

# Salesforce (Managed Package)

> Connect Salesforce by installing the Navattic managed package — an alternative for orgs that restrict external app authorizations.

export const MediaCard = ({title = '', url, type = 'demo'}) => {
  const attributes = type === 'demo' ? {
    'data-navattic-open': url,
    'data-navattic-title': title
  } : {
    'data-video': url
  };
  return <div {...attributes} className="hidden md:inline-block w-auto cursor-pointer overflow-hidden rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm">
<div className="flex items-center gap-3 bg-white dark:bg-gray-800 px-3 py-2">
<div className={`flex h-7 w-7 items-center justify-center rounded-md ${type === 'video' ? 'bg-blue-100 dark:bg-blue-900' : 'bg-orange-100 dark:bg-orange-900'}`} style={{
    backgroundColor: type === 'video' ? 'var(--video-bg)' : 'var(--demo-bg)'
  }}>
<Icon icon={type === 'video' ? 'circle-play' : 'square-mouse-pointer'} color={type === 'video' ? 'var(--video-icon)' : 'var(--demo-icon)'} />
</div>
<div>
<div className="text-sm font-medium text-gray-900 dark:text-gray-100">
{type === 'video' ? 'Watch video' : 'Try a demo'}
</div>
<div className="text-sm text-gray-500 dark:text-gray-400">{title}</div>
</div>
</div>
<style jsx>{`
  :root {
    --video-bg: #dbeafe;
    --video-icon: #2563eb;
    --demo-bg: #ffedd5;
    --demo-icon: #ea580c;
  }
  :global(.dark) {
    --video-bg: #1e3a8a;
    --video-icon: #60a5fa;
    --demo-bg: #7c2d12;
    --demo-icon: #fb923c;
  }
`}</style>
</div>;
};

<Info>
  The Salesforce Managed Package is available to select accounts and is being rolled
  out gradually. To have it enabled for your workspace, reach out to your account
  manager or [support@navattic.com](mailto:support@navattic.com).
</Info>

Most teams connect Salesforce with the [standard Salesforce integration](/integrations/salesforce), where Navattic authorizes your org directly and sets up the fields it needs for you.

The **Managed Package** is an alternative connection path for enterprise orgs whose IT policies block external app authorizations or restrict which external services can add fields and objects to Salesforce. Instead of authorizing Navattic as an outside app, your Salesforce admin installs a **Navattic package** into your own org. The package brings along everything Navattic needs — the Navattic Session object, the engagement fields on Leads, Contacts, and Accounts, and a permission set — so nothing is provisioned from outside.

Once connected, it behaves exactly like the standard integration: the same engagement data syncs to Leads and Contacts, and you set up field mappings, Playbooks, and reporting the same way.

<Note>
  Before setting up Salesforce, make sure you are [identifying visitors](/tracking/identify/visitors)
  so demo engagement can be matched to the right Leads and Contacts.
</Note>

## Before you start

* You'll need a Salesforce **administrator** to install the package and approve the connection.
* Decide which environment you're connecting: **Production**, a **Sandbox**, or a custom **My Domain** URL.

## Connecting via the Managed Package

<MediaCard url="https://navattic-docs.navattic.com/y2t0ma0" type="demo" title="Managed Package Setup" />

<Steps>
  <Step title="Install the Navattic package">
    In Navattic, go to **Settings → Integrations → Salesforce** and click **Connect**.
    In the **Connect to Salesforce** window, choose your **Salesforce platform** —
    Production, Sandbox, or Custom (enter your My Domain URL) — then click
    **Install package**. Salesforce opens in a new tab where your admin installs the
    Navattic package into your org.
  </Step>

  <Step title="Authorize Navattic">
    Back in Navattic, click **Yes, I've installed package**, then **Authorize Navattic**.
    You'll be redirected to Salesforce to approve the connection. Sign in as your
    admin and approve — Salesforce returns you to Navattic and the setup steps open
    automatically.
  </Step>

  <Step title="Assign the permission set">
    The person who authorized the connection needs access to the objects and fields
    Navattic writes to. In Salesforce, open the **NavatticPermissionSet** permission
    set, then choose **Manage Assignments → Add Assignment** and select that user.

    You can skip this step if the user already has the **Modify All Data** system
    permission (Salesforce administrators usually do).
  </Step>

  <Step title="Trust Navattic's IP (optional)">
    Only needed if your Salesforce org enforces **Trusted IP Ranges**. Copy the IP
    address shown in Navattic, then in Salesforce add it under
    **Setup → Network Access → New Trusted IP Range**.

    <Note>
      If you need this step and the IP address isn't available yet, reach out to
      Navattic support to have it enabled.
    </Note>
  </Step>

  <Step title="Run a test">
    Click **Run test**. Navattic writes a small test record to your Salesforce org to
    confirm the connection works end to end. If Salesforce rejects the write, the exact
    error is shown so you can adjust the permission set or IP allowlist and try again.

    The test record is safe to delete afterward — its **Name** starts with
    `navattic-mp-setup-test-`.
  </Step>
</Steps>

Once the test passes, your Salesforce integration is connected.

## Next steps

Field mappings, Playbooks, running syncs, and reporting all work exactly as they do for
the standard integration. Follow the [Salesforce integration guide](/integrations/salesforce)
from **Set Up Field Mapping** onward to finish configuring what data flows to Salesforce.
