Creating a Salesforce naming convention

As your Salesforce instance grows, you’ll appreciate following a standard naming convention.

What exactly is a naming convention and why would you bother?

It’s a standard on how to name your objects, fields, buttons, permission sets, flows, flow variables, apex classes, apex variables, reports, and so on.… Read the rest

How to win at Salesforce conferences

Marc Benioff just announced that Dreamforce 2024 will remain in San Francisco. Until this moment, there was a time in which he considered moving the conference to another city.

Now that Dreamforce is secure for at least one more year, here are 3 tips on how to get the most out of your time at this conference.… Read the rest

Never in Production, except…

There’s a common mantra in the Salesforce world: Never configure anything directly in Production.

Generally, this is a good idea, but we’ve all broken this standard. And probably more than once 😉

So, when is it OK to configure something directly in Production?… Read the rest

How to respond to “Your prices are too high”

A student of mine recently asked me for advice regarding a Salesforce proposal he was about to submit.

The submission included a presentation of his proposal, and my student wanted to be well prepared for any arguments the client had. One of his concerns was, what if the client says my prices are too high?… Read the rest

Nonprofit Dreamin 2023: A summary

Last week was the Nonprofit Dreamin 2023 in Chicago. It’s a Salesforce conference for partners and clients working with nonprofits.

Provisio, a Salesforce partner, hosted the event at their really cool new office. It’s right next to the Chicago river, with spectacular views of the water and surrounding building.… Read the rest

Estimating the implementation phase: A non-typical approach

Yesterday’s article left off with the question: how can you come up with a time and price estimate for the implementation phase of a Salesforce project?

The non-typical answer is: you don’t.

That is, you don’t estimate anything. Instead of the typical approach of

  1. Determining a level of effort (LOE)
  2. Mapping the LOE to an hourly amount
  3. Multiplying that amount by an hourly rate
  4. Adding a 15% buffer
  5. Crossing your fingers and submitting your proposal

Here’s the non-typical approach:

  1. Having a conversation with your client about their business goals
  2. Asking them what their definition of what success looks like
  3. Determining the value of the project to the client
  4. Submitting a proposal based on the value you are bringing

This is called value-based pricing (VBP), and it’s a completely different mindset than hourly billing.… Read the rest

Estimating the implementation phase

I’m wrapping up a Salesforce discovery project with a multinational client. The engagement went really well, so they’ve asked for a proposal to do the implementation.

The client was also transparent from the start of the engagement. They said they would submit a Request for Proposal (RFP) so other Salesforce partners could bid on the project.… Read the rest

Don’t allow technical debt to fester

I recently had a conversation with a frustrated client.

He wanted a straightforward report that shows all contacts in Salesforce with the following criteria:

  • had an email address
  • didn’t opt out of any type of marketing
  • donated in the last 5 years (a donation is a record type of opportunity)

The report must display

  • full name
  • email address
  • city, state, and country
  • last donated amount
  • last donated date

This information would be used to segment an audience for upcoming events.… Read the rest

Nominate a Salesforce MVP for 2024

The possibility to nominate someone for 2024 Salesforce MVP is currently open.

But wait, what is a Salesforce MVP?

As defined by Salesforce, Salesforce MVPs (most valuable person) are exceptional leaders and product experts who go above and beyond to help others succeed in the Salesforce ecosystem.… Read the rest

The Salesforce nonprofit guy: Podcast

I was recently a guest on Jonathan Stark podcast, and the episode was just published.

For your information, Jonathan is my main mentor for fixed pricing and value-based pricing. Listening to his podcast episodes and digesting his articles about the topic completely changed the way I do business.… Read the rest

Dryad Receipting for Salesforce is official

Well, it’s official!

After many

  • years & tears
  • highs & lows (it’s sometimes hard to stay motivated)
  • compromises & sacrifices (mostly on the personal side)
  • conversations with clients (to make sure it’s fit-for-purpose)
  • sleepless nights adding some final touches (did you know I was a perfectionist?)
Read the rest

Finding the right CRM: Podcast

I was recently on the Mission: Impact podcast with Carol Hamilton. The topic was, “Finding the right CRM for your nonprofit organization”.

This may sound odd coming from a Salesforce Architect, but I don’t believe Salesforce is the right choice for all organizations.… Read the rest

Main types of Salesforce user licenses

Keeping track of all the possible user licenses Salesforce offers is tricky because they change often. It’s usually best that Salesforce manages the commercial agreement with the client.

However, it’s important to be aware of what kind of user licenses exist and to sometimes provide guidance.… Read the rest

Refactoring technical debt

Once the ledger of technical debt reaches a certain amount, it’s a good idea to sit down with the product owner (PO) and review the list. The PO can prioritize the work, and the project manager  (PM) can slot the work into a future release.… Read the rest

Recording technical debt

Technical debt is not not always a bad word. Sometimes it can be useful.

Whenever creating tech debt however, it’s a great idea to record it. This could mean something as simple as a note in a technical design document. The goal here is to create a ledger of the debt.… Read the rest

When can technical debt be a good thing

Another of the great breakout sessions at Northeast Dreamin’ 2023 last week was by Hunter Dunbar. His session was called, “The Leverage and Luggage of Technical Debt”. Here’s a summary of that session.

Let’s start with a definition.

Technical debt, tech debt, or code debt, is the result of the shortcuts taken by the development team to speed up the delivery of a piece of functionality.… Read the rest

Delivering Empathic and Joyful User Experiences: A Summary

One of the wonderful breakout sessions I attended at Northeast Dreamin’ 2023 last week was by Daniel Gorton. His session was called, “Delivering Empathic and Joyful User Experiences”.

Being UX certified myself, I was drawn to the words “empathic” and “joyful”.… Read the rest

Record-triggered flows: One vs multiple

This is the age-old apex trigger question, but for flows. Should an object have one after-save trigger flow or multiple?

In apex, it was usually recommended to have a single apex trigger handler that organized which subclass was called based on the type of trigger (after insert, after update, etc.).… Read the rest

Using relative or absolute dates in reports

While working with a Salesforce client recently, I noticed they used an interesting reporting structure.

There was a report folder called “Development”, used by the development team. Under that were several subfolders, one per calendar year.

The reports in each subfolder were slightly different, and some in the 2023 folder still had the label of 2021.… Read the rest

Let’s talk about Salesforce training

Salesforce training isn’t something you do once the project is launched and is never discussed again. It’s an iterative process you need to keep in mind at all times.

Why is that?

Because people don’t remember everything they’ve been taught on the 1st pass.… Read the rest

Proper sandbox management

How many Salesforce sandbox instances should you have? What is each of their purposes? What are their inputs and outputs? When do you migrate from one to another?

At the absolute minimum, there should be one sandbox for development and testing.… Read the rest

Best practices for validation error messages

Error messages in Salesforce validation rules have a lot of responsibility. They are not just supposed to indicate what went wrong, but be specific about why, and mention what to do about it.

For example, let’s say if “Reason Code” (which is a picklist) has a value of “Other”, then the field “Reason Code Other” (which is text) is required.… Read the rest

The checklist for technical discovery sessions

As a Salesforce consultant conducting a technical discovery session, you need to ask a lot of questions.

Having a handy reference guide to keep track of key topics to discuss is useful, so below is my checklist.

You’ll notice they mostly consider Sales Cloud.… Read the rest

Submitted for the Salesforce Security Review

Years ago, I noticed there was an important feature missing from Salesforce core. It wasn’t well filled by 3rd party apps either, and that’s generating tax receipts for Canadian nonprofits.

Admittedly, tax receipting isn’t the sexiest topic. But charities need to issue receipts, and Canadian rules are precise and strict.… Read the rest

How to prepare and conduct a Salesforce technical discovery

Today was the 1st working session with a new client. It’s for a Salesforce discovery project, and was the 1st of many technical sessions.

Here’s how I prepared for and conducted that 1st session.

I first reviewed the Statement of Work (SOW), to make sure I fully understood what the business goals of the project are.… Read the rest