---
title: "Set up a Salesforce Integration"
subtitle: "Sync Luma guests into Salesforce to empower your marketing and sales teams."
slug: "set-up-a-salesforce-integration"
url: "https://help.luma.com/p/set-up-a-salesforce-integration"
tags: ["Enterprise", "Integrations"]
---

_The Salesforce integration is an Enterprise add-on._

Connecting Luma to Salesforce syncs event guests from your organization’s calendars into Salesforce. Each event becomes a **Campaign**, each guest a **Contact**, and each registration a **Campaign Member**. The sync is one-way (Luma → Salesforce) and runs through a managed package your admin installs.

## Setting up the integration

### Before you start

You’ll need:

- Admin access to your Salesforce org (specifically, the ability to create users, install managed packages, and assign permission sets).
- Admin access to a Luma organization, available only on the [Enterprise plan](/p/enterprise-overview).

### Step 1 — Create a dedicated user in Salesforce

Create a dedicated Salesforce user for Luma so the integration’s actions are clearly attributed. It takes one of your **Salesforce** license seats with the **Standard User** profile — the cheaper "Salesforce Integration" license can’t write Campaigns or Campaign Members.

In Salesforce:

1. Go to **Setup → Users → New User**.
2. Fill in the basics. The first and last name can be anything memorable like "Luma" / "Integration".
3. Set **User License** to `Salesforce`.
4. Set **Profile** to `Standard User`.
5. **Check the Marketing User checkbox** (it lives near the User License field on the same form, separate from any permission set). Without it, Luma can’t create Campaigns even if everything else is configured correctly — you’ll see permission errors during sync.
6. Use a real email address you control — Salesforce will send the activation link there.
7. Save. Click the activation link in the email Salesforce sends, and finalize the password.

### Step 2 — Install the Luma managed package

[Click this link to install the Luma package on your Salesforce instance.](https://login.salesforce.com/packaging/installPackage.apexp?p0=04tal0000072ptdAAA)

If your org blocks `login.salesforce.com`, replace it in the install link with your own installation domain. Sandboxes and My Domain–only orgs aren’t supported by the OAuth flow yet — reach out and we’ll prioritize it.

When prompted, choose **Install for Admins Only** and confirm. The install adds three things to your Salesforce org:

- A custom field on the Campaign object (`Luma Event ID`) that links each Salesforce Campaign back to the Luma event it came from.
- A permission set called **Luma Field Access** that grants access to that custom field.
- An **External Client App** named **Luma** that Luma uses to authenticate.

### Step 3 — Create the Luma Object Access permission set

The package’s **Luma Field Access** permission set covers Luma’s custom field. You also need a second permission set granting access to standard objects — Contacts, Campaigns, and Campaign Members.

In Salesforce:

1. Go to **Setup → Permission Sets → New**.
2. Set **Label** to `Luma Object Access` and click **Save**. (Salesforce will fill in the API name as `Luma_Object_Access`.)
3. On the new permission set, scroll to **System Permissions** and enable **API Enabled**, **View Setup and Configuration**, and **View Roles and Role Hierarchy** (if not already enabled). Save.
4. Click **Object Settings**, then for each of **Contacts**, **Campaigns**, and **Campaign Members**:
   - Click the object name → **Edit**.
   - Under **Object Permissions**, check **Read**, **Create**, and **Edit**.
   - Under **Field Permissions**, scroll to find each field below and check **Read Access** and **Edit Access**:
     - **Contacts**: Email, Phone
     - **Campaigns**: Start Date, End Date, Description, Type, Status
     - **Campaign Members**: Status. Other fields here look greyed out because they’re aliases of Contact fields — that’s expected, you don’t need to change them.
   - Click **Save**.

### Step 4 — Assign both permission sets to the dedicated user

The dedicated user needs both **Luma Field Access** (from the package) and **Luma Object Access** (the one you just created). The fastest way to assign both at once is from the user record:

1. Go to **Setup → Users** and click the dedicated user.
2. Scroll to the **Permission Set Assignments** section and click **Edit Assignments**.
3. In the **Available Permission Sets** list, select **Luma Field Access** and **Luma Object Access** (hold ⌘ / Ctrl to select both) and click **Add** to move them to **Enabled Permission Sets**.
4. Click **Save**.

Without these, sync will fail with permission errors when Luma tries to create Campaigns, Contacts, or Campaign Members.

### Step 5 — Connect Salesforce to Luma

Back in Luma, navigate to your **organization settings**, open the **Developer** tab, and find the **Salesforce Integration** section. Click **Connect** — you’ll be redirected to Salesforce’s sign-in screen at `login.salesforce.com`.

**Sign in as the dedicated user** (not your own admin account). Salesforce binds the connection to whoever signs in here, and the integration will run as that user going forward.

## Unlinking the integration

Click **Unlink Salesforce** next to the connected organization in the Salesforce section. Luma will stop syncing. You can reconnect at any time.
