Setting Up Retarus Cloud Fax App for Salesforce

The Retarus Cloud Fax App for Salesforce lets you send fax campaigns and single faxes directly in Salesforce. Setup includes installing the package, activating the app, configuring authentication and credentials, assigning permissions, and setting up fax features for your users.

Prerequisites

Before you begin, make sure you have:

  • Salesforce administrator access

  • Retarus Fax-for-Applications API credentials, including Reporting WebPush OAuth credentials

  • Lightning Web Security (LWS) enabled in Salesforce
    If LWS is not enabled, creating and sending faxes through the single fax component may not work.

Installing the app

  1. Open the installation link provided by Retarus.

  2. Log in with your Salesforce credentials.

image-20250710-131724.png
  1. Choose the installation scope, such as Install for Admins Only or Install for All Users.

  2. Select this option:
    I acknowledge that I’m installing a Non-Salesforce Application that is not authorized for distribution as part of Salesforce’s AppExchange Partner Program.

image-20260112-153008.png
  1. Complete the installation and wait for it to finish.

Activating the app

  1. Go to Setup - Lightning App Builder.

  2. Find Fax Campaign Management and click Edit.

image-20251013-112727.png
  1. Click Activation.

image-20251013-112921.png
  1. Choose whether to activate the app for administrators only or for all users, based on your rollout plan.

  2. Save your changes.

image-20250710-131805.png
  1. Verify that the app appears in the App Launcher.

image-20250710-131824.png

Creating the External Client App

Create an External Client App in Salesforce so Retarus can send fax status updates back to your Salesforce organization.

During setup, assign an integration user to this app. Retarus uses this user identity when it updates fax jobs and fax campaigns in Salesforce. Assign the Cloud Fax Integration User permission set to the integration user before you continue.

Create and configure the app

  1. Go to Setup - External Client App Manager, then select New External Client App.

image-20260113-161246.png
  1. Enter the basic app details:

    • External Client App Name
      Enter a name that helps you identify the app.

    • API Name
      Salesforce generates this automatically from the app name.

    • Contact Email
      Enter any valid email address.

    • Distribution State
      Select Local.

  2. Leave the other basic fields unchanged unless your organization requires different values.

  3. In API (Enable OAuth Settings), select Enable OAuth.

  4. Enter a Callback URL that starts with https://.

    Salesforce requires this value, but the Retarus integration does not use it.

  5. In OAuth Scopes, select Manage user data via APIs (api).

  6. In Flow Enablement, enable Client Credentials Flow and confirm the prompt.

  7. Leave all remaining settings unchanged.

image-20260113-161803.png
  1. Select Create.

Assign the integration user

  1. Open the Policies tab of the new app.

  2. Select Edit.

  3. Expand OAuth Policies.

  4. Make sure Enable Client Credentials Flow is selected.

  5. In Run As, enter the username of the integration user.

  6. Save your changes.

image-20260113-162050.png

Get the client ID and client secret

  1. Open the Settings tab.

  2. Expand OAuth Settings.

  3. Select Consumer Key and Secret.

  4. Confirm your identity if prompted.
    -> Salesforce then displays the Consumer Key and Consumer Secret, which you use later as the client ID and client secret.

image-20260113-162236.png

Information to provide to Retarus

During implementation, provide the following information to the Retarus implementation team so they can set up Push Reporting for fax status updates.

Information

Description

Account / username

The account identifier or username for the integration.

OAuth server

The OAuth authorization server for authentication.

OAuth username

The username to authenticate against the OAuth server.

OAuth password

The password to authenticate against the OAuth server.

Webhook endpoint

The Salesforce endpoint URL that receives Push Reporting webhooks.

Optional scope

An OAuth scope, if your OAuth configuration requires one.

Optional headers

Any additional HTTP headers that must be included in webhook requests.

Configuring Retarus credentials

To allow Salesforce to send fax data to Retarus, store your Retarus Fax API credentials in Salesforce.

Update the named credential

  1. Go to Setup - Named Credentials.

  2. Open Retarus API Credentials and select Edit.

  3. In the URL field, replace CUSTOMERNUMBER with your Retarus customer number.

image-20260114-100454.png
  1. Save your changes.

Update the external credential

  1. Go to Setup - Named Credentials - External Credentials.

  2. Open Retarus Integration.

image-20260114-102602.png
  1. In the Principals list, open Auth and select Edit.

image-20260114-103527.png
  1. Add these parameters exactly as shown:

    • username
      Your Retarus API username.

    • password
      Your Retarus API password.

    • clientID
      The client ID from the External Client App setup.

    • clientSecret
      The client secret from the External Client App setup.

image-20260114-104017.png
  1. Save your changes.

Assigning permissions to users

To use Cloud Fax features in Salesforce, assign the Cloud Fax User permission set to each user who should send fax campaigns or single faxes.

  1. Go to Setup - Permission Sets.

  2. Open Cloud Fax User.

image-20251013-115352.png
  1. Select Manage Assignments.

image-20251013-115559.png
  1. Add the users who should use Cloud Fax features.

Additional permissions for fax campaigns

Users who send fax campaigns also need these additional Salesforce permissions. Salesforce does not allow managed packages to include these permissions in a packaged permission set.

Permission type

Required access

Standard objects

Read access to Account, Contact, Lead, and Campaign

Standard fields

Read access to the Fax field on Account, Contact, and Lead

App permissions

Run Flows

Without these permissions, fax campaign sending may not work as expected.

Single fax setup

You can use the single fax feature on any Lightning Record Page for standard or custom Salesforce objects.

Add the single fax component to a record page

  1. Open a Lightning Record Page in Lightning App Builder.

  2. In the component list, find Retarus Cloud Fax Management under Custom - Managed.

image-20260410-113937.png
  1. Drag the component to the page.

  2. Save and activate the page as needed.

Configure default values

After you add the component, you can configure default values to simplify fax creation:

  • Whether a cover page is selected by default.

  • Which value prefills the recipient fax number.

  • Which values prefill the cover page fields.

Prefilling is optional.

image-20260410-114207.png

Supported prefill methods

You can prefill fields in these ways:

Method

Format

Example

Static value

Enter a fixed value

Cover Page - From Company

Current record field

Record.<Field_API_Name>

Record.Subject

Parent record field

Record.<Relationship_API_Name>.<Field_API_Name>

Record.Account.Fax

Current user field

User.<Field_API_Name>

User.Name

You can also reference custom relationship fields. Use the relationship API name with __r where required.

Prefill behavior

  • The value used to prefill the recipient fax number also prefills Cover Page - To Fax.

  • If a user does not have access to a referenced field, Salesforce does not prefill it.

  • If a referenced field does not exist or the reference is entered incorrectly, Salesforce does not prefill it.

  • If you need more advanced logic, create a custom formula field and use that value for prefilling.

Cloud Fax Job includes lookup fields for:

  • Account

  • Contact

  • Lead

  • Case

  • Opportunity

When you use the Retarus Cloud Fax Management component on a Lightning Record Page for one of these objects, Salesforce automatically fills the matching source lookup field when it creates a Cloud Fax Job. This lets you add related lists for Cloud Fax Jobs to those record pages.

Data model overview

The Retarus Cloud Fax App for Salesforce uses two custom objects:

Object

Purpose

Cloud Fax Campaign

Stores the documents to send.

Cloud Fax Job

Stores recipient-specific data, such as fax number and cover page information.

This data model applies to all faxes, including single faxes. For a single fax, the campaign usually includes only one related Cloud Fax Job.

When Salesforce sends fax data to Retarus:

  • It sends a Cloud Fax Campaign with attached documents.

  • It includes all related Cloud Fax Jobs in Draft status.

  • The status changes to In Progress after sending starts.

After sending, users should generally not change the related records. This helps prevent inconsistencies between Salesforce and Retarus. Validation rules protect Cloud Fax Jobs in particular.

Sending through Flows or Apex

You can send a Cloud Fax Campaign by using the invocable action Send Cloud Fax Campaign from Salesforce Flows or Apex.

Input and output

Parameter

Type

Description

Campaign ID

Input

Salesforce ID of the Cloud Fax Campaign

Campaign ID

Output

The same campaign ID passed in

Error Message

Output

Error message when sending fails

Is Success

Output

Indicates whether sending succeeded

Retarus Job ID

Output

Retarus ID of the created fax job

What the action does

When Send Cloud Fax Campaign runs, Salesforce:

  1. Validates the campaign data.

  2. Builds and sends the request to the Retarus Fax API.

  3. Updates statuses if successful.

  4. Stores the Retarus Job ID on the campaign record.

Validation rules

Before Salesforce sends a Cloud Fax Campaign to Retarus, these conditions must be met:

  • At least one supported document is attached.

  • At least one related Cloud Fax Job is in Draft status. Only Draft Cloud Fax Jobs are sent.

Supported file types:

PDF

DOCX

XLSX

TXT

HTML

TIFF

JPEG

JPG

PNG

Limitations

Limitation

Description

Document

  • A fax campaign can include a maximum of 10 documents.

  • Documents are sent in Base64, which increases memory usage.

Recommended total document size:

  • About 4.2 MB for synchronous processes, such as Screen Flows

  • About 8.7 MB for asynchronous processes, such as Batchable Apex

Callout

  • The invocable action performs a synchronous callout.

  • Do not call it from Apex triggers or record-triggered flows.

  • Do not perform DML before the action runs.

For Screen Flows:

  • Set Always start a new transaction under Show Advanced Options.

  • Do not rely on Let the flow decide (recommended).

Bulk

  • The action is not bulk-safe.

  • Use one Cloud Fax Campaign per transaction.

For multiple campaigns, use:

  • Batchable Apex

  • Queueable Apex

Create records outside the user interface

If you create Cloud Fax Campaign or Cloud Fax Job records outside the packaged UI, make sure they follow the expected data model. This applies to custom Flows, Apex, data imports, and other custom integrations.

Required setup for new records

  • A Cloud Fax Campaign must have at least one supported document attached.

  • A Cloud Fax Job must be related to a parent Cloud Fax Campaign.

  • A Cloud Fax Job must contain the required recipient data.

  • New Cloud Fax Job records must be created with Draft status.

  • Attach the documents to the Cloud Fax Campaign before sending.

Cloud Fax Campaign fields

Label

API name

Description

Campaign Status

Campaign_Status__c

New fax campaigns should start in Draft. The app updates this field automatically during processing.

Retarus Fax Job ID

RetarusFax__Campaign_ID__c

Stores the Retarus job ID created when the campaign is sent. Salesforce uses this value to match Retarus jobs to Cloud Fax Campaign records.

Retarus ID History

RetarusFax__Campaign_ID_History__c

Stores previous Retarus job IDs. This field is used when a retry creates a new Retarus job ID for the same campaign.

Send Cover Page

Send_Cover_Page__c

Controls whether all fax jobs in the campaign are sent with a cover page. The cover page details are stored on the related Cloud Fax Job records.

Source

Source__c

Identifies where the campaign was created. This value affects how related fax jobs appear in the single fax component history.

Source values for Cloud Fax Campaign

Source value

Behavior

Fax Campaign Management

Only fax jobs with the status OK/Done appear in the single fax history.

Single Fax Job

All fax jobs appear in the single fax history. Jobs in Draft can be edited and sent. Jobs in Failure can be retried.

No value

The fax jobs do not appear in the single fax history.

Cloud Fax Job fields

Label

API name

Description

Fax Campaign

Fax_Campaign__c

Master-detail relationship to the parent Cloud Fax Campaign.

Fax Number

Fax_Number__c

The recipient fax number. This field is required.

Original Fax Job

Original_Fax_Job__c

References the earlier failed fax job when a retry creates a new job.

Retarus Fax Job ID

RetarusJobId__c

Stores the Retarus fax job ID for this specific Cloud Fax Job. This is useful because one Salesforce campaign can have multiple Retarus IDs over time, for example after retries.

Sending Status

Sending_Status__c

New fax jobs must start in Draft. After sending begins, Retarus updates the status.

Source ID

SourceId__c

Stores the Salesforce record ID that the fax job belongs to. Because this is a text field rather than a polymorphic lookup, populate it if you want the fax job to appear in the single fax history for that record.

Cover page fields can usually contain any text values. Avoid HTML tags in these fields, because they can cause unexpected formatting on the generated cover page.

Source lookup fields on Cloud Fax Job

Cloud Fax Job also includes lookup fields for Account, Contact, Lead, Case, and Opportunity. Use these fields when you want related Cloud Fax Jobs to appear in related lists on those standard object record pages.

Error handling when sending fax campaigns

If a fax campaign stays in In Progress for an extended period, an error likely occurred while Salesforce was sending data to Retarus.

Common causes

  • The user who selected Send Fax Jobs does not have the Cloud Fax User permission set.

  • Credentials in the Named Credential or External Credential are incorrect.

After you correct the issue, reset the campaign status to Draft before sending again.

Further troubleshooting

  1. Open the Developer Console, or enable debug logs for the affected user.

  2. Reset the fax campaign status to Draft and resend it.

  3. Review logs in the Developer Console or under Setup → Debug Logs.

  4. Look for entries related to the FutureHandler operation.