> For the complete documentation index, see [llms.txt](https://help.getmobly.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.getmobly.com/help-center/integrations/crm/salesforce/setup-guide.md).

# Salesforce setup guide

Mobly's Salesforce integration syncs every captured-and-enriched lead into your Salesforce Lead, Contact, and (optionally) Account objects. Connection runs through Mobly's new integration platform, so there's no Connected App, OAuth Consumer Key, or Password Auth panel to manage on your side.

## What you can do

* **Sync leads to Salesforce Leads, Contacts, or Accounts** — three sync strategies, see [Choose a sync mode](#choose-a-sync-mode) below
* **Sync to Custom Objects** — Mobly can map captured lead fields to custom objects in your Salesforce org if they're configured in the new Mapping tab
* **Map any Mobly field to any Salesforce field** — standard or custom
* **Use Salesforce picklists** for qualifier mapping — both restricted and unrestricted picklists
* **Log lead activities to Salesforce as Tasks** — outreach actions in Mobly (Pulse sequence emails, calls, meetings, LinkedIn touches, SMS, manual notes) become Tasks on the matching Lead or Contact, with the activity type in the Subject and notes in the body. See [Finding Mobly activities in your CRM](/help-center/integrations/crm/finding-activities-in-your-crm.md) for the per-action breakdown
* **Sync to Salesforce Campaigns** — see [Connecting Salesforce Campaigns to Mobly Events](/help-center/integrations/crm/salesforce/connecting-campaigns.md) for per-event campaign sync
* **Toggle Automatic vs Manual sync** — see [Sync modes](/help-center/integrations/crm/sync-modes.md)

## What's not supported (yet)

* **Opportunity sync** — Mobly doesn't create or update Opportunities. Use Salesforce Flow or Process Builder to convert Mobly-created Leads into Opportunities downstream
* **Multi-integration** — running Salesforce alongside another CRM in the same Mobly org isn't supported today (one CRM per org)

## Before you connect

You'll need:

* A **Salesforce user account** with:
  * **API Enabled** permission (under the user's Profile or assigned Permission Set)
  * **Create + Edit** access to Lead, Contact, Account, plus any custom objects you've mapped
  * **Read + Edit** access to relevant fields on those objects
* A **Mobly admin account** to view and configure Integrations
* About 30 minutes for setup, longer if your Salesforce org has heavy validation rules or restricted profiles

Use a **dedicated integration user** if possible — create a Salesforce user with Mobly's required permissions whose credentials are owned by your IT team rather than tied to an individual employee. This survives team changes without breaking the integration.

## Connect the integration

1. Go to **Integrations → Salesforce** in Mobly
2. Click **Connect** on the Connect tab
3. Sign in to Salesforce in the OAuth window that opens
4. Approve the requested permissions

Detailed walkthrough of the Connect flow: see [Connecting your CRM](/help-center/integrations/crm/connecting.md).

> The legacy "OAuth 2.0 Connected App" setup with Consumer Key/Secret is no longer required. The new integration platform uses standard Salesforce OAuth — no Connected App configuration on your side.

## Choose a sync mode

Salesforce has three matching strategies, set on the Salesforce integration's Connect tab. Pick one based on how your team wants Mobly leads to land in Salesforce.

| Strategy                             | Match priority                                                         | What happens on no match                                      |
| ------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------------------- |
| **Leads and Contacts** (recommended) | Contact ID → Contact Email → Lead ID → Lead Email                      | Creates a new Lead                                            |
| **Leads only**                       | Lead ID → Lead Email                                                   | Creates a new Lead                                            |
| **Accounts and Contacts**            | Contact ID → Contact Email → Account by website domain or company name | Creates a new Contact in matched Account, or both if no match |

**Leads and Contacts** is the most common choice for orgs that use both Lead and Contact objects.

**Leads only** is for orgs that route everything through Lead first (typical for inbound-heavy or SDR-driven workflows where the Convert step happens later).

**Accounts and Contacts** is for orgs that work primarily with named Accounts and don't use Salesforce Leads.

You can change the strategy later, but in-flight leads sync against whatever was set when they were captured. Switching strategies mid-event can fragment a campaign across object types — pick before your first event if you can.

## Configure data flow

Work through the tabs in order:

1. [**Mapping**](/help-center/integrations/crm/field-mapping.md) — match Mobly fields to Salesforce fields. Persona section maps to Lead and/or Contact (depending on your sync mode); Company section maps to Account.
2. [**Qualifiers**](/help-center/integrations/crm/qualifiers.md) — define qualifiers and map values to Salesforce picklist options.
3. [**Campaigns**](/help-center/integrations/crm/campaign-mapping.md) — link Mobly events to Salesforce Campaigns.
4. [**Sync mode**](/help-center/integrations/crm/sync-modes.md) — Automatic by default; switch to Manual on the Connect tab if needed.

## Salesforce-specific configuration tips

**Restricted picklists.** If a Salesforce field has **"Restrict to Picklist Values"** turned on, Mobly can only send values that exist as options. Either pre-add every Mobly qualifier value to the Salesforce picklist, or turn restriction off, or map Mobly to an open-text field instead.

**Validation Rules.** Salesforce Validation Rules can reject Mobly's writes silently. If a custom Validation Rule requires fields Mobly isn't sending, leads land in **Reconciliation → Failed** under `DATA_VALUE_VALIDATION`. Either adjust the rule to allow Mobly's connecting user (using a `IF($User.Username == 'mobly@yourcompany.com', false, ...)`-style guard) or ensure Mobly is mapped to send the required fields.

**Field-level security.** Mobly's connecting user needs field-level read/write permission to every field in the Mobly mapping. Profiles or Permission Sets that lock down certain fields will cause Mobly to silently skip them. Check `Setup → Object Manager → [Object] → Fields & Relationships → [field] → Set Field-Level Security`.

**Long Text Areas.** Salesforce text fields default to 255 characters. For longer Mobly fields (notes, descriptions), use Long Text Area or Rich Text Area on the Salesforce side, or remap to a longer-tolerating field.

**Connected user lifecycle.** If the user that authorized Mobly is later deactivated or has API Enabled removed, syncing stops. Use a service account or rotate the connection to a current user proactively.

## Troubleshooting

If a synced lead shows up in **Reconciliation → Failed**, see [Fixing Salesforce sync errors](/help-center/integrations/crm/salesforce/troubleshooting.md) — there's a section per error category with the fix.

For broader integration questions (auth, permissions, what data lands where), revisit [Connecting your CRM](/help-center/integrations/crm/connecting.md) and [How data flows from Mobly to your CRM](/help-center/integrations/crm/how-data-flows.md).

## Related articles

* [Connecting your CRM](/help-center/integrations/crm/connecting.md)
* [Sync modes](/help-center/integrations/crm/sync-modes.md)
* [Field mapping](/help-center/integrations/crm/field-mapping.md)
* [Qualifiers](/help-center/integrations/crm/qualifiers.md)
* [Mapping campaign fields](/help-center/integrations/crm/campaign-mapping.md)
* [Reconciliation](/help-center/integrations/crm/reconciliation.md)
* [Fixing Salesforce sync errors](/help-center/integrations/crm/salesforce/troubleshooting.md)
* [Connecting Salesforce Campaigns to Mobly Events](/help-center/integrations/crm/salesforce/connecting-campaigns.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.getmobly.com/help-center/integrations/crm/salesforce/setup-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
