When will AI replace developers?

There’s more and more chatter about AI replacing developers. Mark Zuckerberg talks about it often these days, and even Marc Benioff has made more than a few comments about it.

While it’s hard to predict the near future, I’m pretty sure about the state of AI today.… Read the rest

Flow debugging techniques

There are multiple ways to debug flows in Salesforce.

The debug button
The first option is the most popular. You create the flow and then click “Debug” to see it run. By the way, if your flow has input variables, there’s a way to speed up the debugging process.… Read the rest

Excellent customer service takes a team

Today I visited a hospital for some routine blood tests. Every time I visit, it’s a pleasure. While that may sound odd at first, it’s because of their excellent customer service.

It started with the ease of booking an appointment with a doctor online within a reasonable time frame.… Read the rest

Achieving flow

I bet you think this email will be about Salesforce flows, eh? Well, it’s not. Instead it’s about flow state.

According to Wikipedia, “Flow state theory suggests that when individuals are in a state of flow, they experience deep immersion, focus, and intrinsic motivation in their activities.”… Read the rest

Giving credit where credit is due

No matter how many compliments your client or team gives you, don’t let it get to your head.

A Salesforce consultant doesn’t usually work alone. They are typically surrounded by abled people, aligned with the same vision as you: be successful.… Read the rest

Nurturing client relationships for long-term success

A client of mine was recently at a crossroads.

As their Salesforce provider, our team recommended they start with a simple MVP. The first release would be a couple of small wins, and be for their employees.

Some of the staff of the client wanted to replace five of their existing web portals.… Read the rest

Saying thank you

Yesterday, during a discovery session, my client demoed their existing five web portals.

The goal of the meeting was to understand the client’s current state. In the near future, I will  estimate the amount of work needed to replicate the portal’s data model, functionality, and security in Salesforce.… Read the rest

A simple hack to building authority

As a Salesforce consultant, one of your roles when interacting with clients is to exude confidence. They need to feel you’re in control of the technical parts of the project, and to deliver a successful project.

It’s always better to build this type of authority in the early stages of client interaction, as first impressions really count.… Read the rest

Buy vs build

A Salesforce client of yours has a problem, so they reached out to you for help.

They’ve explained the issue, you’ve repeated it back to them to confirm your understanding, and now it’s time to make a decision. Also let’s remove urgency from this scenario, as that would clearly encourage you in one direction.… Read the rest

A digital nomad in Spain

It’s been a while since I spoke about being a digital nomad. I used to share this passion almost every Friday, so it’s time for one now.

For the last 4 years, I spent summers in Montreal, Canada and winters in Malaga, Spain.… Read the rest

Using the repeater component in flows

The repeater component is a relatively new feature in screen flows.

A simple way to show its usefulness is through an example. Let’s imagine there’s a Payment object, which is related to the Opportunity. Rather than have your users click “Add” on the Payment related list, enter some data, and then click “Save & New”, you can offer an optimized screen flow with a repeater.… Read the rest

More ways to avoid race conditions within flows

Here are three other mechanisms to avoid race conditions in flows.

1. Add a wait element
Place a wait element after an update, create or delete element. The wait time can be as short as 1 minute, but this ends the current transaction and commits (saves) the operations to the database.… Read the rest

How to setup platform events, with an example

There are a few articles about how to create platform events in Salesforce, but most of them have lots of fluff and unnecessary details. So here’s a concise version.

We’ll use the Nonprofit Success Pack (NPSP) example, in which a household account is created when a contact is created.… Read the rest

When to use platform events

In response to Friday’s email regarding race conditions, a fellow reader suggested using platform events.

This is another great option, if you know how to use them.

If you don’t, here’s a quick synopsis:

When things happen in Salesforce, you may or may not be aware of it.… Read the rest

Avoiding race conditions in flow

A race condition is when multiple transactions are happening at more or less the same time, and they conflict.

Let’s say both transaction A and B look to see if a record exists. If it doesn’t, they create it. Now if A and B happen virtually simultaneously, they both create records and therefore cause duplicates.… Read the rest

Labelling elements in flows

In a flow, it’s usually a good idea to keep the labels of elements short and sweet. For example, you don’t need to specify which field(s) you’re actually updating in an update element.

I’ve seen consultants use “Update Billing Address on Account” for such an element.… Read the rest

Navigating vs searching

There’s an important distinction between navigating and searching.

Navigating a site is usually a user’s first action. They visit your Experience Cloud, scan the content and perhaps click on a few menus. They usually have a reason to come to the site, and are looking for something in particular.… Read the rest

Salesforce badges on LinkedIn

A fellow Salesforce consultant recently published a tool that allows you to generate a banner image with all your Salesforce credentials.

This includes the

  • Number of Trailhead badges completed
  • Number of Trailhead superbadges completed
  • Number of Salesforce certifications and accreditations
  • An image for each superbadge
  • An image for each certification

Here’s an example of the output.… Read the rest

An example for advanced users

As users become more familiar with your Salesforce implementation, you may want to consider allowing them to speed things up.

Let’s say you’ve created a 5 step process that guides users through a complex flow. First time users will need as much help as possible, as it’ll be completely new to them.… Read the rest

Designing for novice vs expert users

You probably work with Salesforce on a daily basis. At least on a weekly basis. So you are very familiar with the navigation, where to go to find things, and even how to update things.

Users are not you. They might login daily, but it might only be yearly.… Read the rest

Error detection vs error correction

Error detection is defined as the ability to find and report errors. Validation rules, flows, and apex classes can all report errors. In all cases, remember that a good user experience means you don’t just report the error. You also need to provide guidance on how to avoid or correct the error.… Read the rest

Another year, another Salesforce MVP class nomination

The nominations for the Salesforce MVP class of 2025 is now open.

Salesforce MVPs are individuals who contribute to the community and the ecosystem by following the principles of

  • Expertise: They have a deep understanding of the platform and products
  • Leadership: They lead by example and are professional
  • Generosity: They share their knowledge with others and offer mentorship

Currently, there are more than 300 Salesforce MVPs across 31 countries worldwide, although it’s not clear if there is a limit of new MVPs each year.… Read the rest

Commonalities across all proposal options

Offering three options in your Salesforce proposal provides you with a greater chance of closing the project.

Each option can build on the previous one, and priced accordingly. So the client chooses the small, medium, or large t-shirt.

Across all options, there are often some common elements.… Read the rest

Adding hidden value in option 3

Let’s imagine you’re drafting a proposal to a potential client. You’ve discovered their needs and their budget and are now writing the three options.

Since option 1 or 2 should include everything the client needs, what should option 3 include?

In short, this is the place for you to add extra value.… Read the rest

Going beyond their budget

When pricing projects, it’s in everyone’s advantage for the potential client to share their budget. Once they do, at least one option in your proposal should be above this budget.

Taking a step back for a moment, it’s a great ideal to offer three options in a proposal.… Read the rest

So, how much ya got?

Let’s imagine you’re talking to a potential client. They passed the dinner date test and you’re in the middle of asking them all types of questions to understand their current situation and desired outcome.

Do you ever ask them how much their budget is?… Read the rest

What’s your differentiator?

Psst, did anyone ever tell you? There are more than one Salesforce freelancers. And there are more than one Salesforce agency. Shocking, isn’t it?!

So when a client is considering hiring you or your team, what sets you apart from all the others?… Read the rest

Getting signoff from an inexperienced client

I’m currently working with a client that has some technical knowledge, but without any Salesforce experience.

In today’s working session, my colleague updated a field mapping document with the client. The document describes the mapping from the legacy table and field to the upcoming Salesforce object and field.… Read the rest