Leveraging Twilio API to validate and clean up mobile numbers in Salesforce CRM

Background

Founded in 1974, Second Harvest of Silicon Valley is one of the largest food banks in the nation, providing food to more than a quarter of a million people in Santa Clara and San Mateo counties every month.

Second Harvest of Silicon Valley uses Mogli for texting out of Salesforce. Mogli is a texting app built on Twilio that offers one-to-one messaging, surveys, and WhatsApp integration. Twilio is a platform that provides programmable communication tools for making and receiving phone calls, and sending and receiving text messages.

Problem 

When using a texting app, U.S. carriers require message originators (you or your customers) to keep subscriber lists clean by removing deactivated phone numbers from your lists. Recently, Twilio launched the Deactivations API, allowing customers to automate the process of downloading and cleaning deactivated subscribers from their lists. The reason to do this is two fold:

  1. Prevent Telephone Consumer Protection Act (TCPA) violations and ensure the SMS Campaigns are compliant by removing phone numbers that no longer belong to the person who signed up for the service.
  2. Lower the costs by minimizing messages sent to inactive numbers.

Additionally, Second Harvest of Silicon Valley wanted to ensure they have fewer errors when texting clients, by validating that the mobile numbers provided are actual mobile numbers. This required excluding numbers that are landlines, cannot be reached via text or are simply bad numbers. 

In absence of Mogli providing this functionality out of the box, the client reached out to DaizyLogik to design a solution that could be leveraged to accomplish this and would fit with Second Harvest’s business needs.

Full Sweep and Ongoing Maintenance

DaizyLogik worked with Second Harvest of Silicon Valley to craft a solution that would allow a full sweep of the mobile numbers in the Salesforce database paired with a “verify as you go” solution that keeps the data clean as new records are created, or information is obtained about Deactivated numbers.

For an initial validation of all existing mobile numbers in the Salesforce database, DaizyLogik implemented an off-platform Python script that ran an export of all mobile numbers in the database through the Twilio verification API. This ensured a fast verification process, free of Salesforce governor limits on a high volume of data. Additionally, DaziyLogik developed Apex and Flow automation to validate numbers in real-time as they are added to the system. To make sure nothing slips through, an additional nightly job looks for mobile numbers that have not been verified and makes sure they get validated at off peak hours.

In addition, by leveraging Apex, DaizyLogik assembled a solution to download the Deactivated number logs from Twilio, process them and update records accordingly in Salesforce.

Conclusion

The solution that DaizyLogik designed and implemented allowed Second Harvest of Silicon Valley to meet their goals in terms of data hygiene, maintain TCPA compliance and save money by having confidence that they are texting verified mobile numbers that are less likely to result in an error.

Want to learn more? Contact DaizyLogik to learn more about how we can support you with specialized consulting and custom development and help you get the most out of Salesforce.

Managing Volunteer Opportunities at Scale with Volunteers for Salesforce and WordPress

SHFB_Primary_Logo_RGB@2x-8Founded in 1974, Second Harvest Food Bank of Silicon Valley is one of the largest food banks in the nation, providing food to more than a quarter of a million people in Santa Clara and San Mateo counties every month – that is roughly 1-in-10 people across the region.

The organization distributes more fresh produce than almost any other food bank in the country, through a network of 310 nonprofit partners at 1,000 sites.

Technology is a crucial component for Second Harvest to be able to fulfill its mission – from tracking warehouse inventory and managing distribution activities, to allowing partner agencies to order online, and routing delivery to distribution sites at specific times.

Read more about the work DaizyLogik and Metric Media did to implement and re-launch the Second Harvest volunteer calendars using Volunteers for Salesforce and WordPress, to fulfill the food bank’s need to, “meet people where they are,” as described by Second Harvest Director of Information Technology, Elizabeth Whamond.

This slideshow requires JavaScript.

 

Lightning Strikes, Be Ready

Salesforce will turn on Lightning Experience on a rolling basis starting with the Winter ‘20 release for all orgs with Supported Editions and User Licenses for Lightning Experience.

After the update, users will still have access to Salesforce Classic when Lightning Experience is turned on, however for a limited time. Currently, users may take advantage of the built-in lead time to get used to the formal change coming next year, by selecting the Turn on Lightning Experience update that appears under Critical Updates.

Utilize this action to verify your organization’s existing features and customizations in the new interface and to prepare your users via change management. Start now to ensure a better experience for everyone when Lightning Experience is turned on later. Every week, starting the Sunday after Lightning Experience is turned on, Lightning Experience-enabled users who are working in Salesforce Classic are automatically logged into Lightning Experience. Users can switch back to Salesforce Classic as needed, but again, for a limited time.


WHAT’S THE TIMELINE FOR THIS UPDATE?

Beginning in Winter ‘20, the update starts to auto-activates. See the auto-activation date listed under Critical Updates for your organization’s specific auto-activation date.

WHICH EDITIONS AND USERS ARE AFFECTED?

All users with the Lightning Experience User permission enabled are affected by this critical update. This includes all users with: (1) Standard profiles, which automatically include the Lightning Experience User permission by default and (2) Custom profiles or permission sets that have the Lightning Experience User permission included.

Set Up Users for Lightning Experience

HOW CAN YOU PREPARE FOR THE UPDATE?

Salesforce offers excellent transition tools that automate and speed up the process. The Lightning Experience Transition Assistant is a one-stop shop for all of the recommended steps and tools that you need; but of course, DaizyLogik is available to assist clients as well.LexNov2019TipsDaizyLogik has done several upgrades to Lightning now, and depending on the timing of the move and the level of customization in the Salesforce instance, the level of effort has been between do-it-yourself to “you need a developer”.

Salesforce has continually improved the automatic inventory of artifacts that need special attention during a Lightning conversion, also known as the Readiness Check. The Lightning Experience Migration Assistant has been replaced by the Lightning Experience Transition Assistant, your central hub for all of the recommended activities, tools, and resources for a successful transition. There are now Beta versions of tools to inventory and convert JavaScript buttons, Visualforce pages, and URL hacks.

Some of the artifacts can be converted automatically by Salesforce, but for those more complicated cases that the tools cannot convert, you will need a consultant and possibly a developer to build the equivalent button, link or page navigation in Lightning.

Specifically, we want to show how we leveraged the power of Lightning Components to solve some of the more complicated cases we ran across.

Where Is The Project? – Salesforce CRM For The Long Haul

Whether you are a nonprofit Salesforce CRM administrator struggling with the decision of when and how to bring in a Salesforce consultant to help your team overcome the complexities of the CRM or you are a consultant evaluating a Salesforce CRM engagement, you have probably given a lot of thought to what makes your work a project.

In the world of Salesforce CRM consulting it’s often expected and required to define and secure projects, work on projects, talk about projects and be rated and evaluated on the success of projects.

But what about the other work we do with our clients that falls outside the box of a “project”? This blog is about shining a spotlight on the non-project work we do day in and day out in partnership with our clients.  

HomeKeeper – A Fieldset Container Lightning Component

Problem Description

DaizyLogik and Grounded Solutions Network were working on making the HomeKeeper app managed package Lightning compatible. The primary custom object in HomeKeeper has nearly 300 fields on its package page layout, a common design in Salesforce Classic for complex objects that allows users to view related fields of a record on one page via formula fields.

One limitation when using Lightning experience is that a maximum of 254 fields can be displayed on a page layout or Lightning page. For an object with more than 254 fields, not all fields can be added to a Lightning layout to be displayed all at once, which means an administrator needs to be selective as to which fields will be shown. Currently, the available workarounds are:

  • Use Salesforce Classic
  • Remove fields from the layout so fewer than 254 fields are displayed at one time
  • Find a Lightning component on the AppExchange that can display fields from an object and ‘break up’ the page in multiple parts. This particular workaround would not work in our case, because of the need to package such a component with the HomeKeeper App, which is not possible.

Adding CAPTCHA to Volunteers for Salesforce Sign Up Form

Nonprofits love when volunteers sign up and engage with the organization. When using Volunteers for Salesforce this is accomplished through the sign up form that allows sign ups to flow from the online form directly into Salesforce. It is therefore important to protect the quality of the incoming data and make sure it is humans signing up and not bots.

This article will show how to enhance the Volunteers for Salesforce Signup page with CAPTCHA using very little customization.

Please keep in mind that the Volunteers for Salesforce Sign Up page is part of the managed package Volunteers for Salesforce so in order to add the CAPTCHA some coding will be needed.

Process Improvements with Custom Development and Integration

rentonOur DaizyLogik team has a long history of working with local government agencies to support them in upgrading their systems and evolving their technology to adjust to changing demands. We were thrilled to support the City of Renton, Washington, as they sought to adopt and customize the Business and Occupation Tax system, a service oriented, extensible and modular system built on the Microsoft .NET framework and powered by SQL Server. The system supports critical business processes for local city agencies and integrates with external systems via web services.

The goals of this project were: to implement and customize the Business and Occupation Tax software package in accordance to the City of Renton’s specific requirements and tax rules, integrate it with FileLocal’s web-based tax filing portal and the city’s GIS system.

Read More about how this project contributed to the digital transformation of a local agency.

Building A Teacher Portal Using Salesforce Communities for ArtsCorps

ArtsCorpsArtsCorps works with a growing number of teaching artists and other teaching professionals who need to track and submit student attendance as well as payroll information.They had designed a functional solution, but after a number of years, the team realized that it was not a solution that could scale to accommodate the need for a growing number of teaching artists to submit attendance tracking data, timesheets, and expenses.

The ArtsCorps team reached out to DaizyLogik to propose alternative solutions that would allow teaching artists to manage and enter attendance for their classes, timesheets, and expense information through a self-serve online portal. After exploring several options, DaizyLogik recommended using Salesforce Customer Communities to build the teacher portal that would put the ability to manage class information, student attendance, and payroll information in the hands of teachers.

Read more about how this customized solution helped ArtsCorps by designing a simple, self-serve system to support their team.

Partnership, Agility, Documentation: Keys to a Long Term Solution

Beginning in early 2017, DaizyLogik partnered with Saasinct to help the Fund for Global Human Rights make a significant upgrade to their technology toolkit, including a move to Salesforce Lightning and migrating from Salsa to Engaging Networks to manage donations and email marketing, which required both meticulous data quality management and the development of a new bi-directional sync with Salesforce.

Multiple teams, requirements that evolved as we dug deeper and learned together, and a client whose priorities changed over time as they responded to rapid changes in their field and the world at large. These are everyday realities for most technology solution scenarios in today’s complex world. We found that combining the Agile Method, transparent project management that kept the client in the driver’s seat, light documentation targeted to future users, and a truly collaborative partnership in which each party could speak freely and respectfully push the others’ boundaries was a recipe for success.
Read the case study here.

Addressing Salesforce CRM Storage Limitations – A Document-Oriented Database Inspired Approach

Most organizations start out with 1GB of storage for Salesforce CRM. This can be a challenge especially for nonprofits who would like to collect a lot of data needed to report to their funders,  collect program data or consolidate multiple aspects of their business data into Salesforce. Over time the data fills up the allotted storage and puts organizations into a bind to either purge data or purchase more storage.

Over the years we have explored different solutions that can be used as preventive measures and limit the storage used. The traditional approach is to either export and archive or aggregate and purge older records. The drawback with these solutions is that you can no longer see the details of the historical data in Salesforce.

Below we describe a different preventive approach inspired from document-oriented databases that allows organizations to keep their data and not run the risk of running out of storage.