Monitor Deliverability
Automatic SMS Deliverability Reporting helps admins monitor whether automatic SMS actions in Guided Selling are sent successfully.
Guided Selling v13 and later
The report provides:
- An overall automatic SMS failure rate
- The sequences with the highest failure rates
- The individual sequence actions with the highest failure rates
- The destination phone numbers with the highest failure rates
- Optional email alerts when the overall failure rate exceeds a configured threshold
The results are generated as a CSV file and stored in the Guided Selling library in Salesforce Files.
Important: This is operational reporting for automatic SMS sends. It does not indicate whether a recipient read or responded to a message, and it is not a handset-level carrier delivery receipt.
What activity is included?
The report covers automatic SMS actions processed through Guided Selling.
A successful SMS is an automatic SMS action that Guided Selling marked as successfully performed.
A failed SMS is an automatic SMS attempt that encountered a recognized sending or configuration error and was converted to a manual action. Examples include:
- The destination phone number is blocked or unreachable
- The destination phone number is invalid
- The sending phone number is invalid
- The message was blocked
- Automatic SMS is not enabled
- The destination phone number could not be found
Manually initiated SMS messages are not included. However, an automatic SMS action that failed and was subsequently converted into a manual action is included as a failed automatic attempt.
How is the failure rate calculated?
The failure rate is calculated as:
Failed automatic SMS attempts ÷ Total successful and failed automatic SMS attempts × 100
The result is rounded to one decimal place.
For example, if 5 automatic SMS attempts failed and 95 succeeded, the failure rate is 5.0 percent.
Report sections
Each CSV contains four sections.
Overall Auto SMS failure rate
This section shows the complete result for each configured reporting window:
- Reporting window
- Failure rate
- Number failed
- Number successful
- Total number of attempts
The overall section is always included and is not filtered by the alert threshold.
Sequences with highest failure rates
This section identifies sequences whose failure rate exceeds the configured threshold. It includes:
- Sequence name
- Failure rate
- Failed, successful, and total counts
- Sequence record ID
- A direct link to the sequence in Salesforce
Up to 100 sequences are included for each reporting window.
Sequence actions with highest failure rates
This section identifies individual automatic SMS steps whose failure rate exceeds the configured threshold. It includes:
- Sequence action name
- Failure rate
- Failed, successful, and total counts
- Sequence action record ID
- A direct link to the sequence action in Salesforce
Up to 100 sequence actions are included for each reporting window.
Phone numbers with highest failure rates
This section identifies destination phone numbers whose failure rate exceeds the configured threshold. It includes:
- Phone number
- Failure rate
- Failed, successful, and total counts
Lead and Contact results are evaluated separately before being combined, so this section can contain up to 200 phone numbers for each reporting window.
Note: Because these reports contain phone numbers and Salesforce record links, access to the Guided Selling library should be restricted to authorized users.
Where can I find the report?
Each run creates a new file in Salesforce Files.
To retrieve a report:
- Open the Files tab in Salesforce.
- Select Libraries.
- Open the library named Guided Selling.
- Find the most recent file beginning with
SmsDeliverability_. - Open or download the CSV.
Files use a timestamped name similar to SmsDeliverability_2026-07-27_10-30-00.csv.
The Guided Selling library is created automatically the first time the reporting job runs.
Users must have access to the library and report file. If a user cannot see the library, a Salesforce admin must grant the appropriate library access.
Email alerts
Email alerts are optional for a one-time report and required when recurring reporting is configured.
An alert is sent only when the overall failure rate for at least one configured reporting window exceeds the configured threshold.
The email:
- Is sent to all addresses supplied during configuration
- Identifies each reporting window that exceeded the threshold
- Shows the failure rate and failed-versus-total counts
- Includes a link to the complete CSV report
- Uses the subject Guided Selling: SMS deliverability threshold exceeded
The CSV is stored in Salesforce and is not attached to the email.
Recipients must have the necessary Salesforce and library access to open the report link.
No email is sent when:
- None of the reporting windows exceeds the threshold
- No notification addresses were supplied for a one-time run
A CSV report is still created even when no alert is sent.
Default configuration
If custom values are not supplied, the report uses the following defaults:
| Setting | Default |
|---|---|
| Reporting windows | Previous 1 day and previous 7 days |
| Failure-rate threshold | 2.5% |
| Recurring reporting | Disabled |
| Recurring interval | 1,440 minutes (24 hours) |
| Email recipients | None |
Reporting windows are rolling lookback periods measured from the time the report runs. They are not fixed calendar-day periods.
Configuration settings
| Parameter | Description | Requirements |
|---|---|---|
windowDays | Reporting lookback windows in days | Each value must be from 1 through 30. A maximum of three windows can be configured. |
failureRateThreshold | Percentage used for report filtering and alerts | Must be from 0 through 100. Default is 2.5. |
notifyEmails | Email addresses that receive threshold alerts | Optional for one-time reports. Required for recurring reporting. |
scheduleRecurring | Determines whether recurring reporting is started | Default is false. |
intervalMinutes | Number of minutes between recurring runs | Default is 1,440 when omitted or set to zero or a negative value. |
How the threshold works:
The failure-rate threshold serves two purposes:
- The ranked sequence, sequence-action, and phone-number sections include only results whose failure rate is greater than the threshold.
- An email alert is sent when the overall failure rate for a reporting window is greater than the threshold.
For example, with a threshold of 2.5, a failure rate of exactly 2.5 percent does not trigger an alert. A rate above 2.5 percent does.
Who can configure reporting?
Configuration is performed by running Apex through the Guided Selling API. It is not currently configured through a Guided Selling settings page.
A Salesforce admin or another user with permission to execute Anonymous Apex can configure the report. Revenue.io Support may also assist with configuration.
Configuration examples
Run a one-time report using defaults
The following request creates a one-time report using the default one-day and seven-day windows and the default 2.5 percent threshold:
Map<String, Object> result =
new RDNACadence.Api().call('smsDeliverability', null);
System.debug('jobId=' + result.get('jobId'));This creates the CSV but does not send an email alert because no notification addresses were supplied.
Run a one-time report with email alerts
The following example reports on the previous 7 and 30 days. An email is sent to the configured address if either window’s overall failure rate exceeds 5 percent:
Map<String, Object> result =
new RDNACadence.Api().call(
'smsDeliverability',
new Map<String, Object>{
'windowDays' => new List<Integer>{ 7, 30 },
'failureRateThreshold' => 5.0,
'notifyEmails' => new List<String>{
'sms-operations@example.com'
}
}
);
System.debug('jobId=' + result.get('jobId'));Configure recurring reporting
The following example creates a report every 24 hours using 7-day and 30-day reporting windows:
Map<String, Object> result =
new RDNACadence.Api().call(
'smsDeliverability',
new Map<String, Object>{
'scheduleRecurring' => true,
'intervalMinutes' => 1440,
'windowDays' => new List<Integer>{ 7, 30 },
'failureRateThreshold' => 5.0,
'notifyEmails' => new List<String>{
'sms-operations@example.com',
'salesforce-admin@example.com'
}
}
);
System.debug('jobId=' + result.get('jobId'));When recurring reporting is started:
- An initial report is generated immediately.
- The next report is scheduled for the configured interval.
- Each scheduled execution generates a report and schedules the following execution.
- Email is sent only when the threshold is exceeded.
At least one notification email address is required for recurring reporting.
Managing recurring reporting
Change an existing recurring configuration
Only one recurring Automatic SMS Deliverability schedule can be active.
If a matching schedule already exists, submitting another recurring request does not replace it. The existing scheduled job is returned without changing its configuration.
To change the reporting windows, threshold, interval, or recipients:
- Go to Salesforce Setup.
- Search for and open Scheduled Jobs.
- Locate the job whose name begins with
SmsDeliverabilityScheduler. - Delete the existing scheduled job.
- Execute the recurring configuration request again with the new values.
Stop recurring reporting
To stop future reports:
- Go to Salesforce Setup.
- Open Scheduled Jobs.
- Locate the
SmsDeliverabilitySchedulerjob. - Delete the scheduled job.
Deleting the scheduled job stops future runs. A report that is already being generated may still complete.
What’s automatic vs. manual?
| Activity | Automatic or Manual? |
|---|---|
| Creating the initial configuration | Manual |
| Generating a report immediately when recurring reporting is first enabled | Automatic |
| Generating future scheduled reports | Automatic |
| Creating and saving the CSV | Automatic |
| Evaluating the configured threshold | Automatic |
| Sending a threshold-breach email | Automatic |
| Reviewing and interpreting the report | Manual |
| Correcting phone numbers or SMS configuration | Manual |
| Retrying or completing actions converted to manual | Manual |
| Changing recipients, windows, thresholds, or intervals | Manual |
| Removing the existing schedule before changing its configuration | Manual |
The reporting process does not automatically correct phone numbers, retry failed messages, enable Automatic SMS, or modify the affected sequences.
After receiving an alert
- Open the report from the email or the Guided Selling Salesforce library.
- Review the overall section to determine which reporting windows exceeded the threshold.
- Check the sequence and sequence-action sections for concentrated failures.
- Review the phone-number section for repeated failures associated with specific recipients.
- Investigate common causes:
- Missing or incorrectly formatted mobile numbers
- Blocked or unreachable destination numbers
- Invalid sending-number configuration
- Automatic SMS not being enabled
- Message blocking by the SMS provider
- Correct the relevant data or configuration.
- Handle any actions that Guided Selling converted to manual.
- Review the next report to confirm whether the failure rate improves.
Important considerations
- A missing sequence, action, or phone number from a ranked section does not necessarily mean it had no failures. Its rate may be at or below the configured threshold.
- Overall statistics include all recognized automatic SMS successes and failures for the reporting window.
- Reports are generated asynchronously, so the file may not appear immediately after the Apex request is submitted.
- Salesforce email deliverability settings and email limits may affect whether alert emails can be sent.
- The report reflects the SMS activity recorded in the Salesforce org in which the job is configured.
Get started
To set up SMS deliverability reporting:
- Contact Revenue.io Support to enable reporting for your account, or execute one of the configuration examples above as a Salesforce admin.
- Configure your reporting windows, threshold, and alert recipients based on your operational needs.
- Set up recurring reporting if you want ongoing monitoring.
- Review reports regularly and investigate when the failure rate exceeds your threshold.