An architect is someone who…

While at Northeast Dreamin’ in Boston last week, the keynote speaker, Steve Baines, spoke about being a Salesforce architect.

One of his points was, “if you’re building trust and clarity – you’re an architect”.

The overall theme is, being an architect is more of a mindset than an official title. … Read the rest

Why “good enough” is good enough

I recently read a post on LinkedIn from someone who said, “‘good enough’ isn’t good enough”. This leads me to believe there are multiple definitions of “good enough”.

When he uses these words, I believe he’s using a bottom-up approach. That is, something starts as awful, then bad, then good enough, then decent, then very good, then excellent.… Read the rest

Extended summer down time

Last week, I was almost able to fully disconnect and unplug. It was a nearly magical experience.

Here’s the week captured in a single photo.

This week, I’m driving down to Boston for Northeast Dreamin’, and my “good vibes” mood continues.… Read the rest

More summer down time

This summer has been full of transitions and milestones. So much so that it’s taken its toll.

As a result, I’m listening to myself and taking some more personal time.

Here’s the plan for the coming 2 weeks:

This Sunday, I will join my parents at a lake-site cottage that they’ve rented.… Read the rest

Updated digital nomad equipment

One of the largest advantages of being an independent Salesforce consultant is working from home. And of course, “home” doesn’t necessarily mean your residence.

It’s been a while since I went full digital nomad, so it’s time to change that! Starting in November, I’ll spend about 2 months in South America.… Read the rest

Monitoring user adoption

Let’s dive a little deeper into user adoption, specifically monitoring.

One great way to keep track of whether users are actually using Salesforce is to build a bunch of reports.

Here are some for your consideration

  • User login frequency. Are people logging in on a frequent basis?
Read the rest

Improving user adoption

There are two moments when you can improve user adoption: before adoption actually begins, and after.

The best way to solve a problem is to avoid it completely.

This principle definitely applies to user adoption. If you can perform a “good enough” job with change management, then user adoption begins strong.… Read the rest

Is traditional CRM dying?

There are more and more posts on LinkedIn about how the traditional CRM (including Salesforce) is slowly dying.

The posts have similar themes:

  • Traditional CRMs are too focused on on sales team
  • Users aren’t updating data, leading to graveyards
  • AI is taking over everything

Some posts sarcastically suggest you to vibe code your own CRM (BTW, the term “vibe coding” means using AI to develop).… Read the rest

Northeast Dreamin 2025

On Sept 3, 2025, Northeast Dreamin will be held.

I went in 2023 and had a blast. Unfortunately I wasn’t able to make it to 2024, but I’m definitely going this year.

Unlike the previous two years, it’s being held in Boston, MA instead of Manchester, NH.… Read the rest

What AI should NOT replace, at least not yet

With each passing week, AI gets smarter and smarter.

Apex coding, formula building, general searching, and troubleshooting are currently well positioned to be completely superseded by AI.

However there’s one important thing that hasn’t been replaced just yet; your humanity.

As a Salesforce consultant, your career isn’t completely technical.… Read the rest

A more integrated case for AI and Salesforce

The recent examples provided on using AI and Salesforce are disconnected.

That is, you need to do something in Salesforce, so you provide all relevant information to an AI. It gives you an answer, and you implement it. But the AI doesn’t “see” your Salesforce instance and understand the entire context.… Read the rest

Another everyday use case for AI: search

Years ago, Google became a household name. It started as a noun and turned into a verb. You “googled” something when you wanted to search for it on the internet.

Fun fact #1: Google’s name comes from the word “googol”, which is the number 1 followed by 100 zeros
Fun fact #2: I used AI for this fact, not Google

Today, AI is overtaking, or already has overtaken, google searches.… Read the rest

Common, everyday use cases for AI

Aside from writing apex code, AI can be a helpful tool for Salesforce consultants.

Here are a few for your consideration:

Field labels
If you’re ever struggling to come up with a concise name for a field, AI can help.

For example, in a current project in which users complete a form, the answers need to be saved in fields.… Read the rest

Should you build a new flow or update an existing one?

As your Salesforce project evolves, you’ll eventually need to make enhancements. When it comes to flows, you have two options:

  1. Build a new flow to manage the new functionality
  2. Edit an existing flow and add the new functionality

Option 1 is a good choice if the change can be made in the existing flow without having to add any (or adding just a few) elements.… Read the rest

When building flows, think like a tester

If you’re a developer, you may be tempted to clean up apex code from time to time. This is because some other developers create what is called “spaghetti code”.

Spaghetti code is basically messy code that may work for a time, but incurs technical debt.… Read the rest

Here’s a flow naming convention for you

As with all things with labels, it’s a good idea to have a naming convention for your flows.

A proper convention allows you and your clients to find what they are looking for easily. It also makes things easier to support, and to create a sense of structure.… Read the rest

The basics of flow – naming conventions

Flows are a pivotal feature in Salesforce, and every good enough consultant needs to know how to use them effectively.

Let’s start with naming conventions. Each element in the flow needs a label. They should be clear, consistent, and concise. If more details are needed, place them in the description field.… Read the rest

Flow vs Omniscript: Which is better?

When building low-code automations in Salesforce, you have two options: Flow and Omniscript.

Flow was designed by Salesforce. As a result, more people are familiar with it. With nearly each release, it gets better and better, as more features are added.… Read the rest

Building flows: go down or go across?

Let’s say you design a subflow that attempts to find a contact. After several attempts, if a contact isn’t found, it creates one.

Each attempt tries to find a matching contact using different criterias. For example, find by

  1. Email address
  2. First and last name
  3. Last name and postal code/zip code
  4. Last name and birthdate

If attempt 1 doesn’t return any results, you move to attempt 2.… Read the rest

Does Salesforce perform a noop?

Here’s a question for you: When you update a field to its current value, what happens?

For example, let’s say you have a contact with a phone number of “123 456 7890”. Then you execute a flow that updates the phone number to “123 456 7890”.… Read the rest

Updating and deleting multiple records in a flow

Thanks again to everyone who responded to yesterday’s email about updating a record collection.

The most popular solution to test for > 0 records is to simply use a decision element with {Get_Contacts} Is Empty. This is simple and clean, and I’ll adopt this approach going forward.… Read the rest

How do you verify whether a record exists?

This email is more of a question than a comment. So I’m looking forward to your thoughts.

In flows, it’s common to verify whether a record exists before performing an action. For example, let’s say you need to update a contact if it exists, or create it if it doesn’t.… Read the rest

The somewhat useful “Update Existing Records” feature

In Salesforce flows, there’s a relatively new feature called “Update Existing Records”.

It’s only available in Create elements, and it allows you to update existing records instead of creating new ones. This effectively turns the create command into an upsert command.… Read the rest

You (probably) should learn how to program

I must admit, I’m using AI more and more these days. It helps me in numerous ways, but the majority of the time, it’s with development.

Gemini Pro is pretty good with apex coding. With a few prompts, it can create or edit code fairly easily and accurately.… Read the rest

Portable monitors are awesome

While I was on vacation recently, a friend of mine joined me. This was a remote location, and my friend had to work. So he brought his laptop.

But he also brought a portable monitor. I must have been living under a rock, because I never knew these things existed!… Read the rest

An easier way to build Salesforce packages

When building a Salesforce package, there are two ways to create and maintain them: 1GP and 2GP.

1GP uses a development org as the source of truth. Most consultants are very familiar with this way of working. You typically start in a DEV sandbox for development, then migrate changes to a UAT sandbox for testing, and finally to production.… Read the rest

Improving your soft skills

While it’s easy to say, “You should improve your soft skills”, what does that actually mean? How does one go about improving them?

Since soft skills are mostly about building relationships with others, we can then substitute the question to, “How can you build genuine relationships?”… Read the rest

Defining soft skills

Knowing the technical bits of Salesforce will only get you so far. And AI is eating up that space with each passing day.

So focusing on your soft skills is critical. In addition, they’ll separate you from your competition.

Let’s start by understanding what exactly are soft skills.… Read the rest