Technologies

Salesforce: Why code when you can go with the flow?

This story comes in the form of an interview we conducted with one of our lead consultants and his approach to building a generic and configurable file import utility within the Salesforce platform. Alex opted for an approach in which he used Salesforce Flows rather than APEX to give our clients maximum flexibility of change as well as reduce the initial implementation costs.

This story comes in the form of an interview we conducted with one of our lead consultants and his approach to building a generic and configurable file import utility within the Salesforce platform.

Alex opted for an approach in which he used Salesforce Flows rather than APEX to give our clients maximum flexibility of change as well as reduce the initial implementation costs.

What were the technical challenges you were aiming to overcome?

Our clients use various telemarketing agencies to engage with their large number of existing supporters. Due to the volume of supporters they contact through these campaigns as well as the range of data they capture during these calls, they required an automation tool to enable them to import this data from spreadsheets into their Salesforce database as well as kicking off various outcome dependant sub-processes and record updates.

What architectural options did you have available?

Due to the breadth of data types were needing to import and the vast number of potential outcomes and actions required from each import row (of which there can be several thousand per import) we really only had a couple of options that would be able to deliver a workable solution. Firstly a highly complex and effort-heavy piece of custom development, or Salesforce Flow Builder.

Image for post

What technical approach did you select and why?

Personally, I will always opt for an approach that leverages platform tools over custom code where possible. In this case, it was a combination of both, but the heavy lifting we left to the Salesforce Flow Builder.

Firstly, we implemented Custom Metadata settings to enable us to parse the CSV columns into Flow Input Variables. Essentially what we are doing here is chopping up the data contained in the CSV file and bringing them into our automation piece. From there I constructed an automation flow to handle all of the possible outcomes and updates automatically. Contained within this single piece of automation is everything from calling a separate piece of custom code to update a supporters regular gift amount or frequency, to creating follow up tasks for supporter relations team members right through to simple updates to a supporters address, phone number or communications preferences. All of this is wrapped with detailed error handling that informs the running user if a row fails, which row and why.

As the flow builder is a platform tool, Salesforce is committed to continuing to support it into the future, in fact they are committed not just to supporting it, but to improving it with almost every release. (Already in the release since I built this solution, Salesforce have released the ability to schedule flows making them an even more versatile feature.). This means that solutions underpinned by flow builder processes will not become obsolete or degraded in the future.

Flexibility should be a major consideration for any technical solution. How can we ensure what we build continues to support our clients needs, not just in the present, but into the future, even though we don’t know exactly what that future looks like? The point and click nature of flow means that skilled admins can maintain and update the flow without requiring intervention from developers.

How did this benefit the customer?

I think the main benefits for our customer is ease of use and confidence. This solution can be triggered via the user interface by any user (depending on permissions).

In the past, something this technical would require at best technical staff to run or at worst hours of painstaking manual processing of data. The confidence comes from knowing that as we have built the solution on platform, it will continue to serve their needs well into the future. The error handling functionality gives them complete visibility of what is or isn’t occurring and complete confidence that their data integrity is maintained at all times.

The content in this article was provided by Alex Hughes, our key workflow beast and advocate of Salesforce Flows.

Alex can be reached on alex.hughes@vertic.com.au and we are sure he will be more than happy to outline the benefits to anybody who will listen!

Latest Articles

View All

Leveraging Technology in the Social Sector. Reclaim your time and attention.

It works out, the benefits of technology are not technical at all. They are overwhelmingly human. Your technology selection, implementation, and adoption process should be driven by how well the above human factors can be achieved. This means, in many ways, that the coolest technology or the most powerful technology for any given function is not always the right choice.

October 29, 2020

Going Digital? Think about your data before your processes!

To us, your organisational data model is your software floor plan and the relationships, reporting requirements, performance, and relevance the inputs into this model. This article discusses the validity of focusing on your organisational data in preference of system processes initially and why this will underpin your digital solutions well into the future.

October 29, 2020

Software Solutions have become puzzles not canvases.

Digital services have become incredibly powerful over the past few years and very few requirements exist today that have not already been considered or developed ready for your consumption. This includes on-demand services such as CRM, Finance, HR, Payment Processing, Intranets, and Marketing.

October 29, 2020