---
schema_version: "1"
id: cc46028e8a8656c55e1cf83063e4f61bd537aef3d07dd48bc01eb229438bf762
title: Create and Configure Integration Definitions and Named Credentials
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/collections_create_ip_compliance_check.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.collections_create_ip_compliance_check.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 77bb475291f5e68407d6b778f9a12a8c09d372e02afb408b779cd56874ad3f44
description: To connect Salesforce with an external system, create integration definitions. APIs work with the integration definitions to perform operations in both Salesforce and the external system. Link the prebuilt APEX class to the integration definition.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Create and Configure Integration Definitions and Named Credentials

To connect Salesforce with an external system, create integration definitions. APIs work with the integration definitions to perform operations in both Salesforce and the external system. Link the prebuilt APEX class to the integration definition.

### 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: Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <a href="https://help.salesforce.com/s/articleView?id=ind.collections_editions_permissions.htm&amp;release=264.0.0&amp;type=5" title="Review the supported products, editions, and permissions for Collections. Then learn how your product handles permissions and how to assign them.">View product and edition availability.</a></td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col>
          <col>
        </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="d8898e68">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e68 ">To create Apex Defined integration definitions:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e68 ">Customize Application</td>

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

1. [Create an integration definition](https://help.salesforce.com/s/articleView?id=ind.consumption_framework_integration_definitions.htm&language=en_US) with these details, save the changes, and activate the integration definition.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:50%"> <col style="width:50%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Type</td><td class="slds-cell-wrap" style="vertical-align:top;">Apex Defined</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Name</td><td class="slds-cell-wrap" style="vertical-align:top;">PostComplianceDetails</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Apex Class</td><td class="slds-cell-wrap" style="vertical-align:top;">fsc_collection_apex.RequestComplianceIntegrationProvider</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Plain Client Id Attribute</td><td class="slds-cell-wrap" style="vertical-align:top;">Copy the consumer key from the local external client application that you created earlier.</td></tr></tbody></table>
    
    If you plan to change the integration definition name, make sure that you update the changed name in the remote action that's called by the integration procedure, Collections\_CheckOutboundCallComplianceForBorrowerContacts.
2. [Create an external credential](https://help.salesforce.com/s/articleView?id=xcloud.nc_create_edit_external_credential.htm&language=en_US) with these details, and save the changes. Make sure that you create a Principal.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small "><colgroup><col style="width:50%"> <col style="width:50%"></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Authentication Protocol</td><td class="slds-cell-wrap" style="vertical-align:top;">OAuth 2.0</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Name</td><td class="slds-cell-wrap" style="vertical-align:top;">PostComplianceDetail</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Authentication Flow Type</td><td class="slds-cell-wrap" style="vertical-align:top;">Client Credentials with Client Secret Flow</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Identity Provider URL</td><td class="slds-cell-wrap" style="vertical-align:top;">Copy the Callback URL from the external auth identity provider that you created earlier and paste it here.</td></tr></tbody></table>
3. [Create a named credential](https://help.salesforce.com/s/articleView?id=xcloud.nc_create_edit_external_auth_identity_provider.htm&language=en_US) with these details, and save the changes.
    
    <table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
            <colgroup>
              <col style="width:25%">
              <col style="width:75%">
            </colgroup>
            <thead class="slds-text-title_caps ">
              <tr class="">
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d8898e237">Field</th>
                <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d8898e240">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e237 ">Label</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e240 ">postComplianceNC</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e237 ">Name</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e240 ">postComplianceNC</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e237 ">URL</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e240 ">
                  <p>Provide the API end point of the compliance application. Append the compliance query
                    string and a specific path in the callout definition’s reference to the named credential
                    as shown in this
                    example.</p>
                  <pre class="line-numbers slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium slds-scrollable_x" id="collections_create_ip_compliance_check__codeblock_nns_nnb_dfc"><a name="collections_create_ip_compliance_check__codeblock_nns_nnb_dfc"><!-- --></a><code>https://orgfeature.cumuluscapital.com/services/data/v64.0/connect/compliance/procedure/CollectionsAndRecovery/evaluate</code></pre>
                </td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e237 ">Enabled for Callouts</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e240 ">Turn on this setting</td>

              </tr>
              <tr class="">
                <td data-label="Field" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e237 ">External Credential</td>

                <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d8898e240 ">Select the external credential that you created earlier</td>

              </tr>
            </tbody>
          </table>
4. To link the new external credential principal to permission sets or user profiles so that users can make callouts by using the named credential, [create a permission set and add the external credential principal](https://help.salesforce.com/s/articleView?id=xcloud.nc_enable_ext_cred_principal.htm&language=en_US).
5. To enable any user performing an authenticated callout, in the new permission set, [provide View All Fields and Modify All Records object permissions to the User External Credentials object](https://help.salesforce.com/s/articleView?id=xcloud.nc_user_external_credentials.htm&language=en_US).
6. [Assign the new permission set to the user performing an authenticated callout](https://help.salesforce.com/s/articleView?id=platform.perm_sets_manage_assignments.htm&language=en_US).