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

# Getting started with Salesforce

> Learn how to configure Authsignal Call Connect with Salesforce for secure caller verification.

This guide shows how to configure Authsignal Call Connect with Salesforce. This integration enables IT help-desks and service desks to securely verify the identity of customers before taking action.

<Tip>
  Please [get in touch with the Authsignal team](https://www.authsignal.com/contact) to enquire
  about using our Salesforce integration
</Tip>

## Package installation

### Prerequisites

* Salesforce Organization (Enterprise Edition and up)
* System Administrator access
* Lightning Experience enabled
* Sites feature enabled

### Step 1: Install the package

<Steps>
  <Step title="Install managed package">
    The Authsignal team will provide you with a URL to use to install the managed package to your Salesforce instance.
    Navigate to this URL to begin.

    <Warning>
      Be sure to use the correct URL for your environment type `Production`/`Developer` vs `Sandbox`
    </Warning>
  </Step>

  <Step title="Choose installation option">
    Select **Install for Admins Only**, additional permissions settings will be set later.
  </Step>

  <Step title="Approve Remote Site Settings">
    When prompted about remote sites, click **Yes, grant access to these third-party websites**.

    This allows Authsignal Call Connect to communicate with Authsignal APIs.
  </Step>

  <Step title="Wait for installation and verify">
    Typically installation takes 2-5 minutes.

    Once complete navigate to **Setup -> Apps -> Packaging -> Installed Packages** to verify the presence of **Call Connect**

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-installed-packages.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=3f14d5ffd67a44b1f852ce3fc5fd2c82" width="1994" height="582" data-path="images/docs/integrations/salesforce/salesforce-installed-packages.png" />
  </Step>
</Steps>

### Step 2: Assign permission sets

<Warning>
  You must assign permission sets **immediately** after installation to access Call Connect
  functionality.
</Warning>

<Steps>
  <Step title="Assign to administrators">
    1. Navigate to **Setup → Users → Permission Sets**
    2. Click **Call Connect Administrator**
    3. Click **Manage Assignments**
    4. Select your admin user(s) to assign them the Call Connect Administrator role
    5. Click **Save**
  </Step>

  <Step title="Assign to standard users">
    1. Navigate to **Setup → Users → Permission Sets**
    2. Click **Call Connect Standard User**
    3. Click **Manage Assignments**
    4. Select all users who need to create authentication challenges and add them to assign the Standard User role
    5. Click **Save**
  </Step>
</Steps>

## Salesforce Sites configuration

Authsignal Call Connect uses a Site in order to receive a webhook from Authsignal. This informs Salesforce of the outcome of the Authsignal Call Connect authentication session.

### Step 3: Enable and configure Site

<Warning>
  Authsignal Call Connect makes use of Salesforce Sites. Other site types, such as Experience Sites,
  will not work with this webhook configuration.{" "}
</Warning>

<Steps>
  <Step title="Navigate to site configuration">
    Navigate to **Setup → Sites and Domains -> Sites**
  </Step>

  <Step title="Configure Salesforce Sites">
    If sites is not enabled for your Salesforce instance: click **Enable Sites**, accept the terms and conditions, and then you will be prompted to register for a domain.

    If Sites is already enabled but no domain exists, you will be asked to register for a domain name (e.g., `yourcompany-callconnect`)
  </Step>

  <Step title="Create a new site">
    * Click **New Site**

    * Enter the following details to configure your site:

      | Parameter             | Value                                                                              |
      | --------------------- | ---------------------------------------------------------------------------------- |
      | Site Label            | Call Connect Webhook Site                                                          |
      | Site Name             | CallConnectWebhookSite                                                             |
      | Active Site Home Page | Select any available page e.g. **AnswersHome**, **FileNotFound**, or **SiteLogin** |

          <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-webhook-site-config.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=b5652abcc1545472a890a78b093ceb35" width="1644" height="1862" data-path="images/docs/integrations/salesforce/salesforce-webhook-site-config.png" />

    * Click **Save**

    * Note the site domain name configuration, for later configuration in the Authsignal portal.
  </Step>
</Steps>

<Warning> You must select an active home page for the site to function properly </Warning>

### Step 4: Assign webhook permissions to guest user

<Steps>
  <Step title="Navigate to guest user">
    In the Site details, click **Public Access Settings**.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-webhook-publicaccess.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=02ef3415618beb06497e2c2bbf6ac6a4" width="1312" height="290" data-path="images/docs/integrations/salesforce/salesforce-webhook-publicaccess.png" />

    Click **View Users**, and find the **Site Guest User**.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-webhook-guest.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=90121e4131b5950896802986209a7b58" width="1014" height="462" data-path="images/docs/integrations/salesforce/salesforce-webhook-guest.png" />

    Click on their name **Site guest user** to open their profile.
  </Step>

  <Step title="Assign permission set to guest user">
    Click **Edit Assignments** under Permission Set Assignments

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-guest-user-permission-set-assignments.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=b1fa41566538a7b8f6c23ab6cb07c65c" width="1254" height="116" data-path="images/docs/integrations/salesforce/salesforce-guest-user-permission-set-assignments.png" />

    Add **Call Connect Webhook User** permission set to the list.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-guest-user-permission-set-assignment.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=199afffd3d38ba1f48dcece07d2f4ab0" width="1548" height="830" data-path="images/docs/integrations/salesforce/salesforce-guest-user-permission-set-assignment.png" />

    Click **Save**
  </Step>

  <Step title="Verify webhook health">
    Verify the webhook is accessible by calling the health check endpoint.

    This varies based on organisation type:

    | Organisation Type | Example Webhook URL                                                                                           |
    | ----------------- | ------------------------------------------------------------------------------------------------------------- |
    | Production        | `https://[your-site-domain].my.salesforce-sites.com/services/apexrest/authsignal/callconnect/webhook`         |
    | Developer Edition | `https://[your-site-domain].develop.my.salesforce-sites.com/services/apexrest/authsignal/callconnect/webhook` |
    | Sandbox           | `https://[your-site-domain].sandbox.my.salesforce-sites.com/services/apexrest/authsignal/callconnect/webhook` |

    Substitute `your-site-domain` for the domain you noted earlier.

    For a healthy webhook, you should see a health check response like this:

    ```xml theme={null}
       <response>
           <endpoint>/services/apexrest/authsignal/callconnect/webhook</endpoint>
           <error></error>
           <status>healthy</status>
           <timestamp>2025-11-17T10:30:15.719Z</timestamp>
           <version>1.0.0</version>
       </response>
    ```

    <Warning>
      If you see a `FORBIDDEN` error here this means the permission set what not assigned correctly to
      the guest user.
    </Warning>
  </Step>
</Steps>

## Lightning page configuration

### Step 5: Configure case record page

<Warning>
  The included Case record page is a template and cannot be used directly. You must clone it first.
</Warning>

<Steps>
  <Step title="Navigate to the case record template">
    Navigate to **Setup -> Objects and Fields -> Object Manager**, and select **Case** from the list.
    On the navigation bar on the left select **Lightning Record Pages**, and select **Call Connect Case Record Page Template**.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-case-template.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=4930257c121d414782fe0f993145ad53" width="1308" height="846" data-path="images/docs/integrations/salesforce/salesforce-case-template.png" />
  </Step>

  <Step title="Clone and modify template">
    Click **Clone**.
    Be sure to rename the **Label** of the template.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-case-template-edit.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=6a3935beea39ab370aec5eb5ab15436e" width="3048" height="1970" data-path="images/docs/integrations/salesforce/salesforce-case-template-edit.png" />

    Modify the template as you wish.

    Note the **Authenticate** button on the top right of the page, this is the **Call Connect Challenge** component:

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-case-authenticate.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=c6169c7c61ed260f765bb7fe3271c05e" width="666" height="178" data-path="images/docs/integrations/salesforce/salesforce-case-authenticate.png" />

    Additionally, there is a **Call Connect Transaction Record** component for keeping a log of all Call Connect Activities:

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-case-transactions.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=0e3afe2d3c2bc523cf7bc78fc0d6934b" width="2342" height="514" data-path="images/docs/integrations/salesforce/salesforce-case-transactions.png" />

    Click **Save** to save your progress.
  </Step>

  <Step title="Activate">
    Once saved, click **Activation** on the top right of the page.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-case-template-activate.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=9a371aaa170075a7c5705080c3a42ff7" width="2096" height="1396" data-path="images/docs/integrations/salesforce/salesforce-case-template-activate.png" />

    Here you can choose how far to scope this template, for example you can activate org-wide.

    Click **Assign as Org Default**, select **Desktop**, click **Next** and then **Save**.
  </Step>
</Steps>

## Final configuration

### Step 6: Configure Call Connect custom metadata

<Warning>
  You cannot edit managed package custom metadata directly. You must clone the record.{" "}
</Warning>

<Steps>
  <Step title="Navigate to Call Connect custom metadata type">
    Navigate to **Setup -> Custom Code -> Custom Metadata Types**.

    Next to **Call Connect Settings** click **Manage Records**.

    Click **Case Settings Template (please clone)**.
  </Step>

  <Step title="Clone and configure Call Connect metadata">
    Click **Clone**.

    Configure as below:

    | Variable                       | Explanation                                                         | Example                            |
    | ------------------------------ | ------------------------------------------------------------------- | ---------------------------------- |
    | Label                          | Give it a descriptive name                                          | My Case Settings                   |
    | Call Connect Settings Name     | Will auto populate                                                  | My Case Settings                   |
    | Is Active                      |                                                                     | `true`                             |
    | Challenge Status Field         | Field API name where challenge status is stored                     | `authsignal__CallConnectStatus__c` |
    | Challenge Time Allowed         | Time in seconds for challenge                                       | 60                                 |
    | Email                          | Section of the case to be mapped to the Email Field in Call Connect | `Contact.Email`                    |
    | Phone                          | Section of the case to be mapped to the Phone Field in Call Connect | `Contact.Phone`                    |
    | Transaction Relationship Field | How to map the Call Connect Transaction to the parent record        | `CaseId`                           |

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-metadata-settings.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=48b424e8cf478c5002a6ceea9b4df49a" width="3076" height="1112" data-path="images/docs/integrations/salesforce/salesforce-metadata-settings.png" />

    **Save** the record.
  </Step>

  <Step title="Activate">
    The original managed package metadata is already deactivated, so your new cloned record with "Is Active" = `true` becomes the active configuration
  </Step>
</Steps>

### Step 7: Authsignal Call Connect portal configuration

<Steps>
  <Step title="Navigate to Call Connect setup">
    In the Authsignal Portal, navigate to **Settings -> Call Connect**. Select **Salesforce**.
  </Step>

  <Step title="Enter details">
    Enter the following information, which can be found from the Authsignal Salesforce Site configuration page:

    * Salesforce Organization ID
    * Organization Type
    * Site ID
    * Site Domain Name

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-configuration.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=6d0e055d9c177cf4b824c8f64f39b45b" width="1157" height="1217" data-path="images/docs/integrations/salesforce/salesforce-configuration.png" />

    Select **Activate Call Connect**
  </Step>

  <Step title="API key">
    You are presented with the Call Connect Settings Page. Scroll to the **Call Connect API Keys** section at the bottom of the page.

    Select to copy the **API secret key**. Keep this handy for the next step.

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-configuration-api-keys.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=ad1978ed7ad64386da6551d69be2a024" width="1497" height="1151" data-path="images/docs/integrations/salesforce/salesforce-configuration-api-keys.png" />
  </Step>
</Steps>

### Step 8: Configure API key in Salesforce

<Steps>
  <Step title="Navigate to external credentials in Salesforce">
    In Salesforce navigate to **Setup -> Security -> Named Credentials**. Click on the **External
    Credentials** tab, and select the **CallConnectExtCredentials** named credential.
  </Step>

  <Step title="Edit principal">
    Under **Principal**, select the dropdown on the right and select **Edit**.

    Enter the following as a Parameter:

    | Parameter Name | Value                                                         |
    | -------------- | ------------------------------------------------------------- |
    | `API_KEY`      | Authsignal Call Connect API Key copied from the previous step |

    <img src="https://mintcdn.com/authsignal-23/T1xoeqRGahuOIgk7/images/docs/integrations/salesforce/salesforce-credential-principal.png?fit=max&auto=format&n=T1xoeqRGahuOIgk7&q=85&s=49006205ef9a0ea47358189268151e60" width="849" height="559" data-path="images/docs/integrations/salesforce/salesforce-credential-principal.png" />

    Select **Save**
  </Step>
</Steps>
