Display a country’s full name, ISO-2 and/or ISO-3 value on a Record

It is a common requirement in Salesforce that records with address data need to store a country’s ISO value(s) onto a record. This can often be used for integration or reporting purposes. Vanilla Salesforce presents an issue here that there is only one country field, and generally, enforcing all users to just enter an ISO value isn’t practical.

You can enable this with AddressTools Premium, our 5* app for Salesforce which takes the worry out of bad address data by keeping all of your addresses validated, verified, corrected, and standardized. Like the sound of it? Try it for free on the AppExchange!

Anyway, let’s look into the details…

To solve this with AddressTools, ensure that you have your address block configured within the AddressTools Administration page. A guide can be found below showing how to do this. Along with this configuration, ensure that the Country Lookup is populated with a custom lookup field that references the packages’ Country object.

Assuming that the solution is configured with a basic setup which includes triggers being active for the object you’re working with, when you now upsert a record with a recognised country value in the configured country field, it will side-populate the newly configured lookup field with reference to the matching country record supplied with AddressTools. At this point, we have the luxury to enter the full name, ISO, or common alternate values into this field. With standardization enabled, it will convert it to the configured format.

Example of alternative country names that come with AddressTools to be standardized to your preferred format. Please note: more names can be added here.

But how can we now present these values on the record?

Since AddressTools has now populated the Country Lookup field, we can use some basic Salesforce techniques to get a formula field on the record displaying the ISO value(s). Navigate to Setup | Object Manager | [Object] | Fields & Relationships and then select New.

Select Formula field, continue and provide a Field Label, API Name and select Text. Once these options have been selected, press Next. Now we need to configure the formula field to make reference to the ISO-2 field found via the Country Lookup. Select Advanced Formula and then Insert Field to bring up a field finder. Drill into the current Object, then through the Country Lookup, and then select the ISO field you want to reference. In this example, we’ll choose ISO-2. Select Insert Field to confirm.

Press Next and make it visible for the profiles that you want to have access to the field and select Next once more. Optionally, add the field to your page layouts automatically and then Save.

Now we can manually adjust the page layout so that the field is displayed in a practical way. After that change has been made, now when we enter a record with a country value, all the data will then become available.

Formula fields can be used to fetch any data from the country object, including fields that you’ve created yourself.

Want to try it out for yourself?

Display a country’s full name, ISO-2 and/or ISO-3 value on a Record using AddressTools Premium for Salesforce. Try AddressTools Premium for free on the AppExchange today.

Automate daily address verification within Salesforce

Verification of address data is becoming evermore popular within Salesforce and the options available vary depending on the use case. AddressTools offers a number of verification options for all different requirements.

The Scheduled Address Verification option is best suited for organizations where data is being inserted via integrations in large volumes or where it’s not possible to provide the end user with the ability to verify their entry. It is not dependent on future methods and has the ability to scale up when needed – great! Let’s show you how to set it up!

Firstly, it must be noted that the following instructions assume AddressTools is configured on the address block(s) that you want to verify and that Support Premise-Level Address Verification is enabled.

The solution relies on Salesforce Reports to identify which records need verifying, so let’s start by making a new report.

Navigate to the Reports tab and select New Report. In the pop up, select the Report Type that is associated with the object you wish to verify and press Continue. If you can’t see a Report Type applicable for your use case, you can create a new Report Type in Salesforce Setup.

You have the ability to configure the report however you like. In this example we’re going to configure the report to verify addresses that are:

  1. based in the “United States”
  2. created after a certain date
  3. owned by anyone

As this example is being configured for the Billing Address on the Account object, we’ll select the “Billing Country” field in the filter. It is important to note filter logic is not supported and you do not need to add a filter for the Address Status field as the scheduled process will only verify records that have a “Not Checked” status.

With our filters configured as desired, we now need to add the Record ID column to report to allow AddressTools to identify the records that need verifying.

Select Outline and under the Columns section, search for the ID field for the object you’re wanting to verify and confirm it once found. When the ID field appears in the preview report, use the Order by on the ID field and select Ascending order. You can make further adjustments to the columns visible in the report, just ensure that the ID column is added!

When you’re happy with your report, select Save, give it a name and then store it in the AddressTools report folder. The AddressTools report folder is available in version 7.73+. You can now run the report to confirm that the records you want to verify appear in the list.

Now head to the App Launcher and search for Scheduled Address Verification and select the tab to open it.

Use the Add button to display all the address blocks configured in AddressTools and select the address block that you’ll be verifying on each record.

A new row will be added for each block you add. In the Select Report column, select the report we just created in the previous steps, it will be identifiable by its name.

Enable the row by switching the toggle and select Save in the top right of the page.

Now we’ve done all the hard work, it’s time to start processing these addresses! Before enabling the process, it’s good practice to run Calculate Now to identify how many addresses we’re going to be verifying in the first job. This is useful to confirm that we’ve set the tool up correctly. Select Calculate Now to begin the process.

A new row will appear in the jobs table for each address block that you have configured, the Total column will identify how many records need verifying for the stated job in the Address Block. By adding together each row, you can total the amount of credits that will be consumed when the job is executed. If you’re happy with the number, we can progress to the verification process.

The tool has two options, Verify Now and Schedule. Verify Now will run the verification process once. This can be activated by pressing the Verify Now button.

When doing so, you will be prompted with a warning message to highlight that you are about to verify all the configured addresses that have a “Not Checked” status. If you are happy to continue, select Ok.

The job will begin to run and its status can be seen in the jobs table. If any errors are encountered during the job, the configured alerts email address that is set up in the AddressTools administration page will receive an email highlighting the issues found in the job.

If you don’t want to run the job immediately, select the Schedule button. This will open a prompt to configure a daily task to verify all your configured addresses with a “Not checked” status. This is designed to verify new addresses that have been inserted into Salesforce each day.

When you select the button, you will be prompted to choose a Scheduled time. Choose a time and select Enable to confirm your selection and create the job.

The job will now be visible in the Scheduled daily jobs section. If you ever want to delete the job select the click here link under the table and use the del action next to the job named Daily Batch Premise-Level Address Verification.

Now you’re all set! After the first job has been completed, you can check your records and you’ll see that it will now have one of the verified statuses associated!

Back to the AddressTools Premium installation walkthrough

Want to try it out for yourself?

AddressTools Premium is available to try for free on the AppExchange. Give automated daily address verification a go!

3 ways you can enhance your territory management using AddressTools for Salesforce

Are you making the most out of your address data in Salesforce? Maybe that isn’t a question you knew existed…

If you haven’t thought about how you could use your address data to optimize wider business processes, you’re missing out.

At ProvenWorks we’re address data experts and we made AddressTools to help you harness the power of your address data. AddressTools is not just a postal address verification tool. It’s a powerful dataset that, when used strategically, can optimize your business processes.

With AddressTools, you gain a bundle of objects for Country, State, ZIP Code data and more. By leveraging these regional records and our Lookup field functionality, you can enrich, tidy up, and simplify your records to enhance your territory management.

All this with little effort and all based on native Salesforce techniques! So let’s take a closer look…

1. Streamline how you store region-specific data

Using native Salesforce functionality, you can add custom fields to the AddressTools region objects (Country, State, ZIP and more!) or leverage additional data points that are installed with the package..

How about adding a Field Rep to relevant regions? Maybe you have a preferred regional service provider? What about using the pre-installed Country ISO values alongside the full country name to work with an integration? You can harness the AddressTools dataset however you want to use it. And all this happens through the power of Lookup field population. Which brings us to our next point…

2. Automatically populate additional values

AddressTools includes a range of values that you can automatically populate alongside your address data. The package includes populated objects for global country and state/province values, and for the US, a ZIP code and County object as well. With Lookup field population, you can automatically populate Lookup relationship fields, so a very simple formula field can leverage the Lookup relationship to pull back a relevant value from our region objects.

What does this look like? This means you can automatically populate time zones, continent values, and US county FIPS codes using your address data, or even those additional fields you added after reading point 1! With these additional values, your address data turns information into action. Streamline your workflows, manage your territories efficiently and simplify your business processes, all through the power of these additional values.

3. Capitalize on US county data

Retrieving US County data is another very common requirement that AddressTools can satisfy in two ways. If you need exact county values, both our interactive and automated postal address verification can automatically populate a US county value with each verified address. This is perfect for when you require precise US county data, like for tax code allocation. If your org doesn’t require full postal verification, AddressTools can also populate county values via Lookup relationship based on the ZIP code.

These are just three ways you can use our powerful dataset in AddressTools to better utilize address data, improve your territory management and optimize your business processes.

Try AddressTools for free

Start making the most of your address data today with a free trial of AddressTools on the AppExchange

Want to find out more?

Get in touch with us to find out how we can improve your address data quality in Salesforce.

Provide an Address Status to the Nonprofit Success Pack (NPSP) Address Object and display it on related Household Accounts and Contacts

This article covers how to add an “Address Status” field to the NPSP Address object and display it on Household Accounts and Contacts.

By treating the Address object as the “true source” of address information, this is where the custom field belongs. Creating formula fields provides your Org with the functionality it needs to view the custom field data when looking at the Contact or Account record.

This specific use case covers displaying the Address Status field provided with the AddressTools Premium managed package but the following steps can be followed to implement other custom fields added to the Address object.

Adding a Custom Fields to the Addresses Object

As this guide covers the Address Status field provided with AddressTools, we need to add a new field to the Address object.

Create a new field on the Addresses object:

  • Type: Picklist
  • Name: Address Status
  • API Name: AddressStatus (this can be customized to your requirement)
  • Values: Not checked, Not matched, Parsed but not found, Ambiguous, Corrected, Verified.
  • Restrict picklist to the values defined in the value set: False.

If you are following this guide for configuration with AddressTools, see this article to complete an AddressTools implementation on the Address object.

In AddressTools context, any Address Status other than Corrected or Verified are considered “bad addresses” and need reviewing before sending mail.

Creating a Formula on the Contact to Display the Address Status for the Current Address

For Contacts, the Nonprofit Success Pack provides a “Current Address” lookup field which refers to a matching Address record. We will use this lookup to display the Address Status.

Create a new lookup on the Contact object:

  • Type: Formula
  • Name: Address Status Formula
  • Formula Return Type: Text
  • Select Next to enter the formula.

Enter the following formula:

  • TEXT(npsp__Current_Address__r.AddressStatus__c)

Note: ensure the field API name matches what was created in the previous section and TEXT() is only used for picklist fields.

  • Select Next to Establish field-level security.
  • Select Next to Add reference field to Page Layouts
  • Select Save.

Creating a Lookup Field on the Account to Reference the Default Address

For Household Accounts, the Billing Address refers to the Address record where the Default Address equals True. This identifies the address record to fetch the Address Status from.

The Household Account does not have a lookup field as found in the Contact object, so we need to create a custom one.

Create a new field on the Account object:

  • Type: Lookup Relationship
  • Related To: Address
  • Field Label: Default Address
  • Field Name: DefaultAddress (this can be customized to your requirement)
  • Select Next to Establish field-level security.
  • Select Next to Add reference field to Page Layouts.
  • Select Next and uncheck Add Related List.
  • Select Save.

With the lookup field created, it needs to be automatically populated with the default address.

Populate the Lookup Field on the Account to Reference the Default Address

Create a new Process Builder by going Setup | Process Automation | Process Builder | New.

  • Process Name: Update Parent Account with Default Address
  • API Name: autofill
  • The process starts when: A record changes
  • Select Save.

Choose Object:

  • Object: Address
  • Start the process: when a record is created or edited
  • Select Save.

Add Criteria:

  • Criteria Name: When Address Is Default
  • Criteria for Executing Actions: Conditions are met

Set Conditions:

  • Field: Default Address
  • Operator: Equals
  • Type: Boolean
  • Value: True
  • Select Save.

Add Action:

  • Action Type: Update Records
  • Action Name: Update Parent Account – Record Type: Select a record related to the npsp__Address__c – Type to filter list…: Account
  • Choose
  • Criteria for Updating Records: No criteria—just update the records!

Set new field values for the records you update:

  • Field: Address
  • Type: Field Reference
  • Value: npsp__Address__c > Record ID
  • Save.
  • Active the process builder.

Note: A mass update will have to be run on the Address object to update existing records. You can use a data loading solution such as SimpleImport Premium to complete this job.

Creating a Formula on the Account to Reference the Address Status for the Current Address.

Create a new lookup on the Account object:

  • Type: Formula
  • Name: Address Status Formula
  • Formula Return Type: Text
  • Select Next to enter the formula.

Enter the following formula:

  • TEXT(DefaultAddress__r.AddressStatus__c)

Note: ensure the field API name matches what was created in the previous section and TEXT() is only used for picklist fields.

  • Select Next to Establish field-level security.
  • Select Next to Add reference field to Page Layouts
  • Press Save.


Your Organization will now have a field on both the Contact and Account referencing the Address Status value stored on the Address record. By leveraging Automated Address Verification in AddressTools, this address status will update automatically removing any requirement for end-user interaction.

Like the sound of AddressTools?

AddressTools is our 5* app for Salesforce which takes the worry out of bad address data by keeping all of your addresses validated, verified, corrected, and standardized. Like the sound of it? Try it for yourself on the AppExchange!

To find out more about how AddressTools Premium can improve the Nonprofit Success Pack, please do get in touch!