Blog

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.

Nonprofit Leverages Cumulus CI and Snowfakery to Streamline Delivery of Salesforce Managed Package

HomeKeeper is a powerful web-based Salesforce App originally created for affordable home ownership programs with long-term affordability restrictions.  It is designed around the day-to-day workflow of a housing program administrator, but also collects performance data which is aggregated to generate social impact reports. HomeKeeper is also a HUD approved Housing Counseling Management System (CMS), designed for busy housing counselors and homeownership advisors. Since its inception in 2011 HomeKeeper’s user base has been growing steadily every year. As of April 2020, they had a total of 117 participating organizations. In 2021 Grounded Solutions experienced a 50% increase of their install base for HomeKeeper. As the steward of HomeKeeper, Grounded Solutions Network is a national nonprofit organization deeply invested in the local communities. Grounded Solutions has a small but mighty team that helps imagine and grow HomeKeeper in partnership with DaizyLogik’s technical expertise.

As a development partner, DaizyLogik has been looking for ways to assist the Grounded Solutions team to more effectively support their HomeKeeper user onboarding processes as well as facilitate the regular testing and verification of new features as they become available in the HomeKeeper package. Drawing on their significant nonprofit and technical expertise, DaizyLogik has implemented some process improvements that reduce the amount of time the Grounded Solutions staff has to spend to bring to life new features, as well as bring online new HomeKeeper participating organizations.

About Cumulus CI and Snowfakery

CumulusCI (CCI) is a tool that helps development teams build great applications on the Salesforce platform by automating org setup, testing, and deployment. In other words, it offers a way to automate various processes on the Salesforce platform.

Snowfakery is a tool for generating fake data directly into Salesforce databases, that allows for the creation of relations between tables. Every row is fake data, but also unique and random, like a snowflake.

Streamlining HomeKeeper Package Testing and Customer Onboarding 

DaizyLogik leveraged Cumulus CI and Snowfakery to address two specific use cases in the development, testing and release process of the HomeKeeper package.

Generating Realistic Test Date at Scale

Every time a new feature is added to HomeKeeper, significant testing needs to be performed to ensure the quality of the package as well as confirm that the product can support large data sets (known as scalability testing). Previously, the testing staff had to manually upload spreadsheets with data and link them with each other in order to create a realistic HomeKeeper database on which to test. With every subsequent build of the package, the data had to be discarded and re-uploaded. 

By using Snowfakery, DaizyLogik developed a script that automatically spins off a Salesforce scratch org, installs the latest version of the HomeKeeper managed package alongside the latest version on the Nonprofit Success Pack (NPSP) and populates it with enough data to cover most of the test cases and allow for scalability testing when needed.

This is a huge time saving automation that benefits both the developer and the tester because the data is predictable and fills out all the necessary structures in the database.

We asked Cheryl Curry, Senior Specialist for HomeKeeper Training & Support, to share with us how this process improvement helped the HomeKeeper team save time in the process of releasing new versions of the product.

[Cheryl Curry] Previously, for each new beta build, I had to spend about an hour uninstalling and reinstalling HomeKeeper, mainly because I had to remember each of the steps in their order, and wait for their completion. Sometimes I would forget which box had a beta build installed or where it had just been uninstalled. When my flow was interrupted, I’d spend 5 minutes logging in to check Setup and resume my thought process, including tracking down the beta install link.

I rarely populated significant amounts of data because of the time it would require to accurately represent the HomeKeeper app’s sophisticated 4-tier data model (which references Contacts, Accounts, then relatedly custom objects referencing service types and household members). 

Generally, I would create 2-4 examples with the bare minimum of data entered to successfully test the requirements. About twice a year, successful testing would require more complete data where it was necessary to upload spreadsheets of data. While I am accomplished at data import, if you haven’t ridden your bike in a year, you still need to find it, tune it up, and regain your equilibrium – so that data upload often took most of a day, especially if I forgot a required field or a data model quirk like the format for a custom Date/Time field.

Another challenge was rarely having time to also install Salesforce’s Nonprofit Success Pack for a more accurate representation of how the majority of our customers use the HomeKeeper app (on top of the NPSP), especially with the Household Account data model. Having that app installed alongside the HomeKeeper beta build, with realistic Snowfakery data, will produce a more realistic environment for testing. This should enable us to deliver improved and quality features more quickly and efficiently, and free up time to support our rapidly growing user base.

According to Cheryl Curry,  the testing conducted so far by incorporating the new CCI and Snowfakery automation scripts and the fake realistic data has enabled the HomeKeeper team to shorten the cycle for testing and, when necessary, publishing a new release of the HomeKeeper product from about 1 month down to 1 week. In addition, the realistic data created at scale allowed the team to test and improve a query limit issue. This allowed for the delivery of the improvement to the client in record time and reduced the workload for the HomeKeeper team. 

Faster Onboarding of New Customers

More and more organizations who are adopting HomeKeeper are also using the Nonprofit Success Pack (NPSP). When a new customer is onboarded, and the HomeKeeper package is installed in their Salesforce database alongside NPSP,  every layout in HomeKeeper will show standard Salesforce buttons as well as NPSP buttons that are not relevant to the HomeKeeper functionality. The staff conducting onboarding of HomeKeeper previously had to go into each of the 37 HomeKeeper layouts and clean them up by removing the buttons that are not used. In addition, from a usability perspective, the HomeKeeper staff identified that the order of the buttons was also an important detail in users following good data entry practices.

By leveraging CCI and Apex, DaizyLogik developed a script that can be run against a new HomeKeeper organization to automatically go through the layouts and clean them up, leaving only the buttons that are relevant to HomeKeeper specific functionality in the right order. This has resulted in a time savings for new installs, as explained by Cheryl Curry:

[Cheryl Curry] Our team has used the [layout cleanup] CCI script at least 4 times a month since its completion in 2020. While not a vital step, it was invaluable to clean up buttons in a couple minutes instead of a half hour, so buttons on layouts matched app preferences and adoption best practices (for example, moving “Delete” to be the last button on the layout, whereas the prebuilt Salesforce layout places it right after “Edit” which encourages poor data hygiene).

Focus on the Product not the Tech

DaizyLogik is always seeking to apply new automation and process improvements to ensure our partners can focus on their mission, their product, and release quality functionality. Cheryl Curry and Grounded Solutions imagines the possibility of using these tools to ensure HomeKeeper works more efficiently alongside other alliance partners’ applications like Public House and CreditChecker. Having the ability to test HomeKeeper in conjunction with other products that customers use frequently, ensures that they will have a better experience and confidence that these packages work well together.


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.

Emergency Fund Distribution with Salesforce Nonprofit Cloud Case Management

Wellspring Family Services is a nonprofit, multi-service agency serving low-income and vulnerable individuals, children and families in the Seattle area. Its mission is to end the cycle of family homelessness in the metropolitan area, and ensure that every child has a safe and stable home. 

At the height of the COVID-19 crisis, Wellspring Family Services was selected by the City of Seattle to administer the distribution of a $2.17M fund targeted to aid the city’s hospitality workers who lost their jobs or income due to the pandemic. The organization was tasked with quickly bringing online an end-to-end system that was equipped to: collect applications in multiple languages, track information in a meaningful way, support the selection process of eligible applicants, and facilitate the disbursement of funds.

Wellspring Family Services reached out to DaizyLogik to help them design and implement this digital system for their needs by leveraging Salesforce CRM and the Nonprofit Cloud Case Management module.

Together, we got the $2M into the hands of people that needed it. A success from every angle – from the City of Seattle, our team, DaizyLogik’s completion, and the lives it touched.

Peter Schultz COO, Wellspring Family Services

Agility and Forward Looking Design

For this project, Wellspring and DaizyLogik selected FormAssembly to build out the data collection portion of the project. This allowed the DaizyLogik team to build out data collection forms in 10 different languages in order to support the diverse Seattle community and reduce the language barrier for potential applicants. By using the e-signature feature built into FormAssembly, the team was able to provide an additional layer of validating eligible applicants and meet the requirements set forward by the City of Seattle. 

Leveraging their expertise in both Salesforce CRM and in supporting human services organizations, DaizyLogik was able to quickly deploy and configure the Case Management module for Salesforce CRM. Our team designed additional structures needed to support the immediate needs of the hospitality program data collection with an eye for the future, taking into consideration the needs of other programs that Wellspring is currently managing or plans to manage moving forward. Using the Salesforce connector for FormAssembly, the applicant data was funneled directly into the Case Management system allowing the team to perform in-depth data analysis after the initial application process, in order to drive the funds disbursement process.

In order to ensure compliance with the funding guidelines established by the City of Seattle and fairly disburse the funds to applicants in need, the data collected had to be further scrubbed before being used for decision making. Using one of the address verification services built into the Nonprofit Success Pack, as well as a third party deduplication tool (Demand Tools), DaizyLogik helped Wellspring ensure the applicant data was accurate.

Read the entire case study and Q&A with Wellspring Family Services COO, Peter Schultz.

Based on the timeline – I needed someone who knew the questions that were necessary to ask. With limited staff: there was a lot that was self led by DaizyLogik, whose team fulfilled answers to questions that I didn’t even have to ask, and met at odd hours during a truly unrealistic timeline – they were very accommodating.

Peter Schultz COO, Wellspring Family Services

Managing an Affordable Housing Community using Salesforce CRM and the Nonprofit Success Pack

Hilltop is a nonprofit corporation that was established with two goals in mind: to provide affordable housing for individuals aged 62 and older; and to nurture independence through innovative programs that help maintain, enhance and improve the lives of all who live there. 

Residency at Hilltop is open to all qualified, eligible persons 62 years of age or older, without regard to race, color, creed, national origin, handicap status, religion, familial status, political persuasion, sex or sexual preference.  Its 124-unit, equal-opportunity facility provides affordable apartments, many with subsidies provided by HUD or the Seattle Housing Authority.

About The Project

Hilltop reached out to DaizyLogik to help them implement Salesforce CRM with the Nonprofit Success Pack. Prior to the organization’s adoption of Salesforce CRM, Hilltop relied mainly on Excel spreadsheets and paper files to manage business operations, applicants and residents. Since many of the Hilltop residents are recipients of subsidies, the organization needed a more efficient and timely way to track activities while still maintaining compliance with the subsidy requirements for certification purposes. Hilltop also wanted to have a clearer picture of its vendors and contracts as well as keep track of communications with applicants – tracking their journey to becoming residents.

DaizyLogik used an incremental, agile, and transparent approach to build the new system that meets Hilltop’s needs. Since most staff had no prior experience with Salesforce CRM, we made sure that every new piece was built, demonstrated, and then tested and validated by staff who were provided clear testing instructions. 

Resident and Property Management with Salesforce CRM

To accomplish the goals of this project DaizyLogik leveraged the Salesforce Nonprofit Success Pack (NPSP) and built additional custom structures and processes to model the organization’s business operations. This allows Hilltop to track the whole journey for applicants from the moment they are waitlisted for a unit on the property to officially becoming residents.

Hilltop builds community and we helped built the database to support them. Read more about this project.

Farewell NPower Template, Welcome Nonprofit Success Pack

A Walk Down Memory Lane

Back in 2011, DaizyLogik co-founder, Nineta Martinov was hired to work as a Salesforce consultant with NPower Seattle where she became familiar with the NPower Template for Salesforce. The origins of the NPower Template can be traced back to 2006 and to countless collaborations with nonprofits and talented, passionate individuals who contributed ideas and code to build a common template that nonprofits can leverage to make the most of their Salesforce CRM. Around the same time, emerged [what was then called] the Nonprofit Starter Pack brought to life by the Salesforce Foundation, now known as the Nonprofit Success Pack (NPSP).

Fast forward to 2020, DaizyLogik had the opportunity to transition probably one of the last remaining NPower Template Salesforce instances to the latest version of Nonprofit Success Pack. “This project has been somewhat emotional to me,” said Nineta Martinov. “As I got to unravel and unplug the pieces of the NPower Template and move data into the NPSP, it’s been an illuminating experience as to how much things have changed in these nine years, yet how much they stayed the same.”

In Keeping with The Times

DaizyLogik frequently helps their clients adopt the latest advancements in the Salesforce nonprofit technology, as it did with School’s Out Washington (SOWA), a nonprofit organization that provides services and guidance for organizations to ensure all young people have safe places to learn and grow when not in school. The organization has been successfully using Salesforce with the NPower Template since around 2011. As part of the organization’s  initiative to revamp its digital assets, SOWA decided to modernize its CRM by moving to Salesforce’s Nonprofit Success Pack and switching to the Lightning experience. In this post we illustrate the first part of this effort, namely the journey to NPSP.

Smooth Transitions

At DaizyLogik we always approach transition projects with deliberate care and diligent planning. Using a full sandbox we tested the upgrade to NPSP and planned out the data conversion down to the smallest detail. School’s Out Washington had many customizations and integrations which had to be preserved or upgraded to work with the NPSP. DaizyLogik worked to surgically update code and structures so that NPower Template pieces could be safely removed from the system. 

One takeaway from this project has been the striking similarities between the NPower Template and the NPSP. We found that most fields and structures transferred very easily and many of the template’s settings can now be found in the NPSP Settings. One aspect of the NPower Template that we knew SOWA wanted to preserve is the NPower Lead Converter which allows staff to mass convert leads which are coming into the system from various integrations; a function that had proven very successful for them. DaizyLogik was able to update the code of the mass lead converter to work with the account model in NPSP, therefore minimizing any disruption to the processes that staff was accustomed to.

Onwards

Now that SOWA and DaizyLogik have successfully completed the transition to NPSP, staff can look forward to leveraging the additional functionality in NPSP and benefiting from the ongoing updates and improvements that NPSP continues to make available. The organization is already excited about the opportunity to leverage the Enhanced Recurring Donations feature that will allow staff to more easily track and manage recurring gifts from donors over extended periods of time.

In Their Words

We asked School’s Out Washington to reflect on our work on this project and here is what they had to say: “What I love most about working with Nineta and DaizyLogik is their ability to explain technical aspects of Salesforce to those who are not as well versed in it. Nineta is also very transparent and upfront about costs and risk, and is committed to weighing those out with you so that your organization gets as much value from the finished product as possible. The entire process was very organized (Basecamp and Google Docs for project management) and Nineta is very flexible on response times depending on your availability. I can always trust her in our work together.” – Shirley Lu, Salesforce Administrator and Technical Project Manager

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.

 

Scalable Client Intake for Better Program Data Tracking

clear logoCommunity Action Partnership San Bernardino County or ‘CAPSBC’ for short, hired DaizyLogik to assist in building out a system that helps them streamline the tracking and reporting on program data collected by each of their affiliated food banks and food distribution centers. CAPSBC had been using Salesforce CRM for a few years to support certain aspects of their business operations such as fundraising and food donations. Moving their food bank programs into Salesforce was the natural step into leveraging the platform to support their mission.

Learn more about how the DaizyLogik team utilized Salesforce with Nonprofit Success Pack and Community Cloud to build a custom intake system that scales to serve multiple programs and their 200+ nonprofits partners.

Engaging Members, Building Relationships

Net Hope LogoDaizyLogik client, NetHope, a consortium of nearly 60 leading global nonprofits, empowers committed organizations to change the world through the power of technology. Its members deliver over 60 percent of all annual, international, non-governmental aid. NetHope unites with over 60 technology companies and funding partners to design, fund, implement, adapt, and scale innovative approaches to solve development, humanitarian, and conservation challenges. Together, the NetHope community strives to transform the world, building a platform of hope for those who receive aid and those who deliver it.

NetHope has been using Salesforce and the Nonprofit Success Pack for a few years but wanted to increase the adoption of the system with its staff and take full advantage of its capabilities, in support of the organization’s fundraising and membership management efforts.

Learn more about how we approached this work and the journey of making Salesforce CRM an effective tool, central for the organization.

Kôr Community Land Trust – Using FormAssembly and HomeKeeper to Streamline The Homeownership Application Process

kor-logo-140Kôr Community Land Trust provides environmentally sustainable and permanently affordable homeownership opportunities for those who contribute to the fabric of the Bend, Oregon area economy and community. We invite you to read more about Kôr CLT on their website.

Kôr CLT embarked on a process of digital transformation by adopting Salesforce CRM and HomeKeeper. To achieve greater efficiency and streamline their application process, Kôr CLT worked with DaizyLogik to implement an online homeownership application that allows prospective applicants to be screened and apply for homeownership in a simple, step-by-step way. By putting together FormAssembly online application forms with the PayPal connector and connecting them to Salesforce and HomeKeeper, DaizyLogik helped Kôr CLT streamline their application process and increase their impact.

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

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.