Salesforce

Little Blue Cloud - Brett Petersen (Technical Architect and Dev Team Lead)

Show Notes:

0:25 - How Brett got started working in the Salesforce ecosystem
1:17 - Transitioning from developer to consultant
3:19 - Moving from consulting to working for an end user
5:13 - Things to add to your toolbox (Lightning Web Components, Gearset third party dev ops tool)
12:03 - War story: When an email accidentally went out to thousands of community users
14:47 - Brett asks Spencer: What is your biggest pain point right now?
22:46 - Book club: Brett - Deep Work, Spencer - Rise of Superman
25:26 - What would you do if money were no consideration? Living with purpose and fulfillment.
29:10 - Connect with Brett: Upcoming developer presentation on LWC


Addressing critical project risks

“That's not going to work for us. We can't wait for the integration delay.”

In working with a client recently, we had cleared the integration delay and it's impact with most departments,

and this was the last department we needed sign off from. As we spoke to them, there was immediate concern about the impact of the delay to their process. If they didn't sign off on the integration, we would be confronted with delayed release dates, additional integration complexity, and a severe impact to other business units that we would need to circle back with to approve the modified solution. Hearing such a strong opposition certainly shook some members of the team and had people worried about the impact.

In moments like this, it is essential not to overreact. It is not uncommon to jump straight into a new solution, argumentative politics, or otherwise panic. We as humans have a tendency to get out of the uncomfortable feeling of conflict or tension, by proposing solutions. But if you sit in that tension and try to really understand it, the tension will ease and the solution will become clear. This means empathizing with the users so they understand that you care about their concern, and then asking questions that reveal the facts that are driving the strong generalizations they are giving you:

  • We don't want to move forward with a solution that is going to hurt your process. Can you help me understand the specific use cases that will be affected? Where would the delay cause an issue?

  • How often does that situation occur?

  • How many users will be affected?

  • If we went live with the solution as is, what would you have to do to overcome the problems presented?

With the answers to questions like this in hand, you can present options to the stakeholders, or potentially escalate to include the executives they report to so that a more global discussion can be had. What is the cost of changing the solution vs. moving forward? What is the real impact to those users? What workarounds or accomodations can be made?

Once the data is present and you are speaking in finite terms about who is impacted, how much, adn the cost involved, you can make a calm and rational decision about the best path forward. You will have deescalated the situation, and helped produce the best outcome given the constraints.

As to our client, it turned out there was only one use cases that was at risk, which occured 7-10 times per week, affecting 10 out of several hundred users. Not the show stopping risk that was initially perceived.

The illusion of multiple bugs

Every night I go running. I live in a pretty rural area so there are not a lot of streetlights, which allows me to see the starts and moon when the weather is clear. It is a beautiful scene. The stars shining, the moon reflecting off Utah lake, and the crisp cold air flowing into my lungs and throughout my veins. As I run I listen to audiobooks through my airpods. As my body gets stronger my mind gets sharper, and both get more resilient.

Barking cuts through the words of my audio book and I look around. So many of my neighbors have dogs - it comes with living in an area like this. Sometimes they are fenced, other times they are leashed, and still it is not uncommon that they are running freely at me. In my experience the best thing to do when a dog is barking and running at you is to square up to it and make sure it knows you are not intimidated. The only time I have been bitten by a dog was when I turned my back on it, so I make sure not to do that when I encounter them and I try to avoid being caught off guard by them.

On a run recently I saw a sudden movement that startled me. Assuming it was a dog I took out an airpod and looked around. Nothing was there. I kept running and it happened again. Still no dog. So I started paying closer attention to what was going on. I finally figured out what was happening in my peripheral vision. This section of the street had bright house lights on that were creating fleeting shadows of my own body that were duplicate and triplicate of my regular shadow. I thought I knew where my shadow was, and so these other shadows flashing in my peripheral were alarming.

As I thought about the experience, I though of how often this can happen in companies I have worked with. A bug or problem arises in the system and it causes critical failures in multiple areas. Quickly cases get created, calls and texts start occurring, and it can feel to a single admin like everything is in chaos, and that there are many problems when in fact there is just one. In addition, people might report an issue that has already been resolved but that they failed to report in a timely fashion. These types of situations can create many shadows that feel alarming, when really there is just a single person with many inputs that are creating the illusion.

The best way to quiet these voices and the sense of panic is through structured communication. Ensure users are all logging the issues in a uniform way so that you can gather the various inputs without getting overwhelmed. When users start calling or texting, you can use auto-responses to tell them you are working on a critical issue and their concern should be logged via a case or your standard process. That way you can ignore most of the noise coming in and get to the root cause quicker. You still need to quickly read those messages as they might have important clues as to the root cause of an issue, but an auto-response saves you the hassle of needing to explain what they should do, while also alleviating concern that you aren't addressing the problem. That buys you some airspace to tackle the most critical issue and get all the way to it's root cause. Once that is resolved, you should go through all the cases that have come in and look to see if they were also resolved by your fix. Likely, you can close out many of these and put people back at ease. This method helps you deescalate an issue quickly, and builds trust with your users that you have them covered.

While there are many techniques that can be used, I have seen that auto responses are a great tactic for saving time and quieting noise in a release hot-fix situation. Have your auto-responses ready to go in case an issue comes up, so that you can easily turn them on and quiet the noise that might otherwise slow you down and exacerbate the issue.

Merge Fields in Macros - Make Reps Faster 🏃🏼‍♀️

Problem 🤬

Merge fields are how you dynamically merge record data from salesforce into something like an email template. Macros are a wonderful way to automate tasks that you repeat in your consoles. One weakness you might have run into is that macros do not support merge fields. So if you want to use macros to say... go to your email action on a case, pre-populate the addresses in a particular configuration, or overwrite the subject line to be something consistent (instead of “RE:Re:RE:Re:RE:Re A case subject | ref: as98dfs9-8a7dfasd98”), you are stuck with hardcoding a text string to serve as the value. And as much as we all love generic email subjects with no context, that isn't going to fly here.

Solution 💡

What are you to do about this glaring limitation? Create an email template. It can be a simple template that just provides a Subject line with merge values, such as case number and the subject of the case. Put whatever you want in the body - frankly I like to just merge in the contact name here so that it gives you a head start on your email.

When you set up your macro, you can choose to use an email template and just like that, you have your merged fields. The best part? You can actually remove the body or the subject if you only need the merge fields for one of those locations. Additionally, you can choose to replace the text (as I would for the subject in this example), append it to the beginning of the text (as I would for a Name merge field in the body), or append it to the end of the text (such as the ref ID in the body). Play with this feature and you may find that macros are more useful than you thought for spinning up dynamic emails that will save your reps a bunch of time.

Gotchas 😣

Don't forget to include the ref id in your template as it will not be added for you in this workaround. To do this, use the Case Thread ID merge field in the email template editor, and I do recommend putting it in the subject line as well as the body.