---
schema_version: "1"
id: b890c01bb2410a4a1bea6bf69eeed50f474a154a9eb00eadda2e92aa45a8e11a
title: Set Up a Third-Party Connector in Salesforce Spiff
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/spiff_connector_third_party_setup.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.spiff_connector_third_party_setup.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: cc7ecea70b1459e2f97f3f783b6ee28f0720fa2adfb3263e8fdb85e7e73e41f1
description: Salesforce Spiff REST API or a webhook processes all automated third-party data imported into Spiff. Send data to Spiff REST API or webhook endpoints directly or use an Integration Platform as a Service (iPaaS) tool, such as Workato. Workato provides a default Spiff connector that uses webhook endpoints for integrating third-party data with Spiff more easily. To purchase the Workato connector, contact your Salesforce account executive or sales partner. You can also use another iPaaS tool or design a custom solution.
products:
  - Sales Cloud
  - Sales Enablement
release: "264"
---
# Set Up a Third-Party Connector in Salesforce Spiff

Salesforce Spiff REST API or a webhook processes all automated third-party data imported into Spiff. Send data to Spiff REST API or webhook endpoints directly or use an Integration Platform as a Service (iPaaS) tool, such as Workato. Workato provides a default Spiff connector that uses webhook endpoints for integrating third-party data with Spiff more easily. To purchase the Workato connector, contact your Salesforce account executive or sales partner. You can also use another iPaaS tool or design a custom solution.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available for an additional cost in: <strong>Professional</strong> Edition with Web Services API Enabled</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d36685e77">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d36685e77 ">To manage a third-party connector:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d36685e77 ">
              <p>Workato access</p>
              <p>AND</p>
              <p>A Spiff <a href="https://help.salesforce.com/s/articleView?id=sales.spiff_users_roles_and_permissions.htm&amp;release=264.0.0&amp;type=5" title="Give users the appropriate level of access so they can be successful in Salesforce Spiff, and enforce the principle of least privilege. Assign a default role to each user, or create custom roles with access to specific Spiff functionality.">user role</a> with these permissions turned on.</p>
              <ul>
                <li>Connectors: Edit</li>

                <li>Data Sources: Sync</li>

              </ul>
            </td>

          </tr>
        </tbody>
      </table>

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/images/icon_tip.png)

Tip Before you begin importing data from an external source, we recommend that you create a data mapping spreadsheet that lists all objects and fields that you plan to sync. See [Recommended Data Mapping Prerequisite for Salesforce Spiff](https://help.salesforce.com/s/articleView?id=sales.spiff_data_mapping.htm&release=264.0.0&type=5 "Before you import data from Salesforce or a third-party data source into Salesforce Spiff, create a data mapping spreadsheet that lists all objects and fields that you plan to sync. Make sure that you collaborate with all required stakeholders and receive approval for your design before you set up the connectors and sync data.").

## Create a Webhook in Spiff

A webhook provides an endpoint that Spiff uses to verify that the data source is legitimate and to request data from.

1. From the Admin menu, select **Settings**.
2. Scroll to the bottom of the left navigation panel and select **Webhook Settings**.
3. Click **Add Webhook**.
4. Make a note of the webhook ID and secret shown in the confirmation window.

The webhook ID and secret serve as your credentials for sending data to Spiff. If you close the window without copying these values, you can’t recover them. You can only generate new tokens. See [Refresh Webhook Tokens in Salesforce Spiff](https://help.salesforce.com/s/articleView?id=sales.spiff_refresh_webhook_token.htm&release=264.0.0&type=5 "If you didn’t make note of the connector ID and secret for a webhook that you created in Salesforce Spiff, those credentials are permanently lost when you close the new webhook window. These credentials are required when you set up a Spiff connection in Workato. You can’t restore these credentials, but you can generate different values.").

The webhook appears in the list of active connectors on the Connectors page in the Admin menu.

## Configure the Webhook Mapping

1. Go to the Synced Objects and Fields page.
    - If you’re still on the Webhook Settings page, click the three dots next to the webhook and select **Manage Mappings**.
    - From any other page in the app, go to the Admin menu, select **Connectors**, and then select **Synced Objects & Fields**.
2. Hover over Webhook in the left panel and click the **+** icon.
    
    ![Add new mapping](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/sales_performance_management/images/spiff/spiff_workato_new_mapping.png)
3. Complete the mapping form.
    
    ![New mapping form](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/sales_performance_management/images/spiff/spiff_sync_add_new_mapping_form.png)
    
    - Mapping Type (1) specifies the normalized mapping that determines how some other options behave. For custom objects, select **Synced Record**. You can’t change this value after you save.
    - Mapping Label and Mapping Label Plural (2) specifies a name for the mapping.
    - Required Translator Fields (3) specifies a JSON representation of the required fields. When you send data with a webhook, you send a JSON body with a list of structure objects. Every object type requires a unique external\_id, and some normalized objects require other fields.
    - Allowed Translator Fields (4) specifies the object’s other supported fields.
    
    For example, if Mapping Type is User, each user has the fields name, email, and external\_id. Include the field role or role\_uuid depending on whether users have default Spiff roles or custom roles.
    
    - If your users have default Spiff roles assigned, include the role field.
    - If a Spiff admin created custom roles and your users have custom roles assigned, include the role\_uuid field instead. Make sure that your data source specifies the custom role’s UUID. To find the UUID of a custom role, select the role on the Role Management page and copy the UUID from the page URL, such as `e9591490-cd7f-4309-84c7-061fdb6894e6`.
4. Save your changes.

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/images/icon_note.png)

Note You can’t update translator fields after you’ve started syncing data with a webhook mapping.

## Add Connector Fields

Because the data format for the connector is uncertain, create a connector field for each translator field that you specified in the mapping. For example, external\_id is a required translator field and connector field for all objects.

1. On the Synced Objects and Fields page, hover over the name of the mapping or object under the webhook, click the edit icon, and select **Manage Mapping**.
    
    ![The Manage Mapping icon](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/sales_performance_management/images/spiff/spiff_sync_manage_mapping.png)
2. Click the Connector Fields tab.
3. Click **Add New Connector Field** and add these values.
    - For Name and Label, enter identical values.
    - For Data Format, specify the data type for the field so that Spiff can parse and import the data correctly.
4. Save your changes.
5. Repeat these steps for other connector fields.

View or edit mappings and connector fields that you specified for a webhook on the Synced Objects and Fields page.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/images/icon_important.png)

Important You can delete webhook mappings individually, but you can’t undo a deletion. You can’t delete a webhook.

If you’re implementing a Workato integration, continue with the remaining steps.

If you’re implementing a custom integration with Spiff webhook endpoints, stop here and see [Get Started with Salesforce Spiff Webhook API](https://developer.salesforce.com/docs/sales/spiff/overview) in the _Salesforce Spiff Developer Guide_ for next steps.

## Set Up Connections and Recipes in Workato

If you purchased the Spiff connector in Workato, other fields are available on the Webhook Settings page in Spiff. An embedded Workato window is also available.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/images/icon_important.png)

Important Complete these steps as a user with access to Workato, and make sure that you completed all the previous steps first.

1. In Spiff, from the Admin menu, select **Connectors** and click **Data Automation**.
2. In the embedded Workato window, add the Spiff connection.
    1. Go to **Projects** | **Connections**.
    2. Search for Spiff and add the Spiff connection.
    3. Enter the webhook ID and secret that you saved when you created the webhook in Spiff.
    4. Update the subdomain, depending on your region.
        
        - If you’re in the US, use us1.
        - If you’re in the EU, use eu1.
3. Add another connection for the Inbound Data Source, such as BambooHR or Netsuite.
4. Configure Workato recipes.
    1. Go to Connectors From the Admin menu, click **Data Automation**, and then click **Recipes**.
    2. Set up Workato recipes and connections to map your data to the correct fields in Spiff.
        
        A recipe defines the components and rules for processing your data. For more information about working with Workato recipes, complete the Automation Pro I, Automation Pro II, and Automation Pro III certificate courses in Workato Academy. See [Automation Pro Certificate Courses](https://academy.workato.com/page/automation-pro-certificates) in Workato Academy.
5. Specify an email address for receiving connection or recipe error notifications.
    1. From the Admin menu, select **Settings**, and click **Webhook Settings**.
    2. Enter an email address and select a time zone.
    3. Save your changes.

## Configure Salesforce Spiff to Sync with the Data Source

To make sure that the Global Sync option in Spiff also syncs Workato data, create a webhook-triggered recipe in Workato for importing your data. After you configure the webhook, Spiff sends a request to Workato that triggers your recipe.

1. In Workato, create a webhook-triggered recipe. See [Create a webhook with the wizard](https://docs.workato.com/connectors/workato-webhooks/wizard.html) in Workato Docs.
2. In Spiff, from the Admin menu, select **Settings**, and click **Webhook Settings**.
3. Hover over the webhook, click the three dots, and select **Edit Webhook**.
4. Enter the URL that Workato provided for the webhook-triggered recipe.
5. Save your changes.
6. Click the sync data icon in the top right corner of Spiff. Verify that the source system sends data to Workato and make sure that the data loads correctly in Spiff. Check all objects and resolve any errors in Workato.
7. Complete user acceptance testing.

#### See Also

- [Data Types in Salesforce Spiff](https://help.salesforce.com/s/articleView?id=sales.spiff_data_types.htm&release=264.0.0&type=5 "Data that you import, connect, or create in Salesforce Spiff must match a supported data type.")
- [User Roles and Permissions in Salesforce Spiff](https://help.salesforce.com/s/articleView?id=sales.spiff_users_roles_and_permissions.htm&release=264.0.0&type=5 "Give users the appropriate level of access so they can be successful in Salesforce Spiff, and enforce the principle of least privilege. Assign a default role to each user, or create custom roles with access to specific Spiff functionality.")
- [_External site_: Workato](https://www.workato.com/)
- [_Salesforce Developers_: Get Started with Salesforce Spiff Webhook API](https://developer.salesforce.com/docs/sales/spiff/guide/webhook-api-get-started.html)