This is the modern Lightning app. A legacy Visualforce package is still available for older orgs, but new installations should use the Lightning app described here.
Prerequisites
- A Salesforce org on Lightning Experience (Developer, Professional with API access, Enterprise, or Unlimited edition)
- Permission to install apps and edit Lightning record pages (System Administrator or equivalent)
- A DNCScrub account with API access — your Login ID (API key) and, optionally, a Campaign ID
Step 1: Install the App
The CCC DNCScrub app is being published to the Salesforce AppExchange. The listing is coming soon — in the meantime, contact support@dnc.com to have the app installed in your org.
Open the AppExchange Listing
Go to the CCC DNCScrub listing on the Salesforce AppExchange and select Get It Now.
Choose where to install
Install into your production org or a sandbox first to evaluate. Salesforce will confirm the components being added.
Approve access
During install, Salesforce shows a “Yes, grant access to these third-party web sites” checkbox listing the DNCScrub API endpoints. Check it to approve. You do not need to add these URLs manually — the package includes them as active Remote Site Settings and creates them for you on install.
Step 2: Connect Your DNCScrub Account
After installing, open the CCC DNCScrub app from the App Launcher and go to the Settings tab to enter your DNCScrub credentials. These settings apply org-wide to every scrub operation.
Enter your credentials
Under API credentials, enter:
- Login ID (API Key) — your DNCScrub API key
- Campaign ID — the DNCScrub campaign used to scrub (optional)
Set scrub behavior
Configure the Scrub Options:
- Scrub Against — which lists to screen numbers against
- Rescrub Interval (0–23 hours) — how long a cached result stays “fresh” before a new API call is made.
0re-checks on every page load;23re-checks at most once per day.

Dashboard
Once connected, the Dashboard tab is your home base — an at-a-glance view of scrubbing activity (Do Not Call scrubs today and this week, Do Not Call numbers identified today, and reassigned checks today), along with an embedded Quick Scrub and a Recent Activity log.
Step 3: Assign Permission Sets
The app ships with two permission sets. Assign them to your users from Setup → Permission Sets.| Permission Set | For | Access |
|---|---|---|
| CCC Admin | Administrators | Full read/write on all CCC objects and fields, all tabs including Settings, and bulk schedule management |
| CCC User | Standard users | Read-only scrub fields on records, can trigger scrubs and view results; no access to Settings or schedule management |
Step 4: Add the Scrub Panel to Record Pages
The CCC DNC Scrub Panel is a Lightning component you place on Lead, Contact, Account, or Campaign Member record pages.Drag in the Scrub Panel
Drag the CCC DNC Scrub Panel component onto the page (the sidebar works well).
Configure the phone fields
Set the Phone Fields to Scrub property to a comma-separated list of field API names — for example
Phone,MobilePhone,HomePhone. Each field is scrubbed and displayed independently.

Scrub Panel properties
| Property | What it does |
|---|---|
| Phone Fields to Scrub | Comma-separated phone field API names to display and scrub (e.g. Phone,MobilePhone) |
| Disable Auto-Scrub on Record View | Turns off automatic scrubbing when the panel loads, so numbers are only checked when the user clicks Re-Scrub |
Scrubbing a Record
When the Scrub Panel loads, it automatically checks every configured phone field (unless auto-scrub is disabled). If a number was scrubbed within the rescrub interval, the cached result is shown without a new API call; otherwise a fresh check runs. Each phone field renders as its own card with a status badge, line type, carrier, region, and a Re-Scrub button. Click Re-Scrub at any time to force a fresh check.
Phone is Clean but MobilePhone is Do Not Call, the record shows Do Not Call.
Reading the result codes
Each phone number receives a result code. Codes marked Callable: Yes are considered safe to call.| Code | Status | Callable | Description |
|---|---|---|---|
C | Clean | Yes | Not on any DNC list |
D | Do Not Call | No | On the National Do Not Call Registry |
B | Blocked | No | Number is blocked |
P | Internal DNC | No | On your Internal Do Not Call list |
W | Wireless | Yes | Wireless/mobile number (may require TCPA consent) |
L | Restricted Wireless | No | Wireless with calling restrictions |
E, F, G, H | EBR | Yes | Has an active EBR exemption |
O | EBR Override | Yes | EBR override in effect |
I, M | Invalid | No | Not a valid phone number |
X | Exemption | Yes | A legal exemption applies |
LIT | Litigator | No | Known TCPA litigator |
NL | Not Litigator | Yes | Cleared by litigator screening |
Quick Scrub
The Quick Scrub tab (also embedded in the Dashboard) is for ad-hoc checks. Paste one or more phone numbers — comma or newline separated — and get immediate results split into callable and non-callable groups. Quick Scrub does not require a Salesforce record and does not save results to any record.
Internal DNC (IDNC) Management
Your Internal DNC list is your organization’s private do-not-call list, separate from the national registry. Use it when a customer requests not to be called, you receive a written opt-out, or you need to block numbers beyond federal/state lists. Manage it from the IDNC Manager tab — or the IDNC panel on a record page. Enter one or more numbers and use Check Status, Add to IDNC, or Remove from IDNC. Numbers on the IDNC return result codeP (Internal DNC) and are marked non-callable in all future scrubs.

EBR Management
An Existing Business Relationship (EBR) is a legal exemption that can let you call a DNC-listed number. From the EBR Manager tab, use Add EBR to record a relationship for a number (EBR type, date, optional reference and brand), and Check EBR to see which numbers already have one on file.
| EBR Type | Exemption window |
|---|---|
| Sale | 18 months from the last transaction |
| Inquiry | 3 months from the consumer’s inquiry |
| Permission | Express written consent from the consumer |
| Recent Sale | Recent transaction (organization-specific) |
| Newspaper Trial | Newspaper subscription trial period |
E, F, G, H, or O instead of D, indicating the number is callable under the exemption.
Reassignment Check (Authority+)
Under the TCPA, calling a number that was reassigned to a new subscriber after you obtained consent can create legal liability. The Reassignment Check tab (Authority+) verifies whether a number still belongs to the original subscriber.Enter the number and consent date
Provide the Phone Number and the Consent Date — when the customer originally agreed to be contacted.
Check reassignment
Select Check Reassignment. The system checks whether the number changed hands after the consent date.

Bulk Scrub and Scheduling
The Bulk Scrub tab scrubs records in batches and can run on a schedule.Create a schedule
Select New Schedule and choose the object — Lead, Contact, Account, or Campaign Member — and the phone fields to scrub.
Set the frequency
Choose how often it runs:
- One Time — runs once on a specific date
- Daily — runs every day at a set time
- Weekly — runs on selected days of the week
- Monthly — runs on a specific day of the month

Where Scrub Data Is Stored
Aggregate (worst-case) results are stored in custom fields on Lead, Contact, Account, and Campaign Member:| Field Label | API Name | Description |
|---|---|---|
| Scrub Result | CCC_Scrub_Result__c | Result code from the most recent scrub |
| Scrub Status | CCC_Scrub_Status__c | Human-readable status (Clean, Do Not Call, EBR, etc.) |
| Last Scrubbed | CCC_Last_Scrubbed__c | Date and time of the most recent scrub |
| Scrub Reason | CCC_Scrub_Reason__c | DNC list match detail or reason |
| Is Reassigned | CCC_Is_Reassigned__c | Whether the phone was reassigned (Authority+) |
| EBR Type | CCC_EBR_Type__c | Type of EBR exemption, if any |
CCC_Scrub_Detail__c) child record tracking that field’s result code, status, line type, carrier, region, and last-scrubbed time. Every operation is also written to the immutable Scrub Log (CCC_Scrub_Log__c) audit object.
Using scrub data in Salesforce
Because the CCC fields are standard custom fields, they work everywhere:- Reports & dashboards — group or filter on
CCC_Scrub_Status__cto report compliance across your database. - List views — filter to see all Do Not Call or Clean records at a glance.
- Flow / Process Builder — trigger actions when
CCC_Scrub_Status__cchanges (e.g. notify a manager when a lead is flagged as a litigator). - Validation rules — block lead conversion or activity creation when the status is Do Not Call or Litigator.
Administration Notes
- Rescrub interval — set on the Settings tab (0–23 hours); applies org-wide to panels and bulk operations.
-
Remote Site Settings — three sites must be active for all features. They are included in the package; verify them under Setup → Remote Site Settings:
Name URL Used For CCC_FullScrubhttps://www.dncscrub.comDNC scrubbing, IDNC, and EBR CCC_DataAPIhttps://dataapi.dncscrub.comAuthority+ reassignment checking CCC_LitigatorAPIhttps://api.dncscrub.comLitigator screening