One of the first steps during the installation walkthrough is ‘Installing a Default Country’. QuickComplete is the specific functionality in the solution that leverages this value to life. If you need to install a default country to all your users, follow the installing a default country article, then come back here when you’re done.
Installing a separate default country for different users
The user records in Salesforce are provided with a new field “QuickCompleteCountry(pw_ccpro__QuickCompleteCountry__c)” when AddressTools is installed. This field is what stores a text value of the default country for the user for use with QuickComplete Country. Before you can update the field in the user interface, add this field to the User page layout.
Navigate to the User record that you want to add a default country to.
Select Edit.
In the QuickComplete Country field, type the name of the country you want to add.
When complete, Save the record.
Repeat for any additional users you want to update.
Note: The QuickComplete Country field is a text field that can accept any value, however, you should only write in country names that you have installed in your organization. Failure to match these values may result in validation rules failing.
Enabling QuickComplete Country
Go to App Launcher | AddressTools Administration.
Select Settings from the sidebar.
Click the pencil next to QuickComplete Country Enabled and tick the checkbox.
Default country installation will become available once enabled. Use the Default Country Installation picklist to choose the default country for the organization.
AddressTools Premium is the ultimate address functionality tool for Salesforce jam-packed with hundreds of features. This article will guide you through configuring the product for the first time and provide guidance on updating settings on an ongoing basis.
AddressTools’ triggers handle the standardization, validation, and some elements of verification in a Salesforce organization where the solution is configured.
To guarantee that the solution does what it is designed to do, the functionality invoked by the trigger is designed to be recursive to guarantee it is the last operation in the transaction. This ensures that if there are any other processes executing that touch the address data during the transaction, AddressTools will reinvoke against the data in the record.
A side effect of this behaviour is that for some orgs, “Too many SOQL queries: 101” can occur during an insert or update operation, more commonly during mass operations or organization with lots of processes executing on the upsert operation.
To disable the looping behaviour, follow the steps below:
Go to App Launcher | AddressTools Administration.
Select the Settings sub-tab and scroll down to Trigger Settings.
Click the pencil next to the Run Trigger Only Once setting.
We’re glad you asked! 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!
Salesforce is one of the best CRM platforms out there, and with the acquisition of MapAnything, we’re pleased to see a focus on the importance of location-based use cases. But there’s STILL a problem… These solutions are only as good as the data you put into them. Whilst Salesforce offers a fantastic backbone for storing, organizing and reporting on your data, and MapAnything allows for advanced location analysis, what happens if the address data is invalid?
Many of our customers initially reach out to us with the low quality of their address data dragging down their mapping solutions. Whether it be data missing entirely, or incorrect values, poor data cripples the effectiveness and value of their mapping.
On average, 5% of deliveries will fail. Each failure carries not only the monetary cost of administration, re-handling and re-sending, but also the hidden costs of customer dissatisfaction. Marketing mailing is worthless if the copy never reaches the prospective client. Site visits can be delayed, or flummoxed entirely by an incorrect street or postal code.
So we understand the problem, how can we solve it?
At ProvenWorks, we provide an address quality solution called AddressTools which battles bad address data at the point of entry, both interactively and automatically.
Whether ensuring that spellings are correct or standardized, or that values are entered for certain countries, or fully verifying the address to the exact premise internationally, it all gets handled in Salesforce. Records are automatically flagged to notify the user whether or not an address is valid and deliverable.
Got questions? Chat to us!
Do you want to learn more about how AddressTools could be a great addition to your Salesforce org? We’d love to chat! Use the scheduler to book a free call with our team and start your journey to better address data.
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.
Summary
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!
Requires an active verification lookups subscription in your organization.
The address block requiring verification must be configured in the AddressTools Administration Address Blocks.
This feature is only suitable for low-volume data upsertion due to dependencies on ‘future methods’. Check out Scheduled Address Verification for high-volume implementations.
Create a New Process
Navigate to Setup | Process Automation | Process Builder.
Select New.
Provide a Name and API Name.
Set The process starts when to A record change.
Press Save.
Choose Object
Select Add Object to open the Choose Object panel.
Select Find an object…
Choose the relevant Object.
Under Start the process, select the appropriate option for your use case from the available options.
Press Save.
Add Criteria
Select Add Criteria to open the Define Criteria panel.
Name the criteria using the Name Criteria field.
Set Criteria for Executing Actions to Conditions are met.
Under Set Conditions, select the Find a Field and select the associated Address Status field for the address block and press Choose to confirm.
Set Operator to Equals.
Set Type to Picklists.
Set Value to Not checked.
If you want to add more criteria, select Add Row.
Set Conditions to All of the conditions are met (AND).
Press Save.
Add Action
Select Add Action to open the Select and Define Action panel.
Set Action Type to Apex.
Name the action using the Action Name field.
Set Apex Class to Premise Level Address Verification.
Set Country-field API name | Type to String.
Set Country-field API name | Value to the address block’s country field API name.
Set ID of record to validate | Type to Field Reference.
Select Find a field… to open the Select a Field modal.
Select the Object’s ID field.
Select Choose.
Select Save.
Activate and Test
Select Activate.
Select Confirm.
Insert a record into your object with a complete address block and the necessary criteria to meet to rules configured in the Add Criteria section. Once the record has been inserted, you may need to refresh the page to display the updated status,
Contact Us
If you are experiencing any issues with the setup, please reach out to: support@provenworks.com where a member of our team will be happy to assist.
The org details which are public on the partner support interface are sent to us and we receive general org information which is used for licensing and credit verification.
If you use our AddressTools Premium features of premise level address verification or batch verification then the entered address data is sent to our servers for processing.
Contact Us
If you have any other questions relating to AddressTools Free or Premium then please do not hesitate to contact us at support@provenworks.com. We will be happy to answer any questions or help with any problems you may have.
In Spring’20, Salesforce is restricting access to custom settings which had previously been accessible by all users within your Org by default.
If you are experiencing the following error: The current user does not have query access to the ValidatedField__c object or one of its fields which access is required.
You will be required to manually assign the profile with access to the AddressTools custom settings. This can either be done by:
Profile Custom Setting Definitions.
Go to Setup | Profiles | [Profile in Question] | Custom Setting Definitions | Edit. Move CountryComplete Settings and available AddressTools Fields to Validate to the enabled lists. Select Save.
View All Custom Settings Profile Permission.
Go to Setup | Profiles | [Profile in Question]. Search for View All Custom Settings and check it. Save the changes.
Both of the above can either be applied via a Permission Set or directly on the affected profiles themselves.
To find out more about this change and how to configure permission sets, you can read the official Salesforce release notes: releasenotes.doc.salesforce
Contact Us
If you have any other questions then please do not hesitate to contact us at: support@provenworks.com. We will be happy to answer any questions or help with any problems you may have.
With AddressTools now installed in your Org, it is essential to provide your users with the correct permissions to use the solution.
This article will explain what permissions are required for users to be able to use AddressTools functionality.
It is recommended to assign the package’s Permission Sets outlined below to your users, however dedicated information is provided for the exact field and object access required.
Permission Sets
For administrative users that will be configuring AddressTools, assign AddressTools Premium Admin User.
For standard users in your org that will be using AddressTools, assign AddressTools Premium Standard User.
Guest users will need a custom permission set to be created using information in the next section.
Object and Field Permissions
Setup each object and associated fields with the permissions noted in the table below.
Object
Object Permission
Field Name
Field Permission
Users
N/A
QuickComplete Country
Exempt Validation Errors
Read
Countries
View All
All fields
Read
States
View All
All fields
Read
ZIP Codes
View All
All fields
Read
ZIP Code Counties
View All
All fields
Read
Time Zones
View All
All fields
Read
Alternate Country Names
View All
All fields
Read
Alternate State Names
View All
All fields
Read
Apex, Visualforce and Custom Settings
The user/profile will need access to all Apex Classes with the prefix:
pw_ccpro__
The user/profile will need access to the following Visualforce Pages:
pw_ccpro__CountriesJavaScript
pw_ccpro__SessionIdPage
The user/profile will need access to the following Custom Setting Definitions:
CountryComplete Settings
AddressTools Fields to Validate
License Allocation
After deployment to production, a license must be allocated to each user.
This can be managed in Setup | Installed Packages | Manage Licenses next to AddressTools.
API Enabled
Users wishing to leverage the interactive functionality available in the tool require the permission API Enabled.
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.