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

# Configuring the m3ter Connector for Salesforce

When you've installed the m3ter Connector for Salesforce managed package, you can configure your Salesforce org for syncing Salesforce data objects and fields to m3ter objects and fields to support your sales process.

This topic explains how to install the m3ter Connector for Salesforce into your Salesforce org, how to utilize the Connector for Salesforce CPQ syncing, and provides a worked example of how to set up and test for syncing Salesforce data objects and fields with your m3ter Organization.

* [Installing the m3ter Connector for Salesforce](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#installing-the-m3ter-connector-for-salesforce)
* [Utilizing the Connector for Salesforce CPQ Syncing](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#utilizing-the-connector-for-salesforce-cpq-syncing)
* [Syncing Example - Prerequisites in Salesforce Org](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#syncing-example-prerequisites-in-salesforce-org)
* [Adding m3ter Admin Permissions for Org Users](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#adding-m3ter-admin-permissions-for-org-users)
* [Adding m3ter Sync Action for Sales Object](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#adding-m3ter-sync-action-for-sales-object)
* [Adding Credentials to the m3ter App](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#adding-credentials-to-the-m3ter-app)
* [Creating m3ter Mappings](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#creating-m3ter-mappings)

<Warning>
  **Important! Please consult your Salesforce Documentation and Salesforce Admin User:**

  * The instructions in this topic explaining how to set up a Salesforce org for a Sales integration inbound flow into m3ter are intended for guidance only. We do not hold ourselves responsible for any changes made by Salesforce, and *strongly recommend* that you consult your Salesforce end user documentation as you perform this configuration, and treating the Salesforce documentation as authoritative.
  * We also *strongly recommend* that this configuration work in a Salesforce org be carried out by a Salesforce Admin user or that someone with that level of expertise is available for guidance as you perform these set up tasks.
</Warning>

## Installing the m3ter Connector for Salesforce

When you are ready to install the m3ter Connector for Salesforce for your Salesforce org, please get in touch with m3ter Support or your m3ter contact for assistance with the install process.

<Tip>
  **Tip: Download from Salesforce AppExchange?** You *cannot download* the m3ter Connector managed package directly from the AppExchange. You can purchase it as an add-on with your m3ter licence.
</Tip>

## Utilizing the Connector for Salesforce CPQ Syncing

The following sections provide a worked example of how work with the m3ter Connector to set up for a sync action with m3ter using a Sales Opportunity. If however your main business use case requires you to use the m3ter Connector for Salesforce CPQ data syncing, please get in touch with m3ter Support or your m3ter contact for assistance with the set up work to meet your specific requirements.

## Syncing Example - Prerequisites in Salesforce Org

The remaining sections in this topic take you through a worked example for the steps required in your Salesforce org to set up for syncing Salesforce data objects and fields with m3ter objects and fields using the m3ter Connector. The example uses a Salesforce Opportunity and some additional setting up is also required:

* Create a Product and add a Price Book to it.
* Create an Opportunity and add the Product to it.

It's assumed in the following sections that these prerequisites are in place in your Salesforce org.

<Warning>
  **Warning!** If you're syncing a Sales object - in the example below an Opportunity - then the Contract mapping is required.
</Warning>

## Adding m3ter Admin Permissions for Org Users

When you've installed the m3ter Connector, you can add m3ter Admin permissions for your Salesforce org Users. This will enable Users to set up and test for syncing Salesforce data with m3ter objects and fields.

**To add m3ter Admin permissions for org Users:**

1. At top-right, select the gear icon and on the drop-down menu, select **Setup**:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1715943818-salesforce2.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=88d4aaf9a13d1eafc4c897f71ca922e5" style={{ maxWidth: 'min(150px, 100%)' }} width="216" height="214" data-path="images/1715943818-salesforce2.png" />

* The **Setup** page opens.

2. In the **Quick Find** field at top-left, enter *users* and then select **Users**:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1715944292-salesforce4.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=bb738c89d715f9bd3c6504a80a72f7e3" style={{ maxWidth: 'min(200px, 100%)' }} width="288" height="443" data-path="images/1715944292-salesforce4.png" />

* The **Setup>Users** panel opens.

3. Select the **Full Name** link of the org user you want to add Permission Sets for:

* The **Users** panel adjusts to show the details of the selected User.

4. Scroll down to the **Permission Set Assignments** section and select **Edit Assignments**:

* The **Permission Set Assignments** panel opens for the selected User

5. If **m3ter Admin** does not appear in the **Enabled Permission Sets** list, select it from the **Available Permission Sets** list and select **Add**:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1715946825-salesforce5.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=6ac63fd1a0481d2e315f6cbdae3f6ce1" style={{ maxWidth: 'min(600px, 100%)' }} width="836" height="288" data-path="images/1715946825-salesforce5.png" />

6. Select **Save**. You are returned to the **Setup>Users** panel for details of the selected User where the **Permission Set Assignments** section will show the newly added **m3ter Admin** Permission Set:

* The User will now be able to configure and test the set up for syncing Salesforce data with m3ter objects and fields.

## Adding m3ter Sync Action for Sales Object

Salesforce org Users with the m3ter Admin Permissions Set assigned can add m3ter Sync Actions for Salesforce objects. This section explains how and uses the Opportunity object as an example.

**To add m3ter Sync Action for Sales Object:**

1. At top-right in **Setup**, select the **Object Manager** tab.
2. In the **Quick Find** field at top-right, enter **Opportunity**:

* This filters the **Object Manager** list and saves you having to scroll to find the Object.

3. In the **LABEL** column, select the **Opportunity** link:

* The **Opportunity Details** panel opens:

<Tip>
  **Tip: Refresh page?** You might have to refresh after selecting if the page does not appear right away.
</Tip>

4. Select **Page Layouts**.
5. Under **PAGE LAYOUT NAME** select the default **Opportunity Layout** link:

* Note that if using a scratch org, there should only be one layout listed.
* The **Opportunity Layout** opens.

6. In the expanded **Opportunity Layout** panel at the top, select **Mobile and Lightning Actions**:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716214797-salesforce11.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=47cf4212ccda4e9848510ff9c90385a7" style={{ maxWidth: 'min(750px, 100%)' }} width="1145" height="263" data-path="images/1716214797-salesforce11.png" />

7. Scroll down the page to the corresponding **Salesforce Mobile and Lightning Experience Actions** section and select **override the predefined actions**:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716214980-salesforce12.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=996700cf035db8649172a05af812b84c" style={{ maxWidth: 'min(750px, 100%)' }} width="1158" height="222" data-path="images/1716214980-salesforce12.png" />

* The section opens to show the predefined actions for the **Opportunity Layout**.

8. Drag-and-drop the **Send to M3ter** action from the top panel into the **Salesforce Mobile and Lightning Experience Actions** section:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716216050-salesforce14.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=3493ae62e20bc02492495aa4f3a37bc1" style={{ maxWidth: 'min(750px, 100%)' }} width="1142" height="577" data-path="images/1716216050-salesforce14.png" />

<Tip>
  **Tip: Position as one of the first three actions!** In order that **Send to M3ter** is viewable when the Opportunity page is opened, position it as one one of the first three actions.
</Tip>

9. In the **Mobile and Lightning Actions** panel, select **Save**. Your updates to the Page Layout for the Opportunity object are saved and you're taken back to **Object Manager>Page Layouts**:

* When you open an Opportunity in your Salesforce org, the **Send to M3ter** button will now be shown at top-right of the page.

## Adding Sync Actions for Other Objects

The m3ter Connector for Salesforce package ships with Send to m3ter Quick Actions on Account and Opportunity out of the box. You can add the same Sync Action to any other Salesforce object — standard or custom — by creating a new Quick Action that uses the package's syncRecord Lightning Web Component.

**To add Sync Action for other Salesforce Objects:**

1. First and as a necessary prerequisite, make sure a **SyncConfig\_\_mdt** record exists for the object you're adding the action to. The Quick Action *will fail at runtime* if the orchestration service can't find a matching SyncConfig for the controlling object type.
2. In **Setup**, go to **Object Manager** and select the object you want to add the Sync Action to. For example: **Order**, **Contract**, **Quote**, or a custom object.
3. Open **Buttons**, **Links**, and **Actions** and then select **New Action**.
4. Enter the configuration details for the new Sync Action:

* **Action Type**: **Lightning Web Component**
* **Lightning Web Component**: **m3:syncRecord**
* **Standard Label Type**: None
* **Label**: **Sync to m3ter** (or another label conforming to your Organization's naming conventions)
* **Name**: **Sync\_to\_m3ter** (auto-populates from **Label** entry)
* **Icon**: Optional setting - select **Change Icon** to select an icon that matches your page layout.

<img src="https://mintcdn.com/m3ter/IK8-d42JPUN320rd/images/SalesForce60.png?fit=max&auto=format&n=IK8-d42JPUN320rd&q=85&s=ed5bba3b95273ca972cd126d4bec2ffd" alt="Sales Force60" width="842" height="405" data-path="images/SalesForce60.png" />

* In this example, a **New Action** is configured for the **Order** object.

5. Select **Save**.
6. Add the new **Sync Action** to the object's page layout - **Lighting Record Page** or **Classic** page layout - so that users can see and select it.

## Adding Credentials to the m3ter App

You can add the required credentials to the m3ter App in your Salesforce org. This will allow the App to connect to and access your m3ter Organization.

**To add Credentials to the m3ter App:**

1. In the **Apps** menu, search for and select the **m3ter** App:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716294422-salesforce22.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=c3979cdac7ce1a24422620b31ece4924" style={{ maxWidth: 'min(200px, 100%)' }} width="415" height="330" data-path="images/1716294422-salesforce22.png" />

* If this is the first time you've added credentials for the m3ter App, you'll be prompted to configure a **Connection Setup** for the integration of your Salesforce instance with m3ter:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716295731-salesforce23.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=33e576c574e49b81ae1a5c3914988f52" style={{ maxWidth: 'min(700px, 100%)' }} width="1268" height="440" data-path="images/1716295731-salesforce23.png" />

<Warning>
  **Warning: m3ter App not found!** If you do not see the m3ter App as an option on the Apps menu, then you must go back and complete the [Adding m3ter Admin Permissions for Org Users](/guides/m3ter-connector-for-salesforce/configuring-m3ter-salesforce-connector#adding-m3ter-admin-permissions-for-org-users) section above.
</Warning>

2. Select **Create**. The **Connection Setup** tab opens, where you can enter the required details to complete m3ter integration setup:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716296126-salesforce24.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=6f778c5a4270c0299ad90f2e1cf3a6d4" style={{ maxWidth: 'min(700px, 100%)' }} width="1265" height="778" data-path="images/1716296126-salesforce24.png" />

* **Access Key**. The m3ter Service User's *Access Key ID*.
* **Api Secret**. The m3ter Service User's *API Secret*.
  * For details on how to generate the *Access Key ID* and *API Secret* for a m3ter Service User, see [Service Authentication](/guides/authenticating-with-the-platform/service-authentication).
* **m3ter Base Url**. For example: [*https://api.m3ter.com*](https://api.m3ter.com)
  * **NOTES**:
    * In a typical case where your are connecting to the m3ter Production environment, this will be: [*https://api.m3ter.com*](https://api.m3ter.com)
    * If you include a forward slash at the end of the URL, you'll get a connection error.
    * If you use *http* and **not** *https*, you'll get a connection error.
* **m3ter Org Id**. The ID of the m3ter Organization you are connecting to:
  * You can copy this ID directly to your clipboard from your m3ter Organization - go to **Settings>Organization>Organization Details**.

3. Select **Save Integration Settings**:

* A progress bar runs and a message shows when the connection settings have been successfully saved.
* Note that the **Access Key** and **Api Secret** will be wiped immediately.

4. Refresh the page.
5. Select the **Setup** tab again. You'll see that a connection for m3ter integration has been added:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716297545-salesforce25.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=32b02462eb301a74cbfe3e00feb2a8d3" style={{ maxWidth: 'min(700px, 100%)' }} width="1265" height="388" data-path="images/1716297545-salesforce25.png" />

## Creating m3ter Mappings

When you install the m3ter Connector managed package, a set of Custom Metadata Types are installed. These metadata types contain preconfigured mapping definitions that specify *in general* how Salesforce data objects and fields are mapped to counterpart m3ter objects and fields:

* For example, which fields on the Salesforce  Account object are mapped to which fields on the m3ter Account object.

However, you'll also have to define m3ter Mappings to relate *specific* Salesforce data items to *specific* m3ter data items:

* For example, that you want the the Salesforce Product called **Mega Storage** to be mapped to the m3ter Plan called **Mega Storage Plan**.
* Note that m3ter Mappings can be 1 to 1 or 1 to many.

<Tip>
  **Tip: Custom Metadata Types?** See the following [Reviewing and Managing Metadata Mappings](/guides/m3ter-connector-for-salesforce/reviewing-and-managing-metadata-mappings) topic for more details.
</Tip>

**To create m3ter Mappings:**

1. Open the **m3ter App** and select the **m3ter Mappings** tab:

* The **Recently Viewed** list opens, and you can use the **List Views** drop-down to select **All**.
* For a fresh scratch org, there will be no mappings yet created.

2. Select **New**. A **New m3ter Mapping** modal opens.
3. Enter any required Mappings:

<img src="https://mintcdn.com/m3ter/daiiRMWPVUZ0w-iK/images/1716379887-salesforce26.png?fit=max&auto=format&n=daiiRMWPVUZ0w-iK&q=85&s=f33b83bfb07575ca19625f941cc4326b" style={{ maxWidth: 'min(600px, 100%)' }} width="1049" height="717" data-path="images/1716379887-salesforce26.png" />

In this example, we've entered the minimal mappings:

* **ProductName**. Name of the Product in your m3ter Organization.
* **MappingKey**. The Product Code of a Product added to the Salesforce Opportunity object.
* **PlanId**. The ID of the Product Plan in your m3ter Organization:
  * Note that you can copy this ID directly to your clipboard from your m3ter Organization - go to **Pricing>Plans** and select the **NAME** text link to open **Plan Details**.

<Tip>
  **NOTE: Standard Pricing vs. Pricing Override:**

  * This minimal mapping configuration using the m3ter **PlanId** ensures standard pricing is preserved - the pricing defined for the Product in m3ter *will not be overridden*.
  * If you want any change in the Salesforce pricing for the Product added to the Opportunity *to override* the pricing defined in m3ter for the Product, then you must also enter the IDs for the **Aggregation** and **PlanTemplateId**.
</Tip>

4. Select **Save**. The modal closes and you're taken back to the **Details** tab for the **m3ter Mapping.**
