AddressTools Free: First-time data installation

What’s installed during data installation?

When data installation is run, you will install data to the following custom objects that are installed with the AddressTools package:

  • Countries
  • States

The data installed into these objects acts as the backbone for AddressTools’ standardization and validation rules.

Furthermore, during the initial run of data installation, the following address blocks are configured within AddressTools to quick start your implementation:

  • Account - Billing Address
  • Account - Shipping Address
  • Account - Person Mailing Address
  • Account - Person Other Address
  • Contact - Mailing Address
  • Contact - Other Address
  • Contract - Billing Address
  • Contract - Shipping Address
  • Lead - Address

How to run data installation for the first time

Warning – before running the data installation, check your organisation’s storage limit. This can be seen at a glance in the Overview panel in the AddressTools Administration tab. There’s a lot of data to install so ensure you’re not going to exceed it. This can be common in a sandbox or developer org.

To get started:

  • Go to App Launcher | AddressTools Free Administration.
  • Use the Get Started button under Data Installation.
  • Select a Language.
  • If you’re using a sandbox, it is recommended to check the Only install sample data setting.
  • Select Install.
  • Read the warning and then Yes when ready.

The full data installation process can take a while, so now might be a good time to grab a coffee and read through the “Understanding” articles available in the rest of the installation walkthrough.

Back to the AddressTools Free installation walkthrough

AddressTools Free Installation Walkthrough

AddressTools Free is the ultimate address functionality tool for Salesforce jam-packed with features. This article will guide you through configuring the product for the first time and provide guidance on updating settings on an ongoing basis.

First-time initialization

Address block management

Validation rules


QuickComplete Country



PhoneTools (v2.4 onwards): How does TPS and CTPS screening work in Salesforce?


PhoneTools is a quick-to-launch TPS and CTPS screening solution for Salesforce CRM allowing your organization to assist with PECR compliance in minutes. The solution is built solely for Salesforce, by Salesforce experts.

Out of the box

Out of the box, PhoneTools supports the following objects:

  • Accounts
  • Contacts
  • Leads

This means that we have already:

  1. Provided a custom trigger for each object
  2. Created the required functional fields for each object
  3. Configured the default phone fields in the “Fields to Screen” settings

This means if you’re using any of the objects and fields listed above, it’s a swift process to implement. If you’re not using the above objects or fields then don’t panic, we cover how to configure PhoneTools for these scenarios too!

How TPS and CTPS screening in Salesforce works

PhoneTools will screen any phone field that is configured in the package’s “Fields to Screen” settings. This means there is no code required to implement (with the exception of a formula if you would like to set up screening criteria, but we’ll cover this later!).

Each object that contains phone fields that need screening against the TPS and/or CTPS database must contain three custom functional fields to track the phone fields’ TPS and CTPS statuses. These fields will also identify when the next screen is due, and provide a summary status for the whole record. A description of these three fields can be seen below:

  • Phone Status Field – provides a record status that summarizes the screening results of the configured phone fields. See more information about the record statuses.
  • Next Screen Due Field – when a record is screened, a date stamp is added 21 days in the future. This will indicate when the record next needs to be screened. (You will not be charged any extra for screening a record more than once a month.)
  • Screening Results Field – a JSON output listing the results for each screened field. This is perfect if you’re interested in doing some custom development on top of the solution.

When a phone number is updated on a record, all three functional fields are set to NULL on the record. This indicates that the record needs screening. This can either be screened manually by your users, or have it automatically screened with a batch job.

When a record is screened, each of the functional fields will be updated in accordance with the response from the PhoneTools service.

How can my users tell what’s safe to call?

A Lightning component needs to be added to the users’ record app pages. This provides a breakdown of the statuses for each configured phone field to screen. See more information about the phone statuses.

The Phone Status Field noted earlier in will also contain a summary status for each record. This can be used in reports to quickly identify records that have all numbers listed on either database, no number listed on either database, or records that contain some numbers that are listed on either database.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards): Bind the formula to a Field to Screen setting

Configure the setting

We’ve now created a formula field containing the containing the conditions for screening a record, and we should also now have our phone fields configured in the Fields to Screen settings.

To add the formula field to a Field to Screen setting:

  • Go to App Launcher | PhoneTools Administration.
  • Navigate to the Configuration tab.
  • Select Edit next to one of the Fields to Screen rows where the formula should be applied.
  • Search and select the formula under Formula Field.
  • Press Save.

When the setting has been saved, the formula value will be updated for any configured phone field on the same object that is enabled for screening.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards): Adding the component to a page layout

To allow users in the organization to check the status of a phone number on a record, you will need to add the PhoneTools lightning component to the lightning record app page.

  • Go to Setup | Object Manager.
  • Navigate to the object that you would like to add the PhoneTools component to.
  • Select Lightning Record Pages.
  • If you already have a record page, select its label and press Edit. Or choose New if you would like to configure a new record page.
  • Select PhoneTools from the Lightning Components list on the left of the screen and drag the component to your desired location on your page layout.
  • In the panel on the right of the screen, select Enable screening.
  • Press Save, and Activate if required.

Note: you can use Add Filter to create rules for when the component is visible. i.e hide if phone field is empty.

Back to the PhoneTools (v2.4 onwards) installation walkthrough


PhoneTools (v2.4 onwards): Define a formula

What is a formula and how is it useful with PhoneTools?

A Salesforce Formula Field is a read-only field that derives its value from a formula expression you define. These are added to objects and their value is calculated per record. Each record can have a different output dependant on the formula expression that was written.

So how is this useful for PhoneTools?…

In some organisations, not every record needs screening so a quick way to identify whether a record needs screening is by defining a formula that calculates this for you.

What should my formula contain?

If in doubt, your formula should always edge on the side of caution as it is more important to screen records that you are unsure of versus rule them out from screening. It is important to review the criteria with your compliance team to identify what indicates whether a record can be excluded from screening. This will be organization-specific and as a result, can work out better to screen all records and ensure you’re TPS and CTPS compliant.

Creating a formula

In this example, we’ll assume that all records that need screening exclusively sit on records that contain “United Kingdom” in the country field.

  • Go to Salesforce Setup | Object Manager.
  • Select the object where you need to define a formula.
  • Select Fields & Relationships.
  • Select New.
  • Choose Formula.
  • Provide a Field Label and Field Name.
  • Select Number.
  • Set Decimal Places to 0.
  • Select Next.

If the formula results in “1”, the record will be screened.

If the formula results in “0”, the record will not require screening.

Using the above logic, we can now define a formula to meet our criteria. By creating an IF statement, we can query the record on meeting certain criteria. See the example below that checks if the record’s Billing Country field contains “United Kingdom” or is NULL.

IF(OR(BillingCountry='United Kingdom',ISBLANK(BillingCountry)), 1, 0)

When your formula is complete, select Save.

With a formula now created on the object, we need to apply it to the Fields to Screen section. Continue to the next article to complete this action.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards): One-time batch screen

  • Go to App Launcher | PhoneTools Administration.
  • Navigate to the Screening tab.
  • Select Screen Now.

PhoneTools will now execute a batch job to screen all configured records that have not yet been screened or are overdue. This is calculated from the Next Screen Due date field on the records.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards): Schedule a daily batch screening job

  • Go to App Launcher | PhoneTools Administration.
  • Navigate to the Screening tab
  • Within the Scheduled Screening section, select Enable Scheduled Screening to create a Scheduled Job that will execute each day, screening Not Screened and Overdue numbers.
  • To manage or delete the scheduled jobs, select Click here to view or delete scheduled jobs using the Salesforce Scheduled Jobs viewer.

PhoneTools will now have a daily job to execute a batch job to screen all configured records that have not yet been screened or are overdue. This is calculated from the Next Screen Due date field on the records.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards): Queue a Screen Immediately with a Salesforce Flow

Automated phone screening functionality covered so far in this installation walkthrough will screen records nightly that have not yet been screened or have their Next Screen Due Date in the past. Whilst practical, this leaves a space of time between the record being inserted/updated where the numbers won’t be screened until the next nightly batch job or user interaction.

That’s where flows come in to fill the gap.

Create a flow to screen the record

  • Go to Salesforce Setup | Flow.
  • Select New Flow.
  • Choose Record-Triggered Flow.
  • Search and select the object that you are configuring the process for.
  • Set Trigger the Flow When to A record is created or updated.
  • Select Done.

The flow will now be ready to start adding elements to.

  • Select the Decision Logic and drag it under the Start element.
  • Label: Is NULL or Overdue
  • API Name: IsNULLorOverdue

Under New Outcome:

  • Label: True
  • Outcome API Name: True
  • Condition Requirements to Execute Outcome: Any Condition Is Met (OR)
  • Resource: {!$Record.pw_pss__NextPhoneScreenDue__c} Note: this field will be the Next Screen Due Date field which may be custom dependant on your configuration.
  • Operator: Is Null
  • Value: {!$GlobalConstant.True}
  • Select Add Condition
  • Resource: {!$Record.pw_pss__NextPhoneScreenDue__c}
  • Operator: Less Than or Equal
  • Value: {!$Flow.CurrentDate}
  • Select Done

The decision element will now be shown in the flow and needs connecting to the start element.

Select and hold the connecter point on the Start block and drag it to the Decision element. This will create a connection between the two elements.

Now we need to add the Phone Screening element to the flow.

  • Select the Action Interaction and drag it under the Decision element.
  • In Action, search for Phone Screening and select the suggested item.
  • Label: Screen Phone Numbers
  • API Name: ScreenPhoneNumbers
  • ID of Record to Screen: {!$Record.Id}
  • Select Done.

The Screen Phone Numbers element will now be shown in the flow and needs connecting to the Decision element where the outcome is True.

  • Select and hold the connecter point on the Decision block and drag it to the Screen Phone Numbers element.
  • A modal will appear with an Outcome option. Choose True.
  • Select Done.

The flow is now configured and ready to Save and Activate. Repeat this process for each object that needs the functionality enabling for.

Summary of the functionality

When inserting or updating a configured record in Salesforce, this flow will now queue a task to screen the record immediately. This functionality relies on Salesforce Future Methods. Due to this dependency the results may not always appear visible immediately after record insert or update and the page may need to be refreshed before the statuses update. It is still advised to rely on the automated batch job to pick up all overdue records on its nightly run.

Back to the PhoneTools (v2.4 onwards) installation walkthrough

PhoneTools (v2.4 onwards) TPS & CTPS: Installation Walkthrough

PhoneTools is one of the quickest ways to begin screening your Salesforce records against the UK-TPS and UK-CTPS databases to check whether the numbers are safe to call. This installation walkthrough will get you set up with a basic configuration in no time so you can rest easy and know you have a solution in place.

For versions prior to 2.4, review documentation here.


Object and field configuration

Record screening criteria

Lightning component

Screening options