The buck stops with you

As a Salesforce consultant, sometimes you play the role of architect. That is to say, not only are you implementing the project, you’re also designing it.

The moment you shift into this role, your role increases dramatically.

The main one being, whatever you design, you are responsible for.… Read the rest

Adding contingencies to projects

There probably isn’t a single Salesforce project that has ever gone perfectly to plan.

Just like the sayings, “If you don’t make any mistakes, you’re probably don’t make anything”, and Mike Tyson’s popular one, “Everyone has a plan until you get punched in the face”.… Read the rest

Questions to ask during a reverse demo

It’s not uncommon for one of your projects to involve a migration from a legacy system to Salesforce. After all, Salesforce is still the coolest kid on the block.

During the discovery phase of such a project, the client typically demos the legacy system.… Read the rest

Two ears, one mouth

As a Salesforce consultant, it’s important to listen more than you speak.

Sure, you may be more knowledgeable about Salesforce than your peers, or everyone on the call. But that doesn’t mean you need to show off.

We all have something to learn from others.… Read the rest

Differences between passing an id vs the entire record

Let’s say you have a record-triggered flow that calls a subflow. Sometimes you need to pass variables to the subflow.
If you need to pass a record to the subflow, you have two options:

  1. Pass the just Id as a text variable
  2. Pass the entire record

While both get the job done, I usually recommend option 1.… Read the rest

Don’t hardcode URLs in flows

A LinkedIn article was published yesterday about hardcoding URLs in flows. The author is trying to solve a problem involving URLs that change depending on the environment.

For example, let’s say you have a screen flow that creates an account, and you want to display a link to the newly created account in the last step.… Read the rest

The dinner date test vs the beer test

As an independent Salesforce consultant, working with the “right” clients is critical.

So when meeting clients for the first time, I quickly try to assess how well we would work together. There are a few approaches on how this can be done.… Read the rest

Object prefixes

Every once in a while, when debugging flows, you may come across an error such as “Unable to obtain exclusive access to this record or 1 records: 003OL00000EMzT8YAL”

At face value, this error message doesn’t seem to tell you very much.… Read the rest

How to lock a record and why you’d want to

Record locking is when you inform Salesforce you want to lock a record for a certain period of time. Your process becomes the only one that can access that record. Any other processes that attempt to access it at the same time receive an error.… Read the rest

How to prevent automatic flow bulkification

How that we’ve covered flow bulkification and flow interviews, we can tie things together. As mentioned, sometimes Salesforce automagically bulkifies flow interviews.

Most of the time, this is a good thing. Sometimes it’s not so good.

For example, imagine a flow that gets and updates a custom setting.… Read the rest

What are flow interviews?

In Salesforce, there are two flow parts: the building part and the execution part. Here are some interesting things to know about the latter.

Each time a flow executes, Salesforce creates an instance of the flow. The instance is a standalone unique copy of the flow, running within a specific context.… Read the rest

What is flow bulkification?

Most good Salesforce consultants are already familiar with good flow practices. Things like

  • Don’t create/update/delete records (DML operations) within loops
  • Don’t do multiple gets of the same record or related records
  • Don’t update the triggering record in an after-save flow
  • Etc.
Read the rest

Recharging your perspective

One great way to reflect on your Salesforce career is to take a break.

It doesn’t need to be something dramatic like a sabbatical or extended vacation. But time away from the keyboard, the community, and the ecosystem can be very helpful.… Read the rest

Reflectng on your Salesforce career and beyond

Every once in a while, it’s important to reflect on your career’s trajectory.

Some questions to ask yourself can be

  • Are you happy as a Salesforce consultant?
  • Are you happy with the current state of Salesforce and where they are heading?
Read the rest

Salesforce’s Q4 2025 observations

Every once in a while, it’s interesting to see how our parent company is doing. You know, the big one that we all depend on for our livelihood.

This income chart was recently released:

It’s interesting to notice a few things:

  1. Service income is greater than Sales.
Read the rest

UI vs. object: When to require fields

When creating required fields on a standard or custom object, you have two options:

  1. Make them required at the object-level
  2. Make them required at the UI-level

In most cases, the latter is a better option. Why?

When fields are required at an object level, they are *always* required, regardless of the source.… Read the rest

Three options is the sweet spot

Every problem has a solution. Or two. Or three. But did you know that three is actually the best?

Why is that? Well, our brains are naturally wired to respond to three. It’s the smallest number needed to determine a pattern, which makes it naturally appealing.… Read the rest

Formula field considerations

In addition to the spanning relationship limit, there are some other important considerations when using formula fields. There are 3 more:

1. Character limit
Formula fields can have a maximum of 3,900 characters. This includes spaces, carriage returns, and comments.

You can easily solve this limit by reducing spaces, or by splitting the formula into sub-formulas.… Read the rest

What is a spanning relationship?

When attempting to update a client’s formula field on an object, I received an uncommon error message. Salesforce complained, “You have reached the maximum number of object references”.

This error is caused by trying to exceed the limit of cross-object references (also known as “spanning relationships”).… Read the rest

Only use the input variable once

When building flows, it’s common to have input and output variables. Whether passing the current record Id to a screen flow or calling an autolaunched subflow, these variables keep things modular.

Here’s a small tip I haven’t seen often: When using an input variable, only use it once.… Read the rest

Mixing business and pleasure

As a Salesforce consultant, it’s not uncommon to become close to your client. After all, you struggle together and you succeed together. So it should come to no surprise that you bond with them.

This closeness may spill into your personal life.… Read the rest

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