Creating Clean, Reusable Flows with Subflows

Creating Clean, Reusable Flows with Subflows

This year, I started refactoring old Flows using Subflows—and honestly, I should’ve done it sooner.

Breaking complex automation into modular chunks has made everything easier to manage. I now build utility Flows that:

  • Convert date formats

  • Assign ownership based on record data

  • Send templated emails based on input variables

Flow Debugging: How I Actually Find the Problem

Flow Debugging: How I Actually Find the Problem

By now, I’ve built enough Flows to know: when something breaks, it’s rarely where you think it is.

Over time, I’ve built a solid process for debugging Flows efficiently:

  • Start with Debug Logs if the Flow is Record-Triggered—search for the Flow name and trace the path

  • In Flow Builder, use the Debug with Inputs tool with realistic values

• • Log values at key points using Assignment elements (great for sandbox testing)

Getting Comfortable with SOQL Queries

Getting Comfortable with SOQL Queries

If you want to level up as a Salesforce Admin, learning SOQL is a must.

I’ve been using SOQL more frequently—whether it’s in Flow, Apex, or just Workbench—and the ability to query data directly has changed how I troubleshoot and prototype.

Formula Fields: More Powerful Than I Expected

Formula Fields: More Powerful Than I Expected

I used to think formula fields were just for simple math or string concatenation. This month, I realized they’re way more powerful than that.

I built a formula that automatically calculates a next follow-up date based on a custom logic—and it worked across record types without needing automation or flow.

Lookup Filters: My New Favorite Guardrails

Lookup Filters: My New Favorite Guardrails

We had an issue where users were associating the wrong type of records in a lookup field. It created a mess. Today I fixed it with a lookup filter—and honestly, I should’ve done it months ago.

With just a few clicks, I restricted the lookup so it only shows valid options based on the record’s status. No code. Just logic.

Dynamic Forms Are Amazing

Dynamic Forms Are Amazing

I just enabled Dynamic Forms for the first time on a custom object and WOW—it’s a huge step up from traditional page layouts.

Now I can control visibility of individual fields, not just sections. I can show/hide fields based on record data, which means the layout actually adapts to the record.

Intro to Debug Logs: Reading the Salesforce Matrix

Intro to Debug Logs: Reading the Salesforce Matrix

Today I cracked open Debug Logs for the first time. It was intimidating at first—like staring into the Matrix—but I finally figured out how to use them.

I was troubleshooting why a flow wasn’t updating a field. Turns out, a validation rule was firing quietly in the background. I would’ve never known without the debug log.

Why Record Types Make Sense

Why Record Types Make Sense

Record Types aren’t just for making your org more complicated—they actually solve problems.

I had two teams using the same object in completely different ways. Instead of creating separate objects or overloading one layout, I created two record types with different picklist values and page layouts. It worked beautifully.