Blog

How to: solve “Too many SOQL queries: 101” within AddressTools

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.
  • Tick the box to enable this setting.
  • Select Save.

If you are still experiencing issues and need assistance, contact support@provenworks.com.


What is AddressTools?

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!

Improving location analysis with quality address data

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.

Want to try out AddressTools?

Great news! Try AddressTools for free on the Salesforce AppExchange and start cleaning up your address data.

Want to find out more?

Get in touch with our Sales team to find out how we can improve your data quality in Salesforce!

Known bug with ‘Enable Secure Static Resources for Lightning Components’ forces delay to Summer’21

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!

Can I import data into Salesforce without being an Administrator?

Yes, you can!

SimpleImport by ProvenWorks for Salesforce CRM allows you to import data from Excel into Salesforce without being an admin user. Administrators can choose to remain in control over the fields and objects users can import into by giving a non-admin user a license to SimpleImport with restrictions in place. These restrictions will allow the admin to specify the exact objects the user will have access to import into. See below, we’ve restricted this sales user to only be able to import into the Lead object.



Want to take it a step further and restrict the fields users can import into as well? Take a look at our guided import wizard functionality which gives users a drag and drop component with your predefined object and field mappings. This means that if a user were to try to import into a field that wasn’t configured in the mapping, the import would fail. You can open up importing to non-admin users with the assurance that they can only import into objects and fields specified by the admin.

Community and Portal User Imports

We understand that you don’t want community and portal users to be able to import into any object and fields in Salesforce, so our Managed Import component can also be used in a Salesforce Community. This is perfect for recurring imports like product and sales data, or deal registration.


Where to find SimpleImport

Install SimpleImport from the Salesforce AppExchange



Try out SimpleImport for free

Arrange a demo of SimpleImport to see it in action or get in touch by emailing us at: info@provenworks.com

Want to try it for yourself? Take SimpleImport for a spin today on the AppExchange!

PhoneTools: phone screening statuses

Overview

PhoneTools from ProvenWorks safeguards Salesforce users against breaching privacy laws when contacting potential customers in the UK. This is done through Telephone Preference Service (TPS) and Corporate Telephone Preference Service (CTPS) register checks.

The managed package assigns statuses to each record at two levels, record level (a summary status of all phone numbers on the specific record) and then drilling into it, a phone number level (highlighting the status of individual phone numbers).

So what are the statuses and what do they mean?

Record Level Statuses

The record level status provides a summary of each of the numbers that exist within the record. This status is ideal for use in Salesforce reports to quickly identify whether a record has callable numbers.

  1. Not Screened – The record contains phone numbers that have not yet been screened against the configured databases
  2. Error – There is an issue with one or more of the numbers that exist on the record
  3. Safe to Call (not listed) – All numbers on the record are considered safe to call and not listed on the databases screened against
  4. Caution (partially listed) – The record contains both numbers that aren’t listed as well as numbers that are. A breakdown of which numbers are safe to call can be found by looking at the Phone Level Statuses on the record page layout.
  5. Do Not Call (listed) – All numbers on the record are listed in either database

Phone Level Statuses

The phone level status is displayed within a Lightning Component that can be placed onto your record app pages. These statuses provide a clear summary at a glance of which numbers are callable on the record.

  1. Green – Not Listed on TPS/CTPS register, it is okay to call
  2. Red – Listed on TPS/CTPS register, it is not okay to call
  3. Amber – Not Screened or Overdue

If you want to find out more about PhoneTools please get in touch at info@provenworks.com or Arrange a Demo via the PhoneTools product page!

AddressTools: address verification statuses

AddressTools enables Salesforce users to verify address data through a number of means such as Scheduled Batch Address Verification, the Address Verification Flow Component and at point of entry with the package’s core functionality!

Six statuses are returned via the address verification processes, see their values and descriptions below:

  1. Verified – Address verified without change
  2. Corrected – Address verified with corrections
  3. Ambiguous – Address values match multiple verified addresses
  4. Parsed but not found – Address values partially matched to a verified address
  5. Not Matched – Address values cannot be matched or parsed
  6. Not Checked – Address has not been verified

If you’re looking to verify your address data in Salesforce, get in contact with info@provenworks.com to see how we can help!

What is the impact of poor quality data?

Data is an incredibly important asset to any business. Bad quality data is not just a time sink to remedy, it can also cause active damage to an organization. Starting with good quality data is key, especially in Salesforce where qualifying leads, assigning key accounts, and ensuring cases are routed to the correct queues are paramount.

What are the consequences of bad data?

  • Damage to relationships with clients and partners
  • Lowered credibility
  • Poor productivity
  • Poor decision making
  • Lost revenue

How can I get accurate data in my Salesforce Organization?

Salesforce provides various ways to keep data accurate such as validation rules, required fields, workflow rules, and duplicate management rules. We believe that good data is the basis of success. This means correct data at the point of entry, and where that’s not possible, it means having the ability to highlight and intelligently cleanse poor data.

We offer a range of solutions for the Salesforce CRM platform to promote and assist accurate data entry, to provide methods to cleanse your data, integrate it, and help keep your business compliant with GDPR.

AddressTools

AddressTools can verify address data both at the point of entry, or as a clean up task. With the data being verified against local postal authorities in over 240+ countries, you can rely on AddressTools to ensure that Salesforce is your master source of knowledge. Ensure that users in your Salesforce Organization are spending their time efficiently, rather than fixing the issues caused by poor quality address data.

IndustryComplete

IndustryComplete uses NAICS, SIC and iSIC classification systems to verify industries in Salesforce. With an easy-to-use component, users can search for an industry using keywords which will populate the standard Salesforce industry field. Having an interactive and easy to use component to enter in industry data not only saves users time, but ensures accurate data is entered.


SimpleImport

The Managed Import component from SimpleImport allows users to import data into Salesforce directly, but safely into predefined fields, mapped by an administrator. Standard users are empowered with streamlined import functionality, but with strict, customizable controls to ensure security and data integrity.


PhoneTools

PhoneTools allows you to screen against UK TPS and CTPS lists to assist with PECR compliance, all within Salesforce with no coding required. Manually check numbers when you need them or automate screening to keep you up-to-date.

For more information on our products discussed above please check out our AppExchange listings for AddressToolsIndustryCompleteSimpleImport and PhoneTools.

Information: what data is sent to ProvenWorks servers when using AddressTools?

This article will cover:

  • AddressTools Free
  • AddressTools Premium

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 licencing and credit verification.

If you use our premise level address verfication or batch verification then address blocks are 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.

Notice: AddressTools “query access to the ValidatedField__c object”

AddressTools Spring’20 Notice

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 notesreleasenotes.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.

Known bug with ‘Enable Secure Static Resources for Lightning Components’ forces delay to Summer’21

Update: 10/MAY/2021

Salesforce have now postponed the enforcement of the Release Update ‘Enable Secure Static Resources for Lightning Components’ indefinitely. Due to a number of issues that were introduced, their advice is now “Don’t enable it”. We recommend all organizations should follow this advise.


Update: 13/JAN/2021

The initial issue has been resolved however another issue has been introduced which has caused a further delay to the forced enablement of this Release Update. Full information on the issue is logged via this known issue.


Original post:

An issue has been introduced by Salesforce with their latest Release Update ‘Enable Secure Static Resources for Lightning Components’ which has resulted in Salesforce having to delay the forced enablement to Summer’21. When enabled, Aura components provided within managed packages that make reference to static resources also packaged with the solution result in Cross-Origin Resource Sharing (CORS) issues.

A quick way to check whether this affects you is by analyzing the browser console for CORS errors when you try to use your Aura component once the Release Update is enabled (example below displaying the AddressTools override when the Release Update is enabled).

Salesforce have officially acknowledged that this is not desired behavior and have delayed the enforcement of this Release Update until Summer’21 with the aim to have a fix completed and available in Spring’21. The official Salesforce release notes have been updated to reflect this.

You can also track the known issue. By using the This Issue Affects me, you will receive updates from Salesforce as they work on resolving the problem.

This Release Update affects AddressTools & IndustryComplete. We suggest disabling this Release Update until Salesforce have released the update resolving the issue. For more information, contact support@provenworks.com.

What is AddressTools?

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!

What is IndustryComplete?

Another great question! IndustryComplete is the ultimate industry code search tool for Salesforce. Look up NAICS, SIC and ISIC data without ever leaving your org to improve your industry data. You can even attach multiple industries to your accounts. Want to try out IndustryComplete? It’s on the AppExchange!