> For the complete documentation index, see [llms.txt](https://docs.vomevolunteer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vomevolunteer.com/integrations-and-automations/salesforce.md).

# Salesforce

{% hint style="info" %}
**Need help?** If you run into any issues installing the Salesforce app, or if you'd like to request any additional functionality, contact us at [support.vomevolunteer.com](https://support.vomevolunteer.com/).
{% endhint %}

***

## Salesforce Integration Setup

The Vome Integration Dashboard connects Salesforce with Vome for contact synchronization, automation, and data exchange. This guide walks through the full setup from installation through validation.

**What you'll do in this guide**

1. **Install** the Vome managed package and enable Apex metadata deployment
2. **Configure** authentication, OAuth, field mapping, and webhooks
3. **Validate** the integration by activating flows and checking sync rules

***

### 1. Pre-Installation Checklist

Before starting, confirm you have all of the following.

#### Credentials & access

* Salesforce System Administrator access to the target org
* **API Key** - provided by Vome, which is available for admins using Vome's Ultimate plan.
* **Client ID** and **Client Secret** - retrieved from your Salesforce org's **App Manager** *after* the package is installed (see Section 5B)

#### Salesforce areas you'll need

* Setup access
* Sites, Flows, Custom Metadata Types, Permission Sets
* Confirmed environment: **Sandbox (Test)** or **Production (Live)**

***

### 2. Install the Managed Package

1. Open the Vome managed package installation link: <https://login.salesforce.com/packaging/installPackage.apexp?p0=04tgK000000AWWT>
2. **Sandbox?** Replace `login` with `test` in the URL before opening.
3. Authenticate with your Salesforce credentials.
4. Choose **Install for All Users**, then click **Install**.
5. When prompted, approve third-party access for `api.vomevolunteer.com`.
6. Wait for installation to complete.\ <br>

   <figure><img src="/files/p9OjXHT0XGthC8vXDHKy" alt=""><figcaption></figcaption></figure>

\
**Sandbox vs. Production URLs**

The installation link defaults to Production (`login.salesforce.com`). For sandboxes, swap `login` → `test`:

```
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tgK000000ANL7
```

***

### 3. Enable Apex Metadata Deployment

This setting lets the package dynamically write and update configuration records at runtime. Without it, the integration cannot apply dynamic configuration changes automatically.

1. Go to **Setup**.
2. In Quick Find, search for **Apex Settings**.
3. Enable **Deploy Metadata from Non-Certified Package Versions via Apex**.
4. Click **Save**.<br>

   <figure><img src="/files/VgC6wPjBTBmUa6FcM15X" alt=""><figcaption></figcaption></figure>

***

### 4. Configure the Webhook Site

A Salesforce Site is what lets Vome call back into your org.

1. Go to **Setup → Sites** and click **New Site**.
2. Enter a Site Name (e.g., `Vome Integration`) and set **Active = TRUE**. Fill in any other required info and click **Save.**
3. You will now see your newly created Site. Click on the **name of the Site**, which will bring you to the **Site Details page**.&#x20;
4. Open **Public Access Settings** and grant access to the Apex class `VomeWebhookEndpoint`.

<figure><img src="/files/8mimi6RKkDG3qzgJadCY" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Note the Site's custom URL domain (e.g., `yourorg--dev.sandbox.my.salesforce-sites.com`). You'll need it for the Vome webhook endpoint in Section 10.
{% endhint %}

***

### 5. Integration Authentication

Authentication has three parts: Vome Settings, OAuth Configuration, and Field Mapping.

#### A. Vome Settings (Custom Metadata)

1. Go to **Setup → Custom Metadata Types**
2. You will see a label called **Vome Setting →** Click **Manage Records → New**
3. Enter the following values:

| Field    | Value                           |
| -------- | ------------------------------- |
| Label    | `Vome Setting (Production)`     |
| Name     | `Production`                    |
| Base URL | `https://api.vomevolunteer.com` |
| API Key  | *Found on Vome (see below)*     |

{% hint style="info" %}
To create an API key on Vome, please see [Authentication](/getting-started/publish-your-docs.md) for detailed steps.&#x20;
{% endhint %}

#### B. OAuth Configuration

1. Go to **Setup → Custom Metadata Types**
2. You will see a label called **Vome OAuth Config →** Click **Manage Records → New**
3. Name the record `Default`.
4. Enter the following values:

| Field         | Value                                               |
| ------------- | --------------------------------------------------- |
| Client ID     | *From Salesforce App Manager*                       |
| Client Secret | *From Salesforce App Manager*                       |
| Redirect URI  | `https://api.vomevolunteer.com/sfdc/oauth/callback` |
| Vome API Key  | *From Vome (see above)*                             |

#### C. Field Mapping Configuration

Field mapping controls how data flows between Salesforce and Vome. If either bundle is inactive, records may not sync correctly.

1. Go to **Setup → Custom Metadata Types**
2. You will see a label called **Fieldmap Bundle →** Click **Manage Records**.
3. Confirm both of these are **Active**:
   * `Contact Default Bundle`
   * `Account Default Bundle`

***

### 6. Activate the Sync Flow

1. Go to **Setup → Flows**.
2. Locate the flow named **Sync Contact To Vome Trigger**.
3. Open the flow (using the arrow on the right-hand side **→** Click **View Details And Versions**
4. Click **Activate**.

This enables automatic syncing of contacts between Salesforce and Vome.

***

### 7. Tour the Integration Dashboard

The Vome Integration Dashboard has three tabs:

<table><thead><tr><th width="265.99993896484375">Tab</th><th>Purpose</th></tr></thead><tbody><tr><td><strong>Settings</strong></td><td>Vome integration credentials</td></tr><tr><td><strong>Field Mapping</strong></td><td>Map Vome fields to Salesforce fields; add new mappings with <strong>+ Add New Mapping</strong></td></tr><tr><td><strong>Integration Rules</strong></td><td>Define when sync happens (on create, on update, or on a schedule)</td></tr></tbody></table>

***

### 8. Verify Integration Rules

On the **Integration Rules** tab, confirm these rules exist and are active:

| Rule           | Trigger         |
| -------------- | --------------- |
| Upsert Contact | Contact Created |
| Update Contact | Contact Updated |
| Daily Sync     | Scheduled       |

***

### 9. Assign Permission Sets

1. Go to **Setup → Permission Sets**.
2. Find and Click **Vome Integration User**.
3. Click **Manage Assignments → Add Assignments**.
4. Select the users who need access and click **Assign**.

***

### 10. Configure the Vome Webhook

Finally, register your Salesforce Site URL with Vome so events can flow back.

1. Log in to Vome > Integrations & apps > API & webhooks > webhooks
2. Click **+ Add Endpoint**.
3. Enter the webhook URL, using the Site domain from Section 4:

   ```
   https://[Your-Site-Domain]/services/apexrest/Vome/vome/rules/webhook
   ```
4. Select the events you wish to enable for this webhook&#x20;

{% hint style="info" %}
For example, if you want to update Salesforce when new profiles are added into Vome, you can enable that trigger event. You can include as many events as you expect to integrate with Salesforce
{% endhint %}

1. Set **Status = Active** and click **Save**.

***

### Troubleshooting

> **Integration not applying configuration changes?**
>
> Check that "Deploy Metadata from Non-Certified Package Versions via Apex" is enabled (Section 3).

> **Contacts aren't syncing?**
>
> Verify the **Sync Contact To Vome Trigger** flow is activated (Section 6) and that both Field Map Bundles are active (Section 5C).

> **Webhook events not arriving?**
>
> Confirm the Site is Active, `VomeWebhookEndpoint` has Public Access, and the endpoint registered in Vome matches your Site's custom domain exactly.

If you need help or have additional questions, reach out to us at contact us at [support.vomevolunteer.com](https://support.vomevolunteer.com/).


---

# 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:

```
GET https://docs.vomevolunteer.com/integrations-and-automations/salesforce.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
