Resources

Confessions

The Salesforce platform is very powerful, but as Spiderman was told “with great power comes great responsibility”. And whilst we can laugh or grimace at these OrgConfessions, there is a serious point here. Salesforce has the potential to transform your organization.

Confession #1230

Thursday: Launch new feature
Friday: Discover and start fixing all the unforeseen damage caused by new feature #FML

Confession #1229

User: I need to export a report to Excel to use the data in our meetingsWhen Salesforce incorrectly translates your process criteria when building the behind-the-scenes flow, causing your automations to fire at the wrong times based on the wrong criteria, triggering validation rule errors and preventing your users from creating records they could before…and the only way you find it is by magically tripping over it in a sheer stroke of luck. Like who would think looking at a Process in Process Builder “Maybe the criteria I wrote isn’t what’s actually being evaluated?!?”Workbench crashed in the middle of a small upload, so I had to hunt down the records that were created. Then I saved my file as CSV delimited which royally FUBAR’d it when trying to add all of the created IDs to a single file to then run the needed post create update.

Confession #1228

We have a two character mydomain, trying to implement enhanced domains, and told by salesforce that we need at least three characters – no exceptions

Confession #1227

I’ve done it before, I was a delegated admin. Was able to find someone who had the right custom profile, like a dept power user. Created a permission set with all the permissions I needed, assigned it to my user. Logged out as that user, logged in myself and got $hit done.

Confession #1226

When you stumble across a bunch of standard fields that the previous admin set to Hidden for the System Admin profile………..

Confession #1225

Head. Hurting. On a big project with 6 business units all using the same SF org. The PM on their side isn’t labeling our meetings or documentation according to business unit, and we’re finding ourselves having the same conversation with different divisions of the same business units. Things are getting lost or confused. To make matters worse, no one can articulate their prospecting or sales cycles.

Confession #1224

End-user requests System Admin permissions so they can “mass edit” records.

Confession #1223

When you’re distributing global accounts and you find one in “AustraliUnited Kingdoma”

Confession #1222

I’m baffled. Got a Flow error at 2am when it tried to create a new Opportunity. The error was REQUIRED_FIELD_MISSING: Required fields are missing: [ContactId].
Like, that field barely exists.

Confession #1221

When you take three days off, come back to work to find that a business user has granted themselves View Set Up & Config, Customise Application, View/Modify all Data (don’t ask how). Then they proceeded to add stuff to production. This is why I take their toys away from them.

Confession #1220

Just had a process builder email alert go to ALL of our users instead of just the case owner

Confession #1219

Users accidentally testing in production instead of the sandbox where the work is. Thankfully they used our test accounts because it generated email alerts to a lot of people.

Confession #1218

Salesforce support sent me the equivalent of “turn it off and back on again” after I told them their initial instructions were wrong and contradicted their own documentation

Confession #1217

Lack of documentation around what licenses support what features. This time around, it’s platform licenses and Salesforce Field Service, but it’s always a pain.

Confession #1216

When you’re using an SAT/ACT Prep website to remind you how to do standard deviations for some code you’re writing and discover your code is right and the college prep website is wrong.

Confession #1215

One of the craziest things I’ve seen in my org , I have One Object Called Zone, but when I’m trying to create a lookup field from another object I’ve found two Zone Object ,

Confession #1214

Hard-coded IDs in Process Builder, also, process Builder instead of assignment rules, also Process Builder being Process Builder…

Confession #1213

Users are requesting to use a sandbox AS production in order to use the live agent configuration we’ve set up in the sandbox but not yet deployed to prod.

Confession #1212

(dev) because a 2 line addition to ORDER BY clause in a SOQL query will take 5+ hours round trip to actually get into prod, and you don’t have a new contract signed yet

Confession #1211

A client accidentally (I hope) merged my @trailhead account into her brand new account. Therefore, lost my original account, my 5+ year badge count, and trailhead orgs. This rando now has all of my stuff and when I reached out to support they said there’s nothing to do. #askforce

Confession #1210

While onboarding a team, a manager asked “Is this Salesforce loaded to our computers?”

Confession #1209

To the surprise of no one, a client that did no training whatsoever, very little, if any testing, had a failed go live. Big shocker. The best part is half their sales team said they watched the recording I sent. Liars. I can track views lol.

Confession #1208

I removed a custom permission set from our integration marketing “user” that was “Manage Salesforce CRM Content” – this prevented ANY individual user from activating a journey in marketing cloud. The generic description on that permission just has to do with managing libraries, and nothing in documentation jumped out to us that “MC connect user needs this or you can’t activate journeys

Confession #1207

Working on a project for a sales instance and open the sandbox to find an NPSP org.

Confession #1206

Making even minor changes to Approval Steps is like being pushed down an “UP” escalator covered in broken glass, fishing hooks and rock salt, while makes with your hands tied behind your back and your feet bound. But that’s just me..

Confession #1205

The company is moving a business group to Jira for support from Service Cloud on next Monday and only today (The) is engaging the Salesforce team about it.

Confession #1204

My toxic trait? building things in Prod

Confession #1203

Been asked to recreate “A” report in SF, then being given “the” report as an Excel Worksheet, that has 18 tabs, the first 15 each constitute a complete dashboard, 5-6 charts per tab. The last two tabs explain the first 16. Best part, their instance will need some reconfiguring in order to report on half of the metrics in the worksheet as those data points aren’t being tracked in SF.

Confession #1202

Mispellings in configuration. Looking for a group for a sharing rule, couldn’t find it. Object in group name misspelled.

Confession #1201

When a stakeholder is updating multiple fields on 100+ Jira issues and you get an email for every field they update.

Confession #1200

Custom surveys object in org with 393 fields, and all but 28 are completely blank. Fields include Question, Answer, Comment 1-40 as well as a version of each question for pretty much all the products we sell

Confession #1199

There’s no documentation for Manufacturing Cloud and you have to quote an integration with it.

Confession #1198

Just realized that Order Type may be one of the only Picklist fields to have no values whatsoever out of the box.

Confession #1197

User: It’s not working.
Me: …. what is “it?

My client says they are too busy use Elements.cloud as they are trying to understand their org due to how to reduce tech debt. WTF!!!

Confession #1195

Many fields duplicated for each record type. It was a nightmare to unpick because records had been different record types over their life so had entries in more than one of the duplicated fields.

Confession #1194

Hard coded ids in a process builder

Confession #1193

legacy metadata from way back in our org – custom picklist field Agreement Term on quote and price book. on quote the picklist values are formatted like “1-month”, on price books, “1 month” :slightly_smiling_face: its even funnier because you can see each field was created directly by a respective implementation team (zuora consultant and our e-sign consultant)
we never have the time to truly untangle this…

Confession #1192

Client sends you opportunities that aren’t showing up on his kanban and they all start with the letter z, turns out he has 208 opps. I wish Kanaban allowed for more than 200

Confession #1191

When you discover the consultants build 5 description fields on an object. One for each record type: Description of (RT1) and so on.

Confession #1190

VP Sales asks for updated funnel reporting, I ask “what are you using to manage your team now?” and I get a link to not even a spreadsheet but a google doc…I built their reporting in Q4 and none of the pipeline for this segment has been updated in salesforce since end of Jan…When you try write code for something and then realize that the functionality already exists in Salesforce 90 minutes in

Confession #1189

Client has 6000+ custom objects!!! Over 100 installed packages. BIGGIES like 5 FFDC products, Conga, Zoom, you name it… (they’re a brand name, so ya I get it, but good lawdy Object Manager is unnavigable)

Confession #1188

Flow validations are the opposite of validation rules i.e. NOT(REGEX( FieldName , “^[a-zA-Z0-9_]*$”)) vs REGEX( FieldName , “^[a-zA-Z0-9_]*$”)

Confession #1187

Poking around a new client’s org: found a Before Save Triggered Flow that Gets the Lead that fires it but then checks if a lead was found and if no lead was found, sets the created date. Ima let that sit with you all for a while.

Confession #1186

Until recently, multi-currency org customers could add the CurrencyIsoCode to our packaged field sets. It appears that this capability has disappeared recently. This is very bad news if true. Why oh why would Salesforce take away this important capability??

Confession #1185

When you realize that Process Builder flows will only run under the author’s account. If that person quits and their account’s deactivated – they just break. They can’t be re-parented and the default can’t be set.

Confession #1184

Admin deleted the field. They should have read the description!!!

Confession #1183

When installing software(which wasn’t pre-approved anyway by the CFO) in Sandbox and want to use an Integration user…Have to ask them 5 times how could I install using an integration user! Yes, I probably should have known how to do this but I’m a new Admin, manager left in December and I’m learning everything along with CPQ. URGHHHH, should we even have bought this program??? And, they ALWAYS want to get on a call !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Confession #1182

“We need to make sure these items have CAD price book entries”
…..currency exchange rate not updated since 2016.

Confession #1181

21 active process builders on the Opportunity object. 78 on the Case object

Confession #1180

These records aren’t always being updated correctly and then see that there are THIRTY SIX process builder processes on that one custom object

Confession #1179

That moment when you are super proud of the flow you are building, debug it and realize you need a tweak and then close the Flow tab by mistake…and didn’t save.

Confession #1178

Flow Summer ’21 CRUC issues that you probably need to deal with today. One breaks Record Type lookups in Flows unless you set them all to system. The other breaks Flow if the user doesn’t have Apex invocable perms, probably related.

Confession #1177

The standard Product Id field from the standard Product object is not available within Standard Report Types.

Confession #1176

Client : images aren’t showing up correctly
Me: your Prod instance is pointing at the Dev S3 bucket
Client : What? Why is it doing that
Me: because you didn’t carry out all the post-deployment steps on Page 7 of the documentation I wrote for you

Confession #1175

Found a SOQL Query and a DML statement in one For Loop. In a Trigger.

Confession #1174

This field is called “Month_to_date_total__c”. It is populated solely with numbers. Data type: Text(18)

Confession #1173

I guess something changed in the Spring release that impacted some Apex we have that’s triggered by a Process Builder. It closes out a milestone when reps first respond to the case. I was getting error messages that users don’t have access to that trigger. It worked last week, which leads me to believe it’s release-related. Anyone know what might have changed (before I spend all day in release notes)?

Confession #1172

8 phone number fields on the Account object. Plus 4 from a managed package. 2 of the fields are lookups to…the Phone Number object.

Confession #1171

Org uses ABS, but doesn’t use Account Teams. 7 years of data requires manual input to reflect Support Team member and Inside Sales Rep on account.

Confession #1170

The standard Product Id field from the standard Product object is not available within Standard Report Types.

Confession #1169

When you are a consultant and you have 50 hours of work in your customer’s sandbox and they accidentally refresh it.

Confession #1168

When the sandbox the client gives you is shared with another consultancy doing their project and the report that worked on Sunday night when you finished debugging it doesn’t work on the demo Tuesday afternoon

Confession #1167

All of my lookup components are now failing to save. It looks like this is due to Spring ’21 rollout. Anybody else seeing this?

Confession #1166

You’re on a roll building a flow that’s not complex, but sort of tedious but you stop for lunch and come back to your page needing to reload, at which point you realized you didn’t save

Confession #1165

At this client, they are running an integration from an Oracle Front-end. A big flat file is being dumped into their Production org. Then they blame the resulting numerous duplicate fields and records on “something that Salesforce is doing. Must be some trigger.”

Confession #1164

A Salesforce Trainer I visited in Austria, told me “We have no plans to implement ‘Lightning.” We tested it and it ran very slow. “

Confession #1163

There are several different custom fields in different objects named “ZIP Code” or include “Billing ZIP/Postal Code” There is even an object named “ZIP CODE.” There is NO explanation anywhere why was this was built this way. One of these ZIP Code fields is a Text (60) field, and this is where users have typed in “???”

Confession #1162

Because our sales/finance teams were not willing to round our pricing to two decimals like the rest of the world, we had to create nearly 400 price rules and 1000 price actions in CPQ to manage 150 products. I pray for the poor sucker who has to manage this after I leave.

Confession #1161

A mass email to Salesforce integration, using an AppExchange app has been signed off as being up and running. Six months later I arrive and take a look. The app is installed (and I know it, it’s a good product and integration app) but the client is still manually exporting from Salesforce into the mass email tool. I have no idea what the customer signed off on. What did app did think had been installed? What did they think it was doing? They’re literally using none of its features, but paying for it anyway.

Confession #1160

Added a new Opportunity field to help with reporting. Ran a mass update to all Opportunities to populate that field, but didn’t disable any email alerts. The next morning, my inbox is flooded with, Why am I getting notified of every Closed Won/Lost Opportunity from 2007?” Thankfully, only internal communications were sent – nothing to customers.

Confession #1159

Client has ZoomInfo for Leads, linked directly into SFDC. They export the leads/contacts assign them to people, send them spreadsheets and ask them to manually enter them back into the system

Confession #1158

One of my bosses in the UK told me that (before the pandemic) working from home was not an option.. Now the entire company works from home. What a toad, and he was fired fired fired…

Confession #1157

One of my clients has 80 odd users and each user is a Sys Admin, cos their sys admin does not understand the security model.

Confession #1156

Had a user who could not see her data in a list view, but could see the individual records, said to me there is a defect in the migration. I checked and found the list view filter was incorrect

Confession #1155

Client: It is 23/12 and we have a flow that we had to shut to off. Can you fix it by 12/24?

Confession #1154

I’ll take your “Salesforce support is painful” and raise you a “Slack support is a slow painful death”

Confession #1153

Me: Why can’t I subscribe to Platform Events anymore?
Support: Looks like you hit a governor limit around too many events being consumed in 24 hours.
Me: Bummer. What limit did we hit that I can monitor with the limits API so we don’t have this issue in the future?
Support (actual quote): “There is no way to monitor the High Volume Platform events limits from the org, you can reach out to salesforce support if you want to check the limits.”

Confession #1152

One of my executives champions himself as a 30-year ‘true data scientist’ (leads marketing efforts) and yet cannot grasp the basic functionality of Salesforce report filters. He’s created more than 1.2k reports in 3 years in our production org and EVERY SINGLE REPORT includes filters for Lead Status and another custom picklist field even though essentially none of his reports filter by those fields in any way. He adds both fields and selects “All” on every report.

Confession #1151

That special moment when you log into a #Salesforce org, to uncover not one…but TWO tabs for Dashboards.

Confession #1150

Client testing sandboxes that are way out of sync from production

Confession #1149

Need basic start-up help. we only have 4 users and we need to enter leads and keep up with everything we have done with each lead. Help please – need salesforce for dummies. We have not even started using it yet. We have not had any sort of training on how to use Salesforce.

Confession #1148

Recently, a new #Salesforce Admin asked to help delete all existing records from the database, so that the company can start the fresh year with a “clean slate.” In their defense…this is the net result of a chaotic implementation (without a properly trained Admin), half-baked strategy, and like many organizations new to Salesforce, enthusiastically turned on every integration they could find while also bulk uploading lots of garbage spreadsheets of data into the system….creating a centralized heap of trash data that was impossible to sift through. Side note: They also renamed several standard objects (like Contacts and Opportunities), just because “they could.” The Admin explained that the team had exported all of the relevant records from Salesforce into Excel, and they’ve been spending significant time and effort cleaning up the data in Excel, which will be re-imported back into Salesforce now that their legacy database of crap is gone.

Confession #1147

When you’ve had zero conversations with a client about SLAs/Milestones and they want to go live with them on Dec 28th.

Confession #1146

client says that they can wait to figure out Profiles/Permission Sets/Sharing during UAT…

Confession #1145

Launching a new service and I asked the PM what the pricing model is and she said they haven’t decided yet, “is there a workaround?”

Confession #1144

Working on an Org optimization of a client that has 464 fields on the Account object. Another object has 4 date fields: Date, Date 2, Date 3 and Date 4. All but Date are formula fields with the formula Date__c.

Confession #1143

Someone created a Lookup from Quote Line to Quote for the sole purpose of only displaying a subset of the Quote Lines in a related list. Like, no… and also, please use filtered related lists. Thank you.

Confession #1142

SetUp a new PB: When checkbox marked as false create task… except it was supposed to true… and now every time that record is open it’s creating a new task bc the checkbox is false be default… thankfully I caught it before it ran too many times.

Confession #1141

Recent Success Community post: How do I get upgraded to Lightning?

Confession #1140

Went to create 7 new, long text area fields on our Survey object we are working to actually start using. Got an error that the object hit its character limit. There are 50 fields each for Question, Answer, & Comment. Comment fields have 15k+ limits. None of the fields are actually filled in (per Field Trip). Not 100% confident in deleting, so just gonna go modify 50 comments fields to only have 5k character limit

Confession #1139

Accidentally deactivated a SF2SF connection only to find out that it can’t be “reactivated” without establishing a new connection. Salesforce Support says it’s expected behavior. Reconnection would lose the original data sync and introduce all new duplicates. A data disaster.

Confession #1138

Went live with an email-to-case scenario this morning for one of our sales channels for what was formerly a distribution list. I see the cases being created and panic – why is every other distro list creating a case here? Ecomm order confirmations, support cases, yikes. Am I somehow diverting all emails to these cases? Turns out there is an employee on maternity leave who is cc’d on basically every company distro list who has forwarded her email to the distro list address that is now going to cases. Phew! but boy do we have issues with distribution lists.

Confession #1137

Haha, I set up a validation rule on a picklist field, requiring a value that doesn’t exist in the picklist.

Confession #1136

whats the most secure way to send a fax online. Yes I said it. Our government at work

Confession #1135

I just found out someone added a multi-picklist to the Account object

Confession #1134

Client : the migration script isn’t working, it didn’t move any attached images to Amazon S3.
Me: how many images are attached to that object?
Client checks: 0

Confession #1133

AWS S3 integration works flawlessly in UAT, but errors on Prod and you triple check the Remote Site Settings and Named Credentials, only to eventually discover that if your AWS Secret in Named Credentials contains a / then it doesn’t get parsed correctly by Salesforce and AWS throws Access Denied

Confession #1132

A user sent our support team an email saying “records are not getting assigned to me” and in the same email she referred to that “record” as an Account, Opportunity, Lead, and two separate custom objects of ours….

Confession #1131

Found out towards the end of a large Service Cloud implementation that the client would have been OK with a phased approach (E2C first, then Chat, then KA). Oy.

Confession #1130

Using multi-org strategy without a centralized code gatekeeping – like not utilizing Heroku for some of the commonly used functionalities, which results in the same logic being developed in different sprint cycles for the different teams.

Confession #1129

2 -> 1 -> 2. A team spent half year to merge two unrelated orgs; then another half a year to separate them.

Confession #1128

Multiple automation of single type in one object – say for example, 3 triggers on case, 4 process builders on opportunity. What we have achieved lately is having one PB per object and if needed calling the next PB from the main one.

Confession #1127

With the salesforce orgs that are older than 7-8 years the entire logic required at the point of time was written in one single class. With business growing further in the years, the same class is being extended to 4000-5000 lines resulting in major test class coverage issues.

Confession #1126

Test classes focused on the number of lines covered rather than giving equal importance to the positive and negative scenarios.

Confession #1125

100% configuration: One contract requires the System Integrator to do 100% configuration. Oh, how creative we got with flows and all the wonderful config tools! But how do we create a JIT handler?

Confession #1124

The bleeding edge. I was so excited with SFDX when it came out that I tried to package my Service Cloud app. On the bleeding edge, pain and gain go together. I still love SFDX.

Confession #1123

“Create it just like our legacy sales automation system.” One org was almost all coding to mirror the legacy application.

Confession #1122

Discovered that a flow built by consultants has the API name Final_Versions_of_Intake_Form which is not only vague and non appropriately descriptive, but final.

Confession #1121

Inter-org Chatter? Yes, we can! But an enterprise team is not a product team: It does not pay to maintain such a complex custom solution.

Confession #1120

A team put a package in its app design, because “They were so nice and knowledgeable. There is also enterprise license.” The real cost is how to make it work.

Confession #1119

Triggers without handlers and custom setting / custom metadata combination to run the logic on demand based on the user logged in.

Confession #1118

Client has a 40+ question survey and each question is a separate field, and each answer is a separate field. And they want to report on it, but service reports related lists only let you have 10 columns on a related list (not that it would render properly anyway) and their attitude to the design being fundamentally broken is “oh well, we’re stuck with it now” and won’t budge on getting it to be a proper related object with records for each question/answer pair…..

Confession #1117

Using multi-org strategy without a centralized code gatekeeping – like not utilizing Heroku for some of the commonly used functionalities, which results in the same logic being developed in different sprint cycles for the different teams.

Confession #1116

Many years before in one of my previous organization, we decided to have a Single Org for both Sales and Service Cloud users mainly due to common data and integrations. Unfortunately due to lack of good governance and the lack of flexibility from Sales team , the Service Cloud team eventually moved out of Salesforce and adopted ServiceNow.

Confession #1115

Not having an architect or a developer with architect mindset in the team to foresee scalability issues. This results in the things getting developed in the configuration level which gets complex eventually rather than keeping the core logic in the Apex and keeping the controlling points at the configuration end for certain business scenarios.

Confession #1114

How do I turn off the stinking annoying reminder to try lightning every time I login to Salesforce classic. Lightning sucks. It’s terrible. It is useless, it is over-engineered for purpose.

Confession #1113

Due to the limit of our licensing AKA not being all to use the out of the box Opportunities object, I’m trying to create a custom Opportunities object with all the fields we need.

Confession #1112

A customer asked me to configure their new Salesforce so it looked exactly like their old 13 year old legacy system. Puzzled, I asked if they liked their old system? They said they loathed it as it was hard to use and did not do what they wanted. So I asked why do you want Salesforce to be built like that? They said it would make user adoption easier …

Confession #1111

6 Dev, 1 Sandbox, all dev uses the same user id / pw because of lic issues

Confession #1110

I just found the following code: const that = this;

Confession #1109

InfoSec got a scary report from people selling Salesforce security audits, but my InfoSec team knows nothing about Salesforce, so now I’m teaching basics over slack to a bunch of people asking me questions.

Confession #1108

“Notify Case Owner on New Emails” fired 70 emails before you can turn it off.

Confession #1107

When you are giving a high level overview of your Org to the acquiring company’s team and the they are clearly taken aback that your system is not integrated with an ERP

Confession #1106

As a Salesforce developer I joined a project where it was a method with 600 lines of coder to enhance the test coverage of a apex class not longer than 500 lines of code, for example coverage(){ integer a= 1; integer b= 2; integer c = 3; integer z; z= a +b; z = b + c; (an so on an so on for 600 lines of code) }

Confession #1105

Business Unit uses an Account hierarchy (for the last 2+ years) and you’ve spent 6 months on an enormous project for them that was only supposed to take 3 months (Due to massive oversight – The Managers bought very expensive data and didn’t realize that the vendor didn’t deliver the most important data point)and built tons of automations to automate the sales team’s entire workflow and now the Manager’s Manager wants to change the Schema and doesn’t understand why that would be a bad idea.

Confession #1104

Created a custom object with fields.
Did not set Profiles to view the custom object tab.
Sent out mass email about the new custom object and tab.
Cue the emails “I don’t have this tab.”
Next 20 minutes adding the custom object to profiles.

Confession #1103

Just got off a all hands call at work. We have been bought, and the entire executive team is leaving in January. Good thing this is my last week….Off to bigger and better things!

Confession #1102

Installed a trial of some project mgmt app in SFDC. It expired over the weekend and proceeded to make it impossible to log calls and caused errors when Form Assembly tried to connect. This mornings treat: 246 emails of errors

Confession #1101

I worked on a big org that many partners made some sort of development in there and among the dozens objects, fields, visualforce pages (that are still being developing old and new alike). The most headache I had was that for different record types and layout, there were fields with same label that showed for different layouts.

Confession #1100

Our client received an email from Salesforce Security Review yesterday that their new version under review failed. Took a look at the report and the reason for the failure stems from an Apex class that is not in the managed package (nor does it exist in any of their packaging/review orgs. From google I stumbled across an old dev forum post containing the exact same Apex class; it seems to belong to another Salesforce ISV partner entirely. As hard as it is to believe it seems as far as I can tell that the Salesforce Security Review team mixed up our client with another partner (and ironically in so doing introduced a security vulnerability by sharing their code with us…)

Confession #1099

Discovered a formula field that seems to convert phone number into text
RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOWER(Phone), ‘%’, ”), ‘~’, ”), ‘@’, ”) , ‘>’, ”) , ‘=’, ”) , ‘<', '') , ' ', '') , 'o', '') , '}', '') , '|', '') , '{', '') , 'z', '') , 'y', '') , 'x', '') , 'w', '') , 'v', '') , 'u', '') , 't', '') , 's', '') , 'r', '') , 'q', '') , 'p', '') , 'n', '') , 'm', '') , 'l', '') , 'k', '') , 'j', '') , 'i', '') , 'h', '') , 'g', '') , 'f', '') , 'e', '') , 'd', '') , 'c', '') , 'b', '') , 'a', '') , '_', '') , '^', '') , ']', '') , '\', '') , '[', '') , '?', '') , ';', '') , ':', '') , '/', '') , '.', '') , '-', '') , ',', '') , '+', '') , '*', '') , ')', '') , '(', '') , '&', '') , '$', '') , '#', '') , '"', '') , '!', '') , '-', ''),9)

Confession #1098

Created workflow rule that changed Opportunity status. Didn’t realize that there was an overnight integration job that touched every opportunity and it kicked off the workflow changed every opportunity status to the wrong status.

Confession #1097

Someone changed the label of the picklist value instead of creating a new value. Thought I was losing my mind since Approval Processes display the API value in the action criteria.

Confession #1096

“We barely use Cases, so this project should be easy”
Cannot activate Workflow rule, max # of active rules on object
27 record types
30+ layouts
Hundreds of fields
Tons of code & processes conflicting

Confession #1095

Users are putting street addresses in the Phone number field. And also found user putting extra emails in mobile number for safe keeping so they don’t lose them

Confession #1094

New Client: We had a huge project on hold to come up with a major digital transformation for our customer experience, that won’t happen until next year. We need something by Dec 15th to show we did something this year

Confession #1093

On the last week of November the Executive team had decided two weeks ago that they wanted to change the fiscal year, and add a week to November, taking one from December.

Confession #1092

I have an integration that went wrong and now have a lot of orphan contact records, they need to be person accounts records.

Confession #1091

My whole professional life, developers are not given access to production. The company I’m at now, likes to hand out admin access like hotcakes. We have 100 users and 15 with admin access.

Confession #1090

I remember going into an org. The Contact record had a check box field for every event the contact had attended.

Confession #1089

New org I just inherited had ISBLANK(Name) on a Validation rule (among 60+ rules on the same object, mostly ISBLANK based on a value of a picklist field…).

Confession #1088

Used 5,403,900 of Apex characters of the available 6,000,000

Confession #1087

Just found a field on Opportunity – Quoted Total. It’s a rollup summary of the Total Price of all Quotes.

Confession #1086

Created Mobile App to restrict access to a couple of objects. It resulted that the app has search functionality which let users access all the objects they aren’t supposed to view.

Confession #1085

We changed an object’s name to other name due to a new cloud integration. But the report related to the old object is broken. Does anyone knows how to re-parent to the new object?

Confession #1084

Partner did implementation and left no documentation

Confession #1083

Partner fixed an issue directly on your production environment instead of the provided sandbox, but they can’t/won’t tell us what it is they changed.

Confession #1082

Hello. I am an extreme newbie. I am looking for more information on the app Field Service. I am trying to learn as much as I can before our company goes live with this specific app. Are there any Trails I am missing that go into more detail?

Confession #1081

At one of very first sales roles we would create quotes in this “official” excel template and PDF them and send them out. I was new and I didn’t realize I was supposed to put the contract duration in months and not years (12 months vs. 1 year) so the pricing I sent to my customer was 1/12th of the real price.

Confession #1080

I once heard of a company who didn’t bill a recurring saas product line for over a year because the billing rep responsible for billing that product left the company and he was the only person who knew how to calculate based upon the manual contract reviews and spreadsheets. The process was so manual that nobody noticed until there was a multi million dollar gap 18+ months later. So much opportunity for revenue cloud.

Confession #1079

Spent NINE stressful weeks building a end to end process to automatically route Accounts to Queues, including: A Prospect Rating System for Accounts (which will determine which queue the go to),a custom object to use as the proxy for Accounts, a custom version of Assignment Rules, an Omni-Channel Setup to route said Custom Object according to the Custom Assignment Rules, Batch Apex to get around issues caused by using a scheduled flow, New Process Builder Nodes and 7! New Flows. Only to have the powers that be decide that we’re going to manually assign 10 Accounts to Reps every day for the time being instead of using the Process I spent all that time building

Confession #1078

I see this from Salesforce Support when a case is closed, “I will now close this case. Please reopen if it is not resolved to your satisfaction.”; however, I don’t believe we have a way to reopen cases?

Confession #1076

Using excel to manually migrate an entire CPQ implementation to Production is my scariest story!

Confession #1075

New admin quits 3 weeks into the job because they said the Org was too complex.

Confession #1074

The worst manual entry I ever saw was in a previous role running a global billing team. The revenue recognition process was hideous!! We’d do the billing run, then make an export of the data from the ERP we used at the time into a spreadsheet, and manually calculate the amounts to be deferred, then look at another spreadsheet to create a journal for that months revenue to be recognised. One mistake was very costly to our figures being reported at month end!! Thankfully we automated that process in the end.

Confession #1073

BIG ORG. Opportunity has 276 Record Types and 140 picklist fields so grid of assignments is over 5 million records…. And they have 76 Opportunity processes. BTW all the other key objects are like this. Lead, Account, Contact, Case.

Confession #1072

In my former life in Sales Ops, I was covering the deal desk on December 31st and got a call at end of day on one of our biggest deals. The AE wanted to add a line for professional services to the quote. I added it as a line on the bottom — and for those excel nerds — I *gasp* didn’t check my sum function since I was in a hurry. Quote went out without the line items adding up in the total… the customer signed because we didnt catch the error. I book the deal and finance rejected it because of rev rec implications on professional services as a $0 line item. I had to call the sales rep who was celebrating in the customer’s parking lot to say we couldnt book the deal and they would not be paid on it if it didnt close today. They had to run back in at 7 pm at EOY to get ANOTHER signature and was embarrassed to explain it to a customer (and furious with me). Good times….still have nightmares about new line items and SUM errors in Excel!!

Confession #1071

Salesforce recently stopped it’s data recovery service, right ? You know, when someone at your org screws up and deletes things that should not have been deleted…and that data isn’t in the recycle bin….you could get Salesforce to recover it for a HUGE price. Right? They stopped that not too long ago, right? When was that? Anyone have a link to an article about that?

Confession #1070

Updating 111 page layouts with notes & attachments related lists with files related lists

Confession #1069

We have a workflow that looks to see if a custom date field called Create_Date__c is blank, and if it is, populate it with the Create Date.

Confession #1068

On a Salesforce support call and the first response from the Salesforce rep is to create an Idea. Did my best to contain my rage while I listed out all of the reasons why broken functionality is not an Idea and state that if it is expected functionality, I want the documentation. Also, trying not to laugh when the agent suggested that maybe my issue had to do with the default field update user – which is not a thing! Fortunately, he didn’t protest when I told him as much.

Confession #1067

Sales department is on its 3rd manager in 4 weeks, and all 3 have had me rebuild the Sales Process (and all associated logic). 4th manager is incoming…

Confession #1066

One time I thought I made a change in Salesforce full copy and it was actually…Production environment . Lucky for me it wasn’t a big change and I didn’t get fired from my job haha

Confession #1065

When you get Management sign-off to consolidate 40 Validation Rules into 2 Rules and the Sales Management decides their team needs specific messaging instead of 2 generic messages.

Confession #1064

Was sent to their HQ for training, at a 1.5 Billion € in sales, European-based company. Was told by the Salesforce Product Owner, “We have NO plans to migrate to Lightning as we tested it and it was too slow.” Their System Administrator, “Only two objects can be related in a report.” With people like this, no wonder their SFDC implementation has failed miserably!

Confession #1063

I’m currently on my 9th Managed Pacakge build request… something’s borked in our post install script and I’m (very, very) slowly going insane.

Confession #1062

An automated email goes out every time a big order is closed. Owner of the company wants this email to contain a summary of the products on it. Because of how our products are set up this can’t be done in an automated email, so it has to be un-automated and manually done.

Confession #1061

We have multiple apps with 20 custom objects and automation that have been built that have never EVER been used.

Confession #1060

A completely hypothetical question… Asking for a friend… Let’s say a Salesforce admin created a public link to a library full of files and put the link on the Lightning Page for Opportunity so sales reps could access it, but then later realized that anyone with the link could access the files without authentication since it’s a public link… is there any way to tell if anyone not authenticated into the org accessed the files?

Confession #1059

My wife works for a company that is switching to LX on Monday. I asked her, “how much training did the admin do?” Her response “She sent a 15 min video.”

Confession #1058

Picklist value isn’t appearing, so I refresh a bunch blaming lightning UI. I then realize record type controls it…yup…added it there. Still not there! More refreshing while cursing lighting. It’s also a dependent picklist…add it and voila! …it shouldn’t be that hard…

Confession #1057

Have a use case where I have to enforce that a multi-select value in one field is included in a separate multi-select. But both multi-selects have 96 values. Any ideas?

Confession #1056

Anyone using SF Labs Dashboard Pal? With W’21 my users can no longer see the dashboards they have access to via this component and I can’t figure out why.

Confession #1055

Winter 21 randomly removed a necessary controller from a profile. I’m a solo admin with no devs on staff and only the most basic understanding of controllers

Confession #1054

Multi-billion dollar corp implemented CPQ directly into production.

Confession #1053

My org is currently in code freeze until a new cloud go live. But today I deleted an inactive field which was a duplicate field. Because when we do date updating, the field was pulled due to the same API name. I am not sure if this deletion will effect the code freeze.

Confession #1052

User: Can you please update these 30 records? Proceeds to send excel with 90 records. #whyadminsdrink

Confession #1051

We have 8 Orgs, and I cannot see us EVER migrating them to Lightning as they are such a mess.

Confession #1050

A large company has enterprise sales, B2B sales and support. Enterprise sales has an org, very complex and pushing limits. B2B sales has a separate org, implementing a simpler business process to handle many more customers. Support has a different org. One reason was that sales and support can’t agree upon what is an account. For enterprise accounts, each account has an account team and complex interactions. For B2B accounts, the focus is sales, so a billing account is an account. For support, an account is … complex based tiers.

Confession #1049

When a single workflow takes 6+ weeks to be added in SANDBOX.

Confession #1048

The reset password links never bloody work and just redirect you to the login page. If I knew the login, I wouldn’t be resetting the password.

Confession #1047

Having 20+ record types on Case and not being able to submit picklist values by record type.

Confession #1046

VP of Sales tells a member of his team to just close the Opportunity, and we’ll fix it later.

Confession #1045

When the Apex error message is a big fat lie and you spend 3 days down a rabbit hole. The resolution was a 1-line fix.

Confession #1044

We are a very small company with just 3 Sales Cloud licenses. I am the admin and have certifications, but my boss and another guy sometimes go in and change things without talking to me. When I started, everyone had admin access. There isn’t much hidden in the org, so that way didn’t matter, but I did try to stop everyone from access. But my boss (owner of the company) posts everyone’s password so everyone can get in. He wanted API access (we’re in Professional, as far as I know there is no API?) and he may have downloaded something without my knowledge, the Einstein Activity Capture. I’m all for it, but I wish they would talk to me and I don’t think he will. Then, today, between the 3 men, they decided to deactivate someone so that they could put someone else in, when in reality, my boss should buy more licenses.

Confession #1043

Client doesn’t trust Salespeople to convert leads. Sales can’t even see the Lead object. So the Admin emails the Regional Manager when a lead comes in. The RM then SCREENSHOTS it and sends the information to the right Salesperson. If the Lead is legit, they HAND KEY in a new Account as a Prospect.

Confession #1042

When asked to prioritize User Stories for an Org Optimization, VP of Sales ranked Adding Contacts to Accounts in Tier 2. Really? It’s a CONTACT MANAGEMENT SYSTEM!

Confession #1041

Client *production* org – bunch of test classes that don’t even run without errors, code coverage at 59%. Again, a production org.

Confession #1040

I have been using Salesforce for around 2 years with an administrator profile, so an ‘unofficial administrator’.

Confession #1039

The setup wizard for an Einstein function allows you to add permissions and you add those permissions BUT takes them off as soon as you finish the wizard.

Confession #1038

3 actions on a Case page layout all labeled New Child Case. The API names reflect 3 different RT yet somehow that clarity never made it any further.

Confession #1037

My biggest pet peeve in my role. When the business comes with a solution but cant detail their problem: “We’ve decided that we need 10 fields on the account to capture blah blah blah.” “Whats the actual requirement? Why do you need them?” “Ohh excellent question, because we need 10 fields to store data.” “But what are you doing with them, what business process do they drive, what purpose do they serve?” “Stop overcomplicating things we need fields.”

Confession #1036

I’m working on a Production Org right now that’s at 189% data storage last time I checked. I have no clue how it’s still even functioning.

Confession #1035

Data Storage: 113% used. File Storage: 1% used. Data import fails; not enough space.

Confession #1034

Got off call with client (not in the US). They were about to purchase on of the leading appexchange DevOps solution, but at last minute Salesforce Professional Services offered to build a custom dev ops app for them (I assume at very low cost as they are sitting on the bench). A few issues: 1. SF competing with ISVs. 2. SF has DevOps Center launching soon 3. How will they maintain app ‘cos you know there will be no documentation. 4. Risk, time and cost of build vs buy.

Confession #1033

I would like help with obtaining a certification.

Confession #1032

Joined a mid-sized Org of about 800 users and a relatively new but decent team that merged two Orgs that were pretty poorly managed before they inherited it. Heavy use of Service Cloud, specifically Cases and E2C, for Sales Ops teams to support the wider sales teams. It turns out there are about 11 ‘type’ picklist fields on the Case object. Type, Type__c, Type_Client__c, Type_Client_Issue__c, Type_of_Issue__c… etc. There’s hundreds of values, multiple picklist dependencies, a bunch of record types, tens of reports, processes, workflows, flows, support processes and layouts associated with unpicking it all. Argh!

Confession #1031

Due to an integration error, one of the properties on salesforce is skewed and needs to be changed for each lead.

Confession #1030

I have been working as our company’s Salesforce Admin for about a year and I just earned my Salesforce Admin certificate.

Confession #1029

I know that Permission Sets and Permission Set Groups are the shiny new thing, but currently there is no way to add/remove Record Types from multiple Permission Sets or Permission Set Groups, or Mass Update Permission Sets or Permission Set Groups either, so as Admins we’re just as screwed there too…

Confession #1028

Use FLS to turn off access to the fields and wait a month or two to see if anyone complains loudly. We use it in our Org, although it can be kind of wonky, Field Footprint missed 18 out of 744 fields). Field Trip missed 20 fields out of 744 fields. BUT THEY ARE FREE

Confession #1027

When you find out a co-worker merged his trailhead account with yours.. I no longer exist.. Salesforce support case here I come…

Confession #1026

Live Agent & Omni-Channel has been down in our UAT environment for the last 5 weeks. For a Project I’m working on, I need to key off of the Agent Work time for some custom routing. After 6.5 hours of digging, another Admin and I found that someone had left a half-finished process builder active in the Agent Work Object. Turned it off, and restored Omni.

Confession #1025

About go live in 2 days. Client has said the org is greenfield. It is not. We have just discovered the changes we are making will break the org.

Confession #1024

How is a client managing to create Apex directly into production? I didn’t think that was possible at all? What loophole are they using? We know for a fact they don’t use sandboxes and have only recently discovered what a changeset is.

Confession #1023

That moment when you realize the “somebody” who buggered up one of your demo Orgs, was actually your own alter-ego. Time for bed

Confession #1022

User just tried to create their own formula:
If((“Total Units Managed” < 2000 , "<2K") ("Total Units Managed" >= 2000 && < 10000 , "2K-10K") ("Total Units Managed" > 10000 , “10K+”))
Why do users have the ability to create formulas?
We’re experimenting with delegated admins.

Confession #1021

I have a client who somehow managed to set the Task’s Subject field to Read Only. After reviewing about 75 Tasks from the User who reported a lack of access to the field, it became evident why the User had assigned all of the tasks with a Null Subject.

Confession #1020

We have 23 Orgs and desperately need to consolidate.

Confession #1019

Hi All, I’m stuck, and hoping for some insight. I have two multi select picklist on the Account object where we’re attempting to add new options. But they’re not showing up on the UI.

Confession #1018

When eating skittles, there is an order I always follow:
Green
Yellow
Orange
Purple
Red
That’s just the way I do things. Now you know.

Confession #1017

Our Head of Sales dumped Salesforce into the business in 2016, no training – we were just told to ‘add leads and opportunities so we have a pipeline’. 4 years later… it’s a mess and I’ve moved role from Account Manager to Salesforce Admin to try and sort it out!

Confession #1016

I have just joined this lovely community and started learning about this amazing platform. The best thing is you can create multiple Apps and functionalities just with clicks.

Confession #1015

Is there a way to change the API version on your data loader? My coworker just downloaded version 50 and it wont let him log into prod.

Confession #1014

Just started working in an org where “open” opportunities are received and “closed” opportunities are not.

Confession #1013

Anyone know how to fix the trailblazer.me issue of accidentally linking an additional account and having it wipe out your URL and certs? I cant re-authorize my certs to the merged account now, says its already in use.

Confession #1012

Going through 119 process builders. Only 119? Our org has 160+.

Confession #1011

Spotted in Chatter “Something is broken with the AppExchange, specifically the consulting listings. Yesterday the Expertise tab was broken, today it is showing 0 certified consultants on many listings. Are you all aware of these issues? Is this part of a release? If part of a release, why is it being pushed during business hours?” SF ans: “The issue was fixed yesterday. Thanks!”. Reply “Thank you for the response. I would have not published this comment today if the issue were resolved.”

Confession #1010

Assigned ownership of a record in PB using the Queue operator, but when it moved between environments it causes invalid reference id errors causing testers to report UAT fails.

Confession #1009

Found Dreamhouse app in an Org.

Confession #1008

Created custom object to track people. I saw it in one of the orgs I was working in. Explanation given. It helps to save time to search People as compared to Global search.

Confession #1007

When you assign ownership of a record in PB using the Queue operator, but when it moves between environments it causes invalid reference id errors causing your testers to report UAT fails.

Confession #1006

I found a permission set called “User”.

Confession #1005

Field labels don’t match across different features in SF. This is what I see in the Object Manager for the Contacts Object:

  • Asst. Phone
  • Home Phone
  • Other Phone
  • Phone

But this is what I see in the Front-End:

  • Phone
  • Mobile

And this is what I see in Process Builder:

  • Mobile Phone
  • Business Phone

Confession #1004

Winter 21 broke 1-step password reset and email change and I have a bunch of users starting testing.

Confession #1003

We have a wonderful SF Admin, and I was thrown into the CPQ Admin role and busted my ass to learn it on my own, rebuilt the whole thing myself because our vendor screwed it up on us and then walked away, and because our managers don’t understand how any of it works, they refuse to limit the 10 Admins we have in the system, and people just go in and create anything they want, without having a clue what they’re doing or what else they are affecting. The system is a total mess now, and we can’t figure out half of it, and every time we try to fix one thing, something else breaks.

Confession #1002

I was helping (only helping – no real experience) with Microsoft Dynamics when my company moved to SF. Within three days of our org going live, the powers that be decided since I helped with Dynamics, I should be a full admin in our new org. I crash our Org within THREE DAYS. We had to go to Salesforce and have them go in and reverse what I had done. Since then, I have worked directly with our admin to spot check what I was doing and ALWAYS test in a sandbox first. So I think the line is nothing goes around the Senior Admin as they are responsible for the system. I see no real issue in giving users admin abilities in Sandboxes so they can create their vision or work through items they cant verbalize and then review with the Admin team for testing and launching the changes. The Admin or Admin teams need eyes on everything that happens in the system because if something happens, it will impact business and therefore sales for the company. My slipup only impacted about 20 users since we were slowly rolling out the changes. If that were to happen today, all 500 users would be impacted and myself and perhaps my manager might lose our jobs for my slip up.

Confession #1001

You start a new position and discover EVERYONE has System Administrator permissions.

Confession #1000

Consultant enabled GSuite SSO in production. Set all users to SSO only. And SSO was not configured correctly. Going on 12 hours now, once your browser session expires you cannot log back into Salesforce. Keep refreshing, we’re dropping like flies and going to pen & paper backups. There are so many ways this could have been avoided. But I guess the silver lining is that at least the consultant can’t log in to break anything else now!

CONFESSION #999

I had a process builder that had IsChanged and when I created the Flow it was changed to Was Set and I’m trying to determine if that condition is what caused it to fire when I Mass Transferred Records from an Inactive User to an Active User. Something fired after I did the transfer that apparently triggered the Flow and sent 8,000 Welcome emails to all Members.

CONFESSION #998

I don’t wanna say some parts of Setup & Configuration are painful, but sometimes I feel like I need to have a “Safe Word” before I click on this thing…

CONFESSION #997

Consultant did a Pardot implementation, didn’t explain to the client the difference between prospects, leads, and contacts, client is freaking out.

CONFESSION #996

Our org has over 1900 custom objects and 4 different CPQ managed packages.

CONFESSION #995

As a consultant I’ve written apex in the wrong Org.

CONFESSION #994

3-4 year old Org. Client has used external consultants as Admins each on 3 month contracts, so Org had had at least 9 different Admins. Not a shred of documentation.

CONFESSION #993

User complains about “not having the correct permissions” to view a few of our core custom object records, but it’s only because their “recently viewed” list was empty :joy:. Funny that they know how to toss around the word permissions but not how to search or navigate

CONFESSION #992

I recently got a duplicate query parameter error that seems to be caused by a field on the object having the same api name as a field in the managed package. Shouldn’t the namespace prevent this?

CONFESSION #991

Current client that has 67 Case Record Types.

CONFESSION #990

118 opps that don’t have net new ARR completed because salespeople….are special…

CONFESSION #989

I’ve got 3,500 contacts without accounts and they should have been added to the correct account by email domain but they didn’t.

CONFESSION #988

I have an ongoing issue. Approval process started to fail because of a SF issue with else statements. I have created about 40 approval processes to replicate the original ones that started to fail. Some are failing. Some are not even though they are all based upon the same protocol.

CONFESSION #987

Got some “unhandled fault” email alerts for a flow triggered by Sales reps clicking a custom action button. Started investigating why the flow was messing up, and sent a Sales-team-wide message basically saying, “hey y’all, this button is broken and I’m trying to fix it. Until it’s fixed, please don’t press the button” Shortly thereafter, my inbox was flooded with more “unhandled fault” emails triggered by the reps pressing the button

CONFESSION #986

In one of the org there were 96 record types for event

CONFESSION #985

15 year old Org supporting 17 business units and the first architect joined this year. Building a business case to junk it and start again.

CONFESSION #984

halfway through a bottle of wine while rebuilding a flow full of unexplained tech debt…please use the description fields on things.

CONFESSION #983

>Record Types are like glitter. Once you have them you can never fully get rid of them.

CONFESSION #982

I think I made a boo boo. Got one of the 7 dwarves errors over the weekend. I’ve never seen an error out of Salesforce like that before.
[object Object]: system.security.NoDataFoundException: ORA-20001: ORA-06512: at “SNEEZY.SACCESS”, line 930 ORA-01403: no data found ORA-06512: at “SNEEZY.CACCESS”, line 3212 ORA-06512: at “SNEEZY.CACCESS”, line 2902 ORA-06512: at line 1 SQLException while executing plsql statement: {call cAccess.check_entity_access_proc_ncu(?,?,?,?,?,?)}(EXCLUDED, EXCLUDED, 003f4000007Ymd7, EXCLUDED, true, false) (edited)

CONFESSION #981

Migrating to a new org & a team insists only initially re-creating 10 of their reports will cripple them because they have 180 they use on a regular basis. There are ‘only’ 83 that have been run this year

CONFESSION #980

A client used an existing user for me temporarily (long story), simply changing the email address and now all my Trailblazer profiles are getting connected with this other user. Oy.

CONFESSION #979

I was on a call today doing a knowledge transfer with another team about a client, we had talked about getting good alignment with the client SMEs, but not with the major stakeholders, one of them asked “To what percent do you think the stakeholders are aligned on this project?”
Me: “Can we use negative numbers?”

CONFESSION #978

What a FANTASTIC form. Click on the country drop down which gives you an enormous list of 2 letter country codes, not all of which are in alphabetical order!!! If you select the top option “US” a new field appears above country code, and you then have to type in the state (no drop down). So valid entries are “State… or despair”. “State… of confusion”. “State of undress”.

CONFESSION #977

Have to turn off 11 validation rules and 7 process builders just to do a deployment. Think we need some test class maintenance!

CONFESSION #976

I shouldn’t have to dig through the response object in chrome dev tools to figure out that the scratch org is out of storage space

CONFESSION #975

So deferring students in SFDC from one semester to another is kind a crappy, so I made this great Google Doc that explains how to do it step by step. Sent it out Tuesday. Today user: I can’t defer this student. Me: Follow the instructions in doc I sent you. The one that says It is strongly recommended that you keep this open when you go through this process?

CONFESSION #974

Broke my flow because forgot to change get from assigned values to capturing all the fields. I have no clue how this got past not just me, but my testers…

CONFESSION #973

Created a new field in a Sandbox yesterday. Didn’t show up in LEX. Cleared cookies, logged out, everything. Today, still doesn’t show up. It’s right there in Classic.

CONFESSION #972

I was just reviewing an org, and it had View All Data enabled, so their site had kept working even with secure Guest Site Access enabled in Summer 20, although they hadn’t added any new sharing rules. So Winter 21 could break orgs that thought they were in the clear

CONFESSION #971

Created an Org in 2010 with free Force.com licenses which is used every day and is now getting messages to say will be archived in 22 days. Salesforce Support have told me that the Org was archived in 2014!! Another example of Ghost Orgs

CONFESSION #970

Most people who try to learn on their own with Trailhead find that it’s super frustrating and annoying because: Trailhead doesn’t give you any option to actually ask a question; Trailhead shows you HOW to use features, but not WHY or WHEN to use them; Trailhead doesn’t give you actual, realistic use cases or scenarios that mimic real-life; and Trailhead is super boring.

CONFESSION #969

Client (a former PM) decided that my functional user stories were too much about “development” and overwhelmed the users, has written them as stuff like “User Story 1: Contacts” and put the actual user stories in as Acceptance Criteria underneath it. Me: not a scrum master- ok

CONFESSION #968

Getting batch Apex error emails from an org whose last user login was in 2016.

CONFESSION #967

I worked a startup that had few processes and the few they had were constantly changing. When trying to better understand the processes so I could configure Salesforce appropriately I was told that my questions were perceived as me being difficult and trying to create roadblocks.

CONFESSION #966

Formula field on Account: Kim – Year 1 Discount for Match. Description says what the formula does & that it is only to be used by Kim.

CONFESSION #965

I just started a new job and a new company that launched salesforce less than 6 wks ago, the partner did not do them justice and I feel like i’m a little bit drowning. I have 9 q’s, at least 12 different teams, and 0 case record types. they are all working off of 1 page layout.

CONFESSION #964

That feeling when you write an Apex Helper class or a generic Lightning Web Component which is used by all other developers on the project team and you don’t even know who all are using it

CONFESSION #963

Work.com !!! Confusing / incomplete installation instructions. No field descriptions. Duplicate field labels in standard objects. Incorrect data model in help documentation. Nightmare.

CONFESSION #962

We’ve never defined the difference between a status or stage when tracking a sales process or engagement opportunity. I recently noticed that I’ve allowed 51 different statuses/stages for 9 (nine) different programs that need to be tracked… all within a single picklist field. Most of these 51 options are duplicative and only disenfranchise users from using the system. This is being escalated to leadership for review.

CONFESSION #961

4 different Admin/Consultants spotted issues with changes disappearing
1: Has anyone noticed any changes to things like page layouts, fields missing, automations being overwritten by older versions, etc., in production, recently, with nothing in the Audit log or in the inbound change sets?
2: We are launching a new org and we KNOW we did changes and then they just disappeared! We figured it had something to do with SF pushing the new release.
3: I added the “Manage Leads” permission to a custom profile back in May according to the audit trail, yesterday a user in that profile complains that they lost the ability to manage leads, sure enough the permission was off and there was no trace of the change in the audit trail. So happy not to be alone.
4: Some recent changes in permission sets seem to have disappeared in 1 of my customer’s orgs.

CONFESSION #960

A 130 line Case Assignment rule

CONFESSION #959

Okay I have to know who did this 8 years ago.
Field: LOB API Name: LOB__c Picklist: A, B, C….
Field: LOB. API Name: LOB_Formula__c Formula: If(ISPICKVAL(LOB__c,’A’),’A’,IF(ISPICKVAL(LOB__c,’B’),’B’,IF(ISPICKVAL(LOB__c,’C’),’C’)…))))))))

CONFESSION #958

Me: Salesforce is so customizable, it can do anything!
User: Can you change the gif on the screen loads to a picture of me?

CONFESSION #957

User: I can’t find this record and I need it NOW! Salesforce is BROKEN!
Me: This record hasn’t been touched in six months
User: Yeah…
Me: When it was deleted
User: …
Me: By you
User: …

CONFESSION #956

Once worked in an org that had 5 different “Event” objects and three “Task” objects

CONFESSION #955

What’s a better way to handle multi-select picklists ? Not just 1, but at least 10 or more on each standard objects. They’re all custom fields. I am not sure on how to handle this situation with the client and all those fields are coming in from hubspot.

CONFESSION #954

Custom Object called “Task”.

CONFESSION #953

A manager who was notoriously disorganized and panicky one day submitted a change request and insisted it was urgent. It really wasn’t urgent so it was prioritized normally. She kept asking for updates daily. Finally we got around to implementing the change and rolled it out. She immediately opened a support ticket, reporting the new behavior THAT SHE HAD REQUESTED as a defect. I clocked out early and headed to the nearest bar.

CONFESSION #952

Create a new email template. Create a new email alert. Email template isn’t there. Why? Because you forgot to click “available for use” on the template. Every. Single. Time.

CONFESSION #951

I just took over total control last week with one week training with the old admin. When I started I asked if they kept a change log of everything that they have done. The answer was no. Now I’m running into issues of problems that had been in the org that are just coming to light.

CONFESSION #950

Friday 4pm, deleted 4 ‘test’ Contacts that were linked to internal users. That promptly deleted all the related Events and declined them automatically. 100’s of calendar meeting events suddenly called out in terror and were suddenly declined.

CONFESSION #949

There is a field on my Org’s Account object called Account_Name__c. It’s a formula field. The formula is: Name.

CONFESSION #948

Customer has been making changes directly in production

CONFESSION #947

Hard coding employee names directly into a trigger!

CONFESSION #946

We had “inherited” an Org from another implementation partner and we were confused by the poor record page performance. That was until we we realized that they had used bare (no content) screenflows to trigger automations. After we had replaced those screenflows with automated flows, the performance got considerately better.

CONFESSION #945

Previous admin LOVED multi-select pick lists….

CONFESSION #944

Formula field on the account and the formula is Today()

CONFESSION #943

User asks — if I change this record in salesforce, will yesterday’s printout be updated

CONFESSION #942

I finally encountered a custom field that replicated a standard field. Our outgoing org (merging/re-implementing project in process) has First_Name__c on the Contact record. I’m sure there are more, but that’s the first one I came across. Good news…my counterpart didn’t do it & was just as flabbergasted as I.

CONFESSION #941

While researching options for a backup and recovery tool, told my manager we also need to create plans for incident response and disaster recovery. He replied that I needed to convince him we need such plans. I have to build a business case for creating a disaster recovery plan in the middle of a global pandemic.

CONFESSION #940

User called me an “Obstructive Bureaucrat” and threatened to come in to the office and cough on me. Why? I wouldn’t give them Admin credentials. Part of me feels like I’ve finally earned my IT Manager title.

CONFESSION #939

User: I only complete X process when all Cases are closed
Me: OK, I just checked the flow error and that Case was still open per its status
User: I consider Cases that have statuses that start with ABC and have been open a long time to be closed

CONFESSION #938

What to do when you have to explain how Email-to-Case works to Salesforce Support?

CONFESSION #937

I’m fudging fuming… and need to vent!
For at least an hour and a half tonight I’ve been trying to get past a challenge on the LWC superbadge… I had this line in my file; import {getRecord, getFieldValue } from ‘lightning/uiRecordApi’;

And that was failing… then just out of pure frustration I tried swapping the order of the items round to this… and it now passes; import { getFieldValue, getRecord } from ‘lightning/uiRecordApi’;

This has ZERO impact on the functionality… infuriating!

CONFESSION #936

If you have a mix of same-object PB updates and Flow together, your Flows won’t get re-evaluated to see the results of the PB. So, if you’re thinking of migrating, better think about doing it in one big leap (per object). And if you’ve got indirect recursion, you’ve got problems

CONFESSION #935

Trying to set up a separate price book for our online store. Asked for a list of skus being sold on it and the cost… was given a list of products without skus because no one’s made skus for them yet.

CONFESSION #934

Brand new user is unable to switch to Lightning, the option to do so isn’t on his screen. He says he googled it and I haven’t given him the correct permissions… Spent a half an hour looking into it on my end trying to figure out what’s wrong before going to get him to clear his cache only to find out he was using Internet Explorer.

CONFESSION #933

Just discovered that we have over 1 millions lines of undocumented Apex

CONFESSION #932

I just tried to set up Salesforce Google Drive integration with Files Connect and you know what? Team Drives are NOT supported! So you can only connect to personal Gmail accounts. How dumb is that?

CONFESSION #931

Not for nuthin’ but the only thing “quick” about the Quick Find box in Lightning Setup is how fast it freezes when you try to type something in it.

CONFESSION #930

I have a running Excel sheet for all of the Org changes that I had made – for one of the largest utility providers on the East Coast.

CONFESSION #929

I recently started consulting with a small business and they have dozens of accounts bring created daily automatically and they have no reason why.

CONFESSION #928

If you just heard a scream, way, way, off in the distance. That was me being asked “how much effort would it take?” to update 22 Approval Processes with 162 Steps…

CONFESSION #927

I just found that a client saves date-like values in number type field and then in the same object has a formula field that turn those values into DATE

Confession #926

I just got a 28 page Flow error.

Confession #925

Record migration team doesn’t get the word out that they’re completing mass upserts on several standard objects, while another team tries to test during the same time

Confession #924

Partner users cannot have the View and Edit Converted Leads permission. It’s breaking all sorts of things. This is not documented ANYWHERE.

Confession #923

When you spend 2 hours trying to build something for your sales team, to realize they asked for the same thing 2 months ago and it’s already built

Confession #922

My Org has two pricebooks called “Standard Pricebook”

Confession #921

Refreshing your sandbox before deploying all your work into prod

Confession #920

Summer20- now adds a Profile “Minimum Access – Salesforce.profile'” TWICE so change sets won’t deploy unless you remove one of them. Error message is blank so not that helpful. Team wasted 2 hours this morning.

Confession #919

Currently, the org that I have inherited all these contacts are saved under an Account called “none”. I just ran a quick check and this account has already like 60000 contacts, causing account data skew issues.

Confession #918

When you waste over an hour trying to get 1 single simple line of code working in your Lightning Web Component (import communityId from ‘@salesforce/community/Id’;), and you even copied it directly from the Salesforce documentation… only to discover that this functionality is being released in Summer ’20, and you’re still 2 days away.

Confession #917

Had UAT scheduled and users leave it until go live before testing, and you got a thousand emails about stuff.

Confession #916

Finance wants Closed Lost notifications to go to the same full company distribution list as Closed Won notifications. Ummm, so hey finance, what do you want the messaging to be? “You suck, and now the whole company knows” Talk about a morale booster

Confession #915

When you update a bunch of lead owners and forgot about the lead owner email that goes out when it changes. GAAHHHH!

Confession #914

Consultants working for another department move changes to production without going through any UAT and overwrite all your page layouts

Confession #913

I tried to remove FinancialForce from our Org by mistake.

Confession #912

Inside the company there are 6 Orgs all developed by different SIs, but no consistency of DevOps processes.

Confession #911

One of our top reps consistently closes opportunities incorrectly knowing they are not following process, so I created a validation rule. User name = xyz, stage = closed won, message “Since you don’t follow process, contact your admin to close this deal”. Your Welcome

Confession #910

Myself and two of the devs got an email from our IT department once. At a company of 1500+ people he let us know that we made up 0.2% of the people and were responsible for 50% of storage on our exchange server due to flow errors that would fire off when an integration batch job ran.

Confession #909

Six months of deep work on org development with a client and finally reached go-live last week…. Found out this morning that the operations lead and relevant stakeholders were let go.

Confession #908

I just started a new a new job as a senior salesforce admin. Salesforce needs to come up with a program similar to Carfax but for Salesforce orgs. I have been completely mislead on what was actually done and it’s like unraveling a rats nest of too many process builders, a bunch of flows that don’t really work, some code, and get this there’s even an S control in here. This org was maintained by a consulting firm for the last several years. This consulting firm is all over the place at Salesforce events. Salesforce consistently highlights them, but I want to scream from the rooftops don’t hire them because of how badly they messed up this org. There is also a cluster of custom objects in this or that have a very small amount of data not exactly sure what it is but when I tried to clean it up in the sandbox it causes all of this code to error out. This consulting firm now wants my employer to pay thousands of dollars to have them help me understand what was built and they are making it seem like I’m some kind of idiot even though I have been working As a salesforce admin for almost 7 years, and I have four certifications. I’m frustrated and I’m ready to quit only 6 weeks in. I like the company but this Org is such a mess I won’t be able to actually tackle any of the projects they want me to tackle until all of this is cleaned up and I just feel like I’m dealing with the Salesforce org version of a very bad hoarders episode.

Confession #907

When creating custom fields and labels, NEVER abbreviate words like “Cumulative” or “Analysis”.

Confession #906

When you start a job and 90 minutes into your first day, sales reps starting hitting you up with feature requests bypassing Product….

Confession #905

Have I ever told the story of how I committed to build a custom component for a company and forgot to check they weren’t on Professional edition? Ahhh, good times…

Confession #904

Switching from Connect Leader to Groove on a Professional Platform. Turns out CL managed package installed 4 Custom Objects and about 20 Custom Fields. Did it log calls as tasks? Nope! CL Call Logs! Now I don’t have any custom field space unless I uninstall… but do i re-create all that activity???

Confession #903

User created a new report folder to provide a vendor with api access to a single report, but when I tried to set the sharing permissions on that folder, it already had a bizarro collection of sharing permissions. I couldn’t change any of them. So I logged on as the user, discover that he’s using lightning, and this time see a message stating that the folder is inheriting permissions from a parent folder. And I’m like, parent report folder? What identifies this as a subfolder? How do I figure out what the parent folder is? How do I navigate through the top level folders looking for child folders? It appears as a top level folder in Classic with no indication that it’s a subfolder. In Lightning subfolders don’t appear unless I click on the correct top level folder and then scroll to the bottom of the list of reports there. How do I know which top level folders contain subfolders? Answer to all of the above: No clue. No way I could find in the GUI or online. I finally ended up deleting the subfolder that appeared as a top level folder in Classic and just created a new REAL top level folder, also in Classic. Problem solved (just shoot me now).

Confession #902

Spent the day figuring out why user isn’t receiving work from Omni-Channel. When logging in as user, receiving work normally. Finally found that there were two users with near identical names – one correctly set up that I was using, and one with the user’s real name.

Confession #901

I cannot / don’t want to migrate to Lightning because 1: It’s slow as a snail.
2: Irony is that first you have to refresh the entire page to re-render the refreshless features of #lightning on an idle page but with an active session. This doesn’t make me forget #Classic

Confession #900

I think I just set a new world record for longest Flow error email. A single email containing hundreds if not thousands of failed record after running a scheduled Flow. Was trying to create Campaign Members from it (we’re on PE), but got a whopping record locking error. Gmail is still loading the email after about 5 minutes of me scrolling through it.
Final Result:
Pages: 2,752
Words: 1,435,809
Characters (no spaces): 8,274,096
Characters (with spaces): 9,668,304
Paragraphs: 1,601
Lines: 108,704
*Statistics begrudgingly provided by Microsoft Word.
Lesson learned. Don’t use Scheduled Flows to get around Record Locking errors or small batch sizes. It seems that Scheduled Flows execute with batches of one.

Confession #899

Each request to make a field required or default breaks multiple test classes. On the upside, I’m getting really good at fixing failed test classes.

Confession #898

4 industries on Account, and 6 on Opp. 2 on the Opp are account fields, but set differently than account

Confession #897

When the new ‘vision’ leader for the Salesforce business side asks for access to download a Trailhead package into PRODUCTION so they can complete a badge!

Confession #896

Installed package setting doesn’t save properly and creates 55 pages of inactive picklist values that apparently would need to be deleted individually

Confession #895

Was on a call with a consulting company and he was talking about some great new lightning features. It was like he was trying to hurt me intentionally. Knife right into the heart. Just sitting here in my classic corner, sobbing.

Confession #894

Shared a QA sandbox with a different firm and they make breaking changes to that org because they don’t bother to run test code when they deploy to it…. and now we’re blocked from deploying.

Confession #893

Lightning is anything but its name

Confession #892

Process builder ruins my day. It throws so many cpu timeouts

Confession #891

We have Account pages taking up a long time (in mins) to load.

Confession #890

We had multiple users with admin permissions until 3 months ago. There is a lot of unnecessary fields, one off automation etc. No real consistent flow.

Confession #889

Need to do major overhaul of page layouts, transitioning JS buttons, etc so that the pages load this century.

Confession #888

Client asked if they need computers to access Salesforce.

Confession #887

User asked me for the URL for Salesforce.com

Confession #886

I’m trying to log in and create a case for a client, if I login with the production credentials I was given for their org, it doesn’t find a profile, if I login with my trailblazer profile it says no orgs are connected and takes me to an Org Picker page that doesn’t have any options. What am I supposed to do to open a case?

Confession #885

In the new Work.com Employee object there are 2 fields with label=EmployeeID. One for the employee and one is for the employee’s manager. And not a single field in any of the new objects has a description.

Confession #884

Client wants to create a custom Global Picklist for use on Lead/Acct/Contact/Opp/Campaign that would replace the OOTB Lead Source field and the OOTB Campaign Type field. My brain is like, NOOOOOOOOOOOOOOOOO.

Confession #883

Bug #1463112 “Cat sitting on keyboard crashes lightdm” : Bugs : Unity
14.04, locked screen to go to lunch, upon return from lunch cat was sitting on keyboard, login screen was frozen & unresponsive. To replicate: In unity hit ctrl-alt-l, place keyboard on chair. Sit on keyboard. Resolution: Switched to virtual terminal, restarted lightdm, lost all open windows in X session. What should have happened: lightdm not becoming unresponsive.

Confession #882

Recently ran into an issue where a managed package contained a custom field with a Field Name identical to a custom field that we already had. The managed package was not running properly and it took longer than I’d care to admit to figure out why. Is there a reason why no error was flagged from creating a “duplicate” field name, or why the package download didn’t just fail?

Confession #881

6 different fields capturing CRM integration info, 5 of them on the same object, all picklists with the same list of values. Oh, and most of them are required fields.

Confession #880

I was an admin for at least 7 years before I realized it was “Unfiled Public Reports”, and not “Unified Public Reports”. I still think the Unification of them sounds better.

Confession #879

“We know you’re a Salesforce expert we hired so we can do things differently but the team has decided that we want to ignore your recommendation and do it pretty much the same way, so that’s that.”

Confession #878

My Salesperson who thinks changing Account Names to a “.” to mark it for deletion is at it again….I’m waiting for the email telling me he can’t get into the system. I love the freeze button.

Confession #877

Task.Type and Task.TaskSubType are two different fields. Task.Type is human editable and is the one your users know and love. Task.TaskSubType is what determines the icon that shows in the Activity History

Confession #876

System is down – we hit a Salesforce DB limit they throttled us to 5% speed or something we can’t even deploy a fix for our bad code – I am on the 10th floor troubleshooting and trying to work out what is going on. 13th floor has the marketing team in a meeting with our CMO and the Salesforce sales team pitching marketing cloud as hard as they can. AE comes down to check on us – because I have sent him 10 million emails and says: “I think you guys should consider purchasing Salesforce Shield it may have helped you have better logs in this type of issue”

Confession #875

Having to actively avoid using the new Help Trailblazer.Me log in when needing to open a case for a client.

Confession #874

Took on a customer with an Org that had countless custom objects, and Activity History enabled on all objects with the number of tracked fields maxed out on all of them. They also had a huge web of processes, flows, triggers, and updates. The Activity History object was nearly full, and running reports or dashboards on Activities was super slow. Their solution was to write a trigger to delete any new Activity History records. Of course! Why didn’t I think of that?

Confession #873

The idea that we’re using Word, Excel, PDF and other tools to document is beyond absurd considering the breadth of the implementation.

Confession #872

We had a master-detail object to Accounts, and recently converted it to lookup. Turns out that doing that will blow away some report type. Now we have at least a hundred user reports that no longer load, since the report type doesn’t exist. Oops.

Confession #871

“Does anyone have any info on the incident taking place affecting visualforce pages? I am trying to avoid calling Salesforce support!”

Confession #870

Someone renamed the root asset library in files and thinks it belongs to only them now.

Confession #869

Getting pulled into 15 different directions. Service, chat, chatbots, new communities, knowledge, reports, marketing cloud, new data extensions, troubleshooting non technical error from users who didn’t pay attention during training. Regular users asking for admin rights when they have no idea and think I just turn things on…..

Confession #868

Field “Primary Address” has API name “MailingAddress”. Field “Mailing Address” has API name “OtherAddress”

Confession #867

Switched on the Adoption Assistant and the “Why are you switching to Classic” function over the weekend. My first 3 responses this morning…I can’t stand Lightning, I prefer Classic, and Classic is better.

Confession #866

You get a company-wide email from a rep about the deals in the pipeline for this new product the company launched & you respond asking him if an actual product was ever created in Salesforce or if he’s still working on spreadsheets and you get the response:
‘All spreadsheets, and will stay as such for time being. The crazy possessiveness is fear…we cannot let just anyone quote this and doing the quote is a moving target!”

Confession #865

We want 68 cross object formula fields. Don’t need to add them to the page layout – we need them only in the list views. 68 separate new fields on obj C that replicate values through lookup fields to obj A & obj B.

Confession #864

Vendor not on AppExchange integrates with Salesforce via OAUTH and then just adds metadata with no documentation. Oh look, new field on Opportunity and Campaign. Oh look, a new object. Did I mention there’s no sandbox option (tested in a dev org)? And that their support says “When in doubt, please use a Systems Administrator-level user to connect.”

Confession #863

My “favorite” user in a report to management: The Salesforce is terrible. It’s too clunky and doesn’t help me at all. The Admin is useless and wasting everyone’s time and money…etc. etc.. Management: Calls panicked meeting to discuss pulling the plug on the whole Salesforce investment and to yell at me (the Admin). Me: Very suspicious of favorite user’s motives. Checks login history (imagine an immediate evil smile). At meeting: Favorite user is going on at great length about how terrible Salesforce is and how there is nothing wrong with their post-it-note methodology blah blah blah. Me in the meeting: Finally, asked by management to explain my failures as an Admin to make everyone happy. I asked if I could present and went straight to setup>users>my favorite user. Then asked them if they were aware that Salesforce records login history… Moral of the story: If you’re a Sales Manager that hates change and technology, don’t try to avoid learning how to use Salesforce by trash talking the platform and the poor Admin just trying to get you setup. And definitely don’t base your trash talk on having “tested” the system when Salesforce automatically records that YOU NEVER EVEN LOGGED IN OR SETUP A PASSWORD!!!!

Confession #862

Just talked an ecosystem high profile client. Undocumented 12 yr old Org. They want to implement CPQ. GSI(1) recommended “start again with a new Org”. They get second opinion from GSI(2) – same answer – “Nuke It”. GSI(2) wins the work to rebuild, but this time with documentation.

Confession #861

Classes with API version 20 – over 20 versions behind the most recent one. Cannot be upgraded due to unit tests inside them, and possibly other such hacks. No one bothers with refactor.

Confession #860

When you’re doing additional testing in your next sandbox & keep getting errors on your screenflow because the previous admin made a handful of fields required at the field vs. page level & you’re not using that page layout & forgot to add those fields to your changeset.

Confession #859

Multi-org environment: Overall architect creates stories for all teams to install some new package required by Security Team, says there is no affect. I start seeing CPU Limit expectations, so created a new dev org, removed duplicate rules, and created 10k Accounts via Execute Anonymous = Success. Deleted accounts, emptied recycle bin, installed security package. Insert 10k accounts = CPU_TIME_LIMIT, Insert 5k accounts = CPU_TIME_LIMIT

Confession #858

3 exact same field types on one object:
Agent or Direct
Agent or Direct?
Is an Agent or Direct

Confession #857

Trying to create a report grouped by a custom ‘Status’ field and being presented with almost 50 variations of a status, Only to find out that said Status field is not a picklist, but a text field.

Confession #856

No UAT before pushing to production and then getting rapid fire request when ‘bugs’ are found

Confession #855

Because support finally figured out how to fix the issue where every time a sandbox refreshed, I had to login and immediately reset my password (no one else on the team, just me). For a number of months it didn’t take, so every login I had to reset. 2-4 environments refreshed every 2 weeks for the past 20-some months = so many password resets

Confession #854

Yes, we have Lightning. We login to it at first, but immediately switch over to Classic. We just find it too difficult, slow and clunky.

Confession #853

When an end user messes with your dashboard reports that are in a specifically labeled Dashboard reports folder. And are titled Do Not Modify.

Confession #852

A thing my customer just said: “We can do anything with Salesforce except for that we don’t have our actual data in the system”

Confession #851

Just joined a new company as a Salesforce Admin. They use picklist fields with users’ first and last names where lookup fields should be used and custom number fields for currency.

Confession #850

People who take Salesforce docs and turn it into a blog should be shot

Confession #849

New Lead/Contact field request: Marital Status and # of Kids…

Confession #848

The integration team moves to a new middleware platform with 12 hours notice and no QA signoff from the team but management decides it’s worth the risk because of another team.

Confession #847

And now with my boss leaving, our Salesforce Steering Committee thinks it’s a good idea to have the whole team unanimously approve EVERY request that comes in for a change. There are 11 people on the Steering Committee, including the CEO, so the CEO has to approve a picklist value addition.

Confession #846

#Appexchange Consulting page is broken, there are Gold partners showing up under Platinum, Silver and Platinum partners showing up under Gold, etc. Are the #AppExchange Listing tiers wrong or the page grouping listings into the wrong groups? I think all of us partners would gladly provide free QA services to the AppExchange team if they asked.

Confession #845

A senior consultant
1) created field in Account: “Modified Date and Time”
2) set history tracking on this field
3) set up a workflow rule (ISCHANGED) to carry out Field Update
With this _recursive_ process, after 3 months we have a 9Gb history file! The project mgr (w lots of certifications) and the consultant did not believe me — despite the evidence of a 9Gb file!

Confession #844

A client called me to implement some new requirement in their org as the previous internal Admin left the company. I found that 28 of the 30 active users were set as System Administrators… When I highlighted this to my customer, he told me that a dozen of them were not part of the company anymore! First workshop was around Profiles and Security 🙂

Confession #843

10 admins. Over 1,000 integration failure cases. 1 clerk performing a gap analysis on data solves the issue in a mass update, instead of trying to solve the case.

Confession #842

When I first started I wanted to have different record layouts based on the stage of an Opportunity. So I used Record Type for each stage.

Confession #841

We have an Org where the consultants had added custom objects and fields which typos as English was not their 1st (or 2nd) language. They are everywhere so we cannot change them.

Confession #840

I inherited an Org. The Opportunity object had been renamed to Project. And then someone had added a new custom object called Opportunity.

Confession #839

I had a horrible boss. I was the Admin and she dragged me along to a trade show. She wanted a file of leads uploaded to our Org. I normally want to check and recheck. She told me I only had 15 mins. I uploaded the CSV file and missed a column. Every contact name was replaced with a date. It took me 2.5 hours to fix it.

Confession #838

New job with a new company. The Salesforce instance is in shambles. Tests failing in production, copy+paste classes put in by a sales director, etc. Absolutely MUST deploy a piece of code by EOW, but code coverage is at 62%. Just deployed a fake class with 1001 lines that do absolutely nothing with a companion test class that tests to make sure that class does absolutely nothing. Brought coverage up to 77%.

Zen #25

Initial analysis for a client of their Org now takes 3 days NOT 2 weeks by using Elements.cloud which saves $8,400 in consulting fees.

Confession #837

I had an org that took a bit of work to get Dreamhouse MP out of last year because someone used the fields!!!

Confession #836

Deleted a softphone layout. Now most of the setup pages are broken.

Confession #835

Hard-coded start and end date variables in test classes, causing tests to fail on code deployments during most of the year.

Confession #834

For a week scratching my head why the standard CPQ contracting process isn’t working in one of the communal sandboxes….then realized the client turned off CPQ triggers

Confession #833

Found a checkbox under the section of the page layout called ‘Correspondence Opt Outs,’ so TRUE means the Account doesn’t receive the mailings and FALSE means that they do, but that isn’t indicated anywhere in the label or API name for reporting or data pulls.

Confession #832

I just joined a new company who has never had anyone with any real Salesforce experience. There are 56 profiles and 50 roles for 184 users.

Confession #831

Quick Create is on my short list of things I turn off immediately in a new org. Its a great way to create orphaned contacts. I once had an org with over 100k contacts with no accounts. Many of them the same name

Confession #830

we recently had some really annoyed users whose dashboard reports were all of a sudden inaccessible after we had removed a field. What we were not aware of was that historically when the field was created (lookup field) the system automatically had created a record type which was automatically made available standard out of the box with no knowledge of ours that this has happened. When the field, which we had created was retired and removed from view it automatically removed the record type and therefore all existing reports which were built using this record type. As the field in particular which we removed was not used we were not aware that this record type was there and this record type as created by salesforce was not shown on the where is it used list.

Confession #829

A new customer came on board. On first inspection of their org, we found that they had created a custom object and named it Cases__c. When we asked why they did this, they told us that Case is singular, and that they will have more than one Case per customer, so they clearly had to create Cases__c. Duh, I guess.

Confession #828

“We need a new Salesforce Org.”
“Why?”
“We ran out of licenses”

Confession #827

Working with a bunch of API names that are NOTHING LIKE the corresponding field labels and are so far from being actual words or logical abbreviations that you have to copy/paste them each time to get them right…

Or the reverse where you have a bunch of fields with exactly the same labels (I’m looking at you, “ZIP Code,” “Business Phone,” and “Mobile Phone”) and different API names.

Confession #826

Scrolling through Account fields: PhoneNumber1_c, PhoneNumber2_c,…. PhoneNumber10__c

Confession #825

Last Monday (April 06th) night, I found a prospect where his custom object has 762 fields, 2500 record types, and 1500 page layouts. I am staying in quarantine for the next couple of years.

Confession #824

Trying to make a change to one field that gets set through a process builder… come to find out, there’s one process builder that then each node invokes another process builder (total of 8 on the opportunity object). One of the invocable process builders just updates the opportunity name. A little excessive to do a whole invocable PB for one small update, but alright… The next node invokes the next PB that has one node – ‘no conditions! just execute the actions’ and the action is labeled ‘nothing’ and literally does nothing. Been at this 2 hours trying to document what all this is doing – still haven’t found where the one thing is that I need to update.

Confession #823

Oh look, the consultant created ANOTHER custom field with the exact same name and data type as a standard field on the same object.

Confession #822

Oh look, the consultant created ANOTHER custom field with the exact same name and data type as a standard field on the same object.

Confession #821

467 page layouts & 467 record types for a custom object

Confession #820

When your boss is let go who set up the entire org, its automation, and cpq

Confession #819

When you’re trying to figure out why a standard field isn’t on a page then realize its a visualforce page that looks EXACTLY like the standard page layout.

Confession #818

We have a formula field that looks like minified JavaScript.

Confession #817

Just in: Request to rename the Opportunity “Type” field to “Opportunity Type”

Confession #816

Recent exchange with manager
Me: it’s not working because someone turned off the code in the integration system in the last two days.
A manager : that code was NEVER turned on since the time the product went live, but clients were still able to place orders just fine. The codes are not magically changing from one day to another.
Me emailing another colleague; can you check the logs of the field on the integration system to see if the code was ever turned on?
Colleague : yes it was on when the product went live. It was accidentally turned off and I know exactly when.
Me forwarding email to ‘the manager’ : Magic!!

Confession #815

Client has just informed me that they no longer have an immediate need for an integration and will revisit at a later date, three days after I’ve finished the integration.

Confession #814

A flow is broken because someone changed some restricted picklist options.

Confession #813

Client is going to do testing in about 30 minutes, and they off-handedly mention that they want me to automate 11 email templates real quickly. “Should take like ten minutes”.

Confession #812

Your users are getting validation errors when sorting quote line items, but nothing looks like it should be hitting the validation rule. You investigate further, only to find out your previous product manager was changing a custom price field (which your validation field was referencing) and not the Pricebook entry, thereby causing the error. Now, you have to do a pull of all your PBEs to make sure they match the custom price field

Confession #811

When you ask a customer about the 2000 historic Leads nobody has touched. ‘Our Leads are complex it can take 2 years to close’. Then you explain about ‘Lead Lost’ status.

Confession #810

“Can you create a picklist of our (thousands of) accounts for the primary affiliation field so we don’t have to do any typing?”

Confession #809

Audit an Orgs data security model and found a permission set assigned to 1/4 of users called “Edit List Views”. Edit List Views has Modify All Data and Manage Users enabled.

Confession #808

I just uncovered a Process with 84 versions. And they don’t even have one process per object.

Confession #807

Because the forecast tab doesn’t use dated exchange rates and I have to keep explaining why there’s a difference between what is in the forecast and what is actually displayed on the opportunity.

Confession #806

Because the project I got pulled into two days ago had at least a month of meetings in preparation and today someone jumped on the call and said the whole project won’t work and they are going in a different direction. The silence that followed was enough, but the debate afterwards as to why they weren’t told was also worth it.

Confession #805

Working with a bunch of API names that are NOTHING LIKE the corresponding field labels and are so far from being actual words or logical abbreviations that you have to copy/paste them each time to get them right…

Confession #804

At a previous company all tables were actually just unique #s and you had to look up somewhere else to get table name. i.e. something like TBL1121021 was Accounts and TBL2423432 was Contacts (This wasn’t in SF at least)

Confession #803

User: Why wasn’t this email sent to this Contact?
Me: *pulls email logs, checks records* There’s no email address entered for this Contact. There has to be an email address or the system doesn’t know where to send the email.
User: Thank you for the clarification.

Confession #802

A client Org has everyone set up as System Admin. Additionally, there is a generic username license that someone used to log in and delete records and export data. I’m sure it’s all just a misunderstanding….

Confession #801

We had two resources spend one week to create a process build driven by two fields which have never been filled out.

Confession #800

PUBLIC SERVICE Announcement! If you make your mtg links PUBLIC you run the risk of some horrible sick person joining and flooding your viewers with disgusting images!! This JUST happened during our Ohana Wine catch-up! We had to end the mtg because we got infiltrated.

Confession #799

We discovered by using Elements that we have custom fields on Leads that are used in Apex Classes, reports and dashboards. And we don’t even use Leads. We ONLY use Accounts.>

Confession #798

We have over 170 custom apps. Our work seems to be work through them and deprecate the ones we aren’t using, and then 3 months later build them again as a new set of requirements pop back up.

Confession #797

Did you know that Salesforce will not stop you from creating an apex class called Test that then goes on to break any code that has Test.isRunningTest() in it? Also having a variable named “json” breaks all sorts of stuff. It took us forever to figure out what the problem was!

Confession #796

Please enter Twitter handle: enters new and old URLS
Please enter contact e-mail: enters main and backup e-mail addresses
Please enter contact phone number: enters explanation of why the contact phone number hasn’t been entered

Confession #795

When cleaning up the 1500 account dupes with a third party dedupe tool. And your manager says “well, just in case, export the list and dedupe in Excel afterwards”. What?!?!?

Confession #794

Local IP addresses (192.168….) whitelisted on profiles.

Confession #793

Had a user add not 1, not 2, but 106 contacts manually after I explicitly said to send me their list of contacts soI can format and load them in the system. Said it took him the entire day. Needless to say, all his entries were incorrect and were promptly deleted.

Confession #792

When you’re updating advanced criteria for a managed package, testing, and the thing doesn’t work after an hour and a half, then you realize you’ve been updating the description of the condition instead of the actual condition criteria…

Zen #24

I once shared administration duties with another person who couldn’t be bothered to learn the first thing about how to administer Salesforce, merely taking the shortest path to get any task done. For example, instead of learning how folder sharing works, she made all users System Administrators so that they could see all of the reports. I put a stop to this by creating a Validation Rule to throw an error any time she attempted to make someone a System Administrator. I made the error message something nonsensical like “Illegal action on system.create(User): Error code 0X776yuZw8bXx22. This action is not permitted in the current application state.” Then when she kept asking me if I knew anything about this, I just played dumb.

Confession #791

Discussion on forum over the course of a day involving 3 people (names changed to protect identities).

Mary :I am experiencing a frustrating issue with updating custom fields via Data Loader. Here’s my case… we need to update 35,000 contact record’s custom address fields. Yes, 35,000. When i try to use Data Loader’s “Update” function, it hits an Apex CPU time out error. So far, i have disabled all Contact record-related processes, which did not work, and also tried batch sizes of as low as 50 records for an update – still no luck. Can someone suggest some further adjustments? Thank you!

Pete: Have you tried dropping it down to 20?

Mary: Only down to 50. My fear is that if we need to do 20 at a time, with 35,000 total, it’ll take days….

Robert: Is the field you are trying to update tied to any automation? Is there any automation based on Edit on Contacts?

Pete: You must have a ton of automation on contact. You’ll need to look at triggers and process builder and see if you can improve anything.

Rob: Might not be on that contact itself, but automation somewhere that is referencing that field.

Mary: There is, but I’ve de-activated those processes and the error continues…

Rob: Triggers?

Mary: I have not set any triggers up…

Pete: Or maybe rollup fields from contact to account that is then causing automation to run there?

Rob: Did you check the Where Is This Used on the field? Just to make sure there isnt any automation elsewhere

Rob: Do you have any managed packages?

Mary: Yes

Mary: We have one rollup field

Mary: Checking now…

Mary: We did have one workflow that i wasn’t aware of. Would that be enough to cause preventing them?

Rob: You should check in Object Manager to see if there are any triggers on Contact. One or more of the managed packages might have installed one.

Mary: There is one from a managed package that checks duplicates. Should this be disabled?

Rob: I guess depending on what the workflow rules criteria is and what the action is as well.

Pete: It is so hard to say what could be the culprit without a lot of trial and error and poring through debug logs. Your rollup could be causing automation on the account to fire. The workflow could be doing a field update that causes other automation to run. The managed package could be causing the problem. It could be a combination of all of them.

Mary: It WAS the trigger from a managed package! WOOHOO!

Confession #790

I once shared administration duties with another person who couldn’t be bothered to learn the first thing about how to administer Salesforce, merely taking the shortest path to get any task done. For example, instead of learning how folder sharing works, she made all users System Administrators so that they could see all of the reports. I put a stop to this by creating a Validation Rule to throw an error any time she attempted to make someone a System Administrator. I made the error message something nonsensical like “Illegal action on system.create(User): Error code 0X776yuZw8bXx22. This action is not permitted in the current application state.” Then when she kept asking me if I knew anything about this, I just played dumb.

Confession #789

I need to do some Permission Set clean-up (and put into Groups), but there are a number of them I didn’t create & of course there’s no documentation on it so I don’t know what’s in a lot of them.

Confession #788

First day on a new project for a new customer, I notice that they have a custom object called Cases__c. Ugh. We tried to push them towards fixing that but they wouldn’t budge.

Confession #787

1200 lead to contact dupes. And leadership thinks it is ok and won’t be a problem…….

Confession #786

I ran data loader and instead of inserting the 500 records from the XLS it inserted 50,000 records and blow up my Dev Org. The only option was to create a new Org and spend days recreating the customizations and data.

Confession #785

I created a new Opportunity field in a sandbox, promoted it to production, then used Data Loader to update the field. Unbeknownst to me another admin had created a badly defined Opportunity Workflow directly in Prod. The Workflow fired every time an Opportunity was edited, and if the Opportunity Name was null, it closed the Opportunity as Lost. I have no idea what this was supposed to accomplish. But the end result was a whole bunch of incorrect email notifications going out about lost Opportunities. I spent days cleaning that up.

Confession #784

My first admin job years and years ago – Lotus Notes was the system of record because SF had dates that were 4-5 years past due on opps. 154 admins, out of date opps, and maxed out fields.

Confession #783

I have at least 5 for all the BU / Industry fields…one for each ‘data type’……you know…..just in case. I deleted 4 and moved the “data” if you could call it that to the standard Industry field.

Confession #782

People hated that I took Admin away first. Their biggest fear was what if we don’t have the fields we need? They just could’t just add fields.

Confession #781

5 Industry Fields on Account, 3 were text.

Confession #780

My first admin role was for < 20 users and excel was the SSOT because their "vp of sales" could flub the #'s .Once I got Salesforce humming and could report on opportunities after a cleanup, they quickly saw how lazy he was and NOT selling anything just collecting a paycheck, but he was one of the "good old boys", so instead they alienated me until I quit because i exposed flaws in their processes.

Confession #779

I’m forced to do a full system review right now and cleanup. We’ve been through 4 partners since I started and are getting a new one soon. We’ve got a hot mess for our system, and little to no documentation. Needless to say I need to pretty things up for them and clean it all up.

Confession #778

Every app I’ve tried to purchase has gone through at least six months of legal negotiation to agree on terms and conditions.

Confession #777

So after a great deal of troubleshooting we just realized that a managed package in our sandbox is somehow saving record data and metadata to and from our production org instead of the sandbox where it is installed…. :astonished:

Confession #776

Sales Cloud Einstein is predicting we’ll close the quarter with less revenue than we’ve actually closed to date. We re-established forecast settings first week in February so I’m wondering if that messed with the data. Went from monthly to quarterly forecast periods.

Confession #775

The assign user list has gotten a bit chunky and can take a little while to scan through all the names, has some dead or inactive users that could be removed (my personal favorite being “not used not used”)

Confession #774

Field created in 2012. No workflows, not on any page layouts, referenced in 20 reports. 6 million records, all blank. Referenced in a SOQL query in one class but never used or evaluated. Just queried for, and summarily ignored.

Confession #773

When you bang your head against a wall for a week to determine why a client isn’t getting Lead Assignment emails only to find out they had filtered all emails from Salesforce to a folder they forgot about.

Confession #772

User went straight to HR to gain access to “Add himself” to all the Opportunities he’s worked on…. HR came to my boss, copying me, and asked if we could give him access. My boss being way more PC than I would have been, said that it could cause issues “hypothetically” speaking if we just let him do that without the Opp Owner involved. “Not that he would ever” add himself to an Opp he didn’t belong on…

Confession #771

54,146 Email Templates. 114 MILLION tasks. 18 MILLION cases. 1.4x storage limit.

Confession #770

You check on a functionality requirement before the development has started and it wasn’t required. And then the demo with the client happens and suddenly it’s required.

Confession #769

Overseas developer turned off all of our process builders without notifying anyone. You can imagine the chaos that caused!

Confession #768

1.5 MILLION reports and 1.5 MILLION metadata items.

Confession #767

Moving too fast. Sandboxes not refreshed so out of sync. Development straight in production. Fields deleted by mistake. No documentation. No formal processes.

Confession #766

Company has an OBJECT called “Contact Nick Names” (yes, spelled just like that) to track people’s nicknames.

Confession #765

We discovered that Sales Reps were deleting Closed Opportunities to increase their % win rate.

Confession #764

Field deleted without checking with Analytics. And therefore Snapshots and Reporting failed. Lots of time spent remedying.

Zen #23

Needed some work done on a contact object for the product mgt team. Our Salesforce Product Owner was busy with a lot of projects for the Sales team. I mapped out my process, which helped to flesh out the requirement and specific needs. Our Business Analyst did not have to spend hours thinking about this, managed to implement this and update our processes in one morning because everything was understood.

ZEN #22

Zen #22

I’m so grateful to be in an org that appreciates security and how it works properly unlike my first org that learn what open sharing is from a customer overseas! 🙂

ZEN #21

Zen #21

1200+ Salesforce users. 100% logins. If it is is not in Salesforce, it doesn’t exist

ZEN #20

Zen #20

Our Group Sales & Reservations Team Managers worked with me to create a sales process in Sales Cloud to replace something like 15 spreadsheets and numerous post-its

Cassady Ludvigsen – National Ability Center

ZEN #19

Zen #19

Got a great Project Manager – game changer!!!!

ZEN #18

Zen #18

Consolidated the available report types down to 12 for the entire Org to support any report request

Evan Ponter – Lanvale Consulting

ZEN #17

Zen #17

Built a dynamic Einstein security models so that one dashboard and one model could serve one company from CGO to clients

Lucas Ribeiro – riverBI

CONFESSION #763

Confession #763

Remapped Contracts because of poorly tested requirements in a stale sandbox.

CONFESSION #762

Confession #762

We use Apex triggers because no-one knew about field dependencies. Also we created custom objects because no-one knew about record types.

CONFESSION #761

Confession #761

CIO Said “any monkey can do this.” Removed experienced, certified Admin with low-cost inexperienced outsider. They created such a mess in the Org that it had to be shut down and a new Org spun up.

CONFESSION #760

Confession #760

The Org has 12 Products and 38 Opportunity record types.

CONFESSION #759

Confession #759

I accidentally “admitted” 1300 students to our university. Luckily the head of admissions noticed and only a few had “enrolled”.

CONFESSION #758

Confession #758

Filling fields using Flow rather than formula fields.

CONFESSION #757

Confession #757

Users are getting errors when trying to save a PDF to a quote. It’s a couple users & they’ve tried different templates. Last night I rolled out a Quote Record type, but the quote with the problem is on the new record type. I’m just now realizing we have the ‘Notes & Attachments’ related list on the quote. It’s not ideal, but I updated the approval process to unlock the record after it’s approved.

CONFESSION #756

Confession #756

I inherited an org which had data from 2 acquisitions in less than a year dumped into the system with ZERO efforts to dedupe, and loads of “legacy XYZ field” fields from both orgs. It’s been 2 years, and I’m still finding things to clean up from these.

CONFESSION #755

Confession #755

We’re agile, but disorganized agile. We have a sync every minute from other db. No documentation of mapping so no-one knows the implications of making changes.

CONFESSION #754

Confession #754

My CEO called my cell telling me an entire program wasn’t showing up on any of his reports. The department manager had deleted that program record. I spent the entire night increasing security access and recreating data.

CONFESSION #753

Confession #753

Have you looked at any of the free Salesforce Lab Dashboard packages on the appexchange? I’ve used some of them as a baseline, then tweaked per our business.

I have never been to the AppExchange before. I will look. Thanks.

CONFESSION #752

Confession #752

Discovered a small org where an untrained person was serving as their admin. When new users joined, the admin just overwrote an inactive user account with the new person’s details because it was easier than creating a new one from scratch. Now you have a new user with years of history and out of context Chatter history…

ZEN #16

Zen #16

My CFO said to me “I hate Lightning!” right after we made the switch. Why? Because he couldn’t find the one report folder he uses. I “favorited” it for him, and now he’s happy in Lightning.

ZEN #15

Zen #15

I have filled 100% of my Custom Object descriptions – that’s over 110 Custom Objects documented.

CONFESSION #751

Confession #751

Spent 3 hours putting a change of process in live after weeks of designing and testing to needs of the requester to resolve an audit issue. By the end of the day, had to turn the new process off again as whole sales team up in arms about the process that they hadn’t been consulted on.

CONFESSION #750

Confession #750

Support agent I’ve been working with for weeks on a Lightning Out issue reveals they don’t know what an OAuth token is by calling it “some kind of reusable token” and asking to instead provide an “API Session ID”.

CONFESSION #749

Confession #749

User emails for a password reset because they can’t login to the sandbox using the production ID even though they’ve been emailed multiple times to append the sandbox name to their ID.

CONFESSION #748

Confession #748

I couldn’t keep from laughing upon hearing that a client wants to rip out their integration for importing Dated Currency Exchange Rates and instead have the numbers emailed to them from the bank and upload those, because the integration costs too much.
I still don’t know how they think they’re going to get the rates into Salesforce. Maybe using that “enable magic” checkbox?

CONFESSION #741

Confession #741

Found a process builder that was here well before my time that had criteria Formula evaluates to true and the formula was 1=1… I guess No criteria would have been too easy.

CONFESSION #747

Confession #747

Expired all passwords without notifying users.

CONFESSION #746

Confession #746

How many times do I have to tell Salesforce Support and our AE that we do not want to use Premier again? Premier Admin Assist messed up an import so bad that it took 5 of us over 2 years to clean it up.

CONFESSION #745

Confession #745

I’ve worked with a team to build out Service Cloud for their use successfully. One component of the team has asked for a many-to-many relationship between Cases and a custom object. This team did not like using the junction object and instead asked for fields on the Case details only eliminating the custom object and junction object. Now… they are asking how they can add many to many relationships for the same content. Luckily I only hid the custom objects knowing that we would come full circle.

CONFESSION #744

Confession #744

I worked as a Solution Architect/BA on a transformation project. I was not given access to the any of the tools to do my job (Jira…) by an offshore SI. I had to knowledge transfer and suffered for 4 months until I quit. They went pseudo live 2 yrs later with less than limited capability..

CONFESSION #743

Confession #743

I was called by a Salesforce customer via a friend that knows the CEO. Their implementation was done at high cost. When I logged into the Org I saw that much of the work was done by an offshore user. One one object they created 5 Record Types. But all 5 were assigned to the same Page Layout, and none of the picklists were customized.

CONFESSION #742

Confession #742

Interviewed with a company considering implementing salesforce but the guy leading the effort decides to want to build a Home Grow CRM. Asks me if I want to be part of this effort. No, I’ll pass and good luck with that. There is a reason why nearly all of the Fortune 500 use SF. Hello!!!

CONFESSION #740

Confession #740

I can’t get a lighting readiness report to run now in Spring 20 for a client. I guess the objects don’t want to be touched 🙂

CONFESSION #739

Confession #739

A user (who unbeknownst to me) had “view set up and configuration” permissions, sees the prompt about updating record page settings, follows the prompt instructions and inadvertently makes the activity component on every lighting record page disappear. Then when I set it back it changed the assigned custom lightning record page to a new default one for every record page I had created. Meaning I had to spend my day fixing every object that I had made custom lighting record pages and switching them back. Constant emails of “hey I can’t see this” “the layout is different in cases” all….day….long. Promptly removed “view set up and configuration” from said user.

CONFESSION #738

Confession #738

Clients learning to create fields have marked EVERY **** FIELD required instead of on the layout

CONFESSION #737

Confession #737

We have 154 customers with 300+ sites and salesforce has just changed the fundamental security model for sites. #whyadminsdrink

CONFESSION #736

Confession #736

I did a mass update of email addresses on contacts in the “sandbox”, to a few internal addresses, so during UAT, the users could simulate and test our real processes. I was worried they would actually send to one of our contacts…well, SOMEHOW, I managed to do the update in production…

CONFESSION #735

Confession #735

Client describes a CPQ product as what they want but balks at actually purchasing CPQ; wants a “roll-your-own” CPQ

CONFESSION #734

Confession #734

How about creating multiple custom objects…WITH THE SAME NAME! Like a custom object called Contacts or Reports or Accounts. ….I’m going to slowly step away from my electronic devices now and get me some Tums. I’m having some serious PTSD right now

CONFESSION #733

Confession #733

Oh look, the consultant created ANOTHER custom field with the exact same name and data type as a standard field on the same object.

CONFESSION #732

Confession #732

Consultant set everything in a new org as a custom build, all custom objects, custom pages using apex code. No declarative features. No workflows. No process builder. No roles. All users setup as system admins. No sprints. No training. No documentation. No surprise… it doesn’t work.

CONFESSION #731

Confession #731

Org reached its hourly limit for processing workflow time triggers. Processing will resume in the next hour. I am trying to run Email alerts on more than 20,000 Leads.

CONFESSION #730

Confession #730

Deployment for Community pages simply leaves out 1 page, which cannot be selected separately in a change set.

CONFESSION #729

Confession #729

Just ran all tests in a client org. Over 800 Apex Test failures, probably half of them due to issues with State and Country Picklists. Assertions failed, SOQL 101s, Mixed DML errors, Null Pointer Exceptions, etc. Probably no one will care, though.

CONFESSION #728

Confession #728

We have page layouts named after people who no longer work for the company

CONFESSION #727

Confession #727

We have 9M characters of Apex code. I KNOW there is stuff in here that is not called anymore, aside from the stuff that could be optimized.

CONFESSION #726

Confession #726

4 of us on 1 hour long call chasing through why Mailchimp integration doesn’t work. Turns out it doesn’t actually sync fields greater than 80ch even though you can add it to the sync mapping. e.g LongTextArea fields. Doh!! The only way to check was to add dummy fields directly into production.

CONFESSION #725

Confession #725

We had 83 installed unlocked packages in production. Nightmare to manage. we also experienced a sudden slowdown in installation times for no apparent reason; some of our packages were lasting 1:30h to build & install

CONFESSION #724

Confession #724

Inherited an org with no documentation that has a duplicate of the Lead object called Lead__c no one can tell me why we have it, everything is the exact same but I’m not allowed to delete it either….the real kicker…we don’t even use leads, just accounts and contacts!

CONFESSION #723

Confession #723

Was asked to back up a custom object before a major change set, turns out 90% of the 2000 fields were hidden from admins so would not show up in the backup!

CONFESSION #722

Confession #722

On the account object we have a custom field that holds the ID of the record (and no, it’s not the 18 digit case safe one, that also held in a field of its own too!)

CONFESSION #721

Confession #721

I found out recently I wasn’t the only one in the office with a pencil sharpener.

CONFESSION #720

Confession #720

We had an app that managed hotel rooms. A manager needed a report showing the rooms they had on one side of a hall – the odd numbered rooms. Someone created a checkbox field with the name “Is_Odd” which was true for rooms with odd numbers. They didn’t bother with a description of the field. Later, a manager asked me, “What criteria makes a room odd?”

CONFESSION #719

Confession #719

You’re using an e-sign app and they let their SSL certificate expire so couldn’t sign paperwork for almost a full day.

CONFESSION #718

Confession #718

Went for an interview with a well known brand, and they are going to have an offshore team build their basic Service cloud capability (OOB) and then later enhance it, because they trust their SI… No mention of BA’s, Testing, Integration… can you see any problems here?

CONFESSION #717

Confession #717

Have a client who envisions having a front-end web form for case creation that asks at most two questions, with no more than 5 picklist values, and somehow magically routes things correctly to one of 150+ different provider groups without human intervention.

CONFESSION #716

Confession #716

Salesforce Marketing: Our platform allows you to do anything! So customizable! So flexible for your business needs!

Salesforce Support: So once you customize something from OOTB features, we can no longer support it.

CONFESSION #715

Confession #715

“We’ll never use 32k characters in this field. That’s more than enough!”
Yes, I have it in writing. Yes, a record just hit that limit. No, I’m not going to “just change it”.

CONFESSION #714

Confession #714

The best is when the CEO unintentionally deletes an entire custom object instead of deleting a specific record…and then the rest of the organization responds with…WTF

CONFESSION #713

Confession #713

I’ve seen thousands of data loads gone wrong and had to clean up hundreds of “Inactive Picklist” values because of it. Remember to check your data **before** you upload it.

CONFESSION #712

Confession #712

A custom field on the account object. Not on any page layout. Updated by Process Builder for Opportunity, conditioned to run only when account belongs to Division ‘A’. The field is on 8 report types, and only appears on one report written for Division ‘B’.

CONFESSION #711

Confession #711

Before my time, we moved to SF from two different CRM tools, to this day (almost 10 years later) I’m still finding duplicate fields on the same object (example on contacts we have “status” and “contact status”).

CONFESSION #710

Confession #710

The Case Object was renamed and hijacked for a rarely used QA process. Then a ticketing system with LESS functionality than a basic Support Process was implemented that has cost the company hundreds of thousands of dollars over the course of several years.

CONFESSION #709

Confession #709

Our original Admin decided that a field was no longer needed/used. She changed the API name to have an ‘x’ at the beginning. 30 seconds after hitting save the help desk phone started ringing. A lot.

CONFESSION #708

Confession #708

Working with Managed Package issues in Production.

CONFESSION #707

Confession #707

I deleted one custom field that blew up 40+ reports, 3 dashboards, and two weeks of my life.

CONFESSION #706

Confession #706

Walked in after a holiday to find out that one of our new employees refreshed the full sandbox without telling us.

CONFESSION #705

Confession #705

Started consulting on a project that gave us no access to Production. I worked on it for a year and never saw Production…ever.

CONFESSION #704

Confession #704

Company owner wanted a bonus and commission structure for a team of ten sales reps, paid proportionally only when the customer paid us. COO and I fought him, this will take five people nine months to do and isn’t worth it. He pushed anyway, we built it, and he scrapped it in month 11…

CONFESSION #702

Confession #702

CONFESSION #701

Confession #701

Accidentally created 16,000 blank records in addition to what was meant to be uploaded with my first data load. Learned how to mass delete shortly after.

CONFESSION #700

Confession #700

I inherited an org of 80 users with 23 System Administrators and 25 profiles because no one understood permissions! Most of these users felt they “know their way around Salesforce” enough to keep their access. *cringe* First thing I did was the tough job of breaking the news to users and C-Level execs that their Salesforce access was demoted.

CONFESSION #699

Confession #699

For our Case object we have 50 record types & 97 page layouts & multiple assignment rules. This is making a move to Lightning a major challenge. We have so many javascript buttons on page layouts but knowing which page layouts are even used would massively simplify the migration effort.

CONFESSION #698

Confession #698

Ran out of fields on the Account so have an object called Account2

CONFESSION #697

Confession #697

We have an object called Account_backup and Contact_backup which were created during a migration. But we don’t need them any more, but I cannot persuade the team to delete them.

CONFESSION #696

Confession #696

Today I had to provide step-by-step instructions to a Sales Rep on how to access a report in a folder with his name on it. Somehow the first time wasn’t clear enough & he needed me to repeat this three times.

CONFESSION #695

Confession #695

A C level exec yelled at me saying “I’m the f**king C*O I get whatever access I want”.

CONFESSION #694

Confession #694

When you’re building a new ORG and the new license doesn’t have Data.com so they pull Data.com from your existing ORG and basically destroy your data.

CONFESSION #693

Confession #693

Client demands we move fast in order to save money, complains we’re moving too fast for them to keep up with providing the requirements

CONFESSION #692

Confession #692

The user says he couldn’t see all new Leads. Turns out he has been creating Contacts instead.

CONFESSION #691

Confession #691

For entering Leads the customer first created the Account record then attached the Lead to it. Naturally the Lead conversion process did not work very well.

CONFESSION #690

Confession #690

Customer has changed labels of standard fields and then created custom fields with original name of the standard fields that were renamed. Confusing!!!

CONFESSION #689

Confession #689

Salesforce AE sold us on a new Salesforce Org with Lightning Enabled as part of a new contract. We have about 2.5 months to move an org with 8+ years of customizations and tons of data into the new environment. I just found out that we could stay in the current environment and just enable Lightning but this wasn’t mentioned to us before we signed the new agreement.

CONFESSION #688

Confession #688

Giving ‘view all data’ to a profile because an assistant said she needed it

CONFESSION #687

Confession #687

“The password is ‘password’. Don’t tell other people” – quoting my manager

CONFESSION #686

Confession #686

Team member repeatedly leaving their desktop unlocked when they walk away from their desks – with the org open

CONFESSION #685

Confession #685

I found a field in my org that was supposed to be a time stamp but instead of populating the date with a workflow [someone], created a formula field of with ‘Today()’ as the value so it always said todays date

CONFESSION #684

Confession #684

Data, Data, Data quality issues. Mulesoft MDM is hopefully the holy grail)

CONFESSION #683

Confession #683

Change Management is about Adoption, not Training

CONFESSION #682

Confession #682

Director of IT said ‘just put everything in the org in 1 field’

CONFESSION #681

Confession #681

Wrong code deployed to production due to multiple sandboxes and lack of devops tools to keep environments in sync.

CONFESSION #680

Confession #680

When gathering requirements a department lead gave me a dusty binder of handwritten notes and said she was retiring the next day

CONFESSION #679

Confession #679

More profiles than users – 100’s

CONFESSION #678

Confession #678

It takes 6 days for Zendesk support to get back to you over their dumpster fire of an integration, so you schedule an 11:00 pm est screen share with the offshore resource just to get it taken care of because the app spiked your API calls by 65k today

CONFESSION #677

Confession #677

We work on 2 week sprints & use multiple environments. I’m the only person on my team who has to reset their password in every environment every single time we refresh an environment; sometimes it doesn’t take and I have to change it on each login. Salesforce support continues to be stumped as to why.

CONFESSION #676

Confession #676

2 identical Validation Rules in the org, created minutes apart. The only difference is that they execute on different record types…. because the Admin who created them didn’t know how to use “OR” in the formula.

CONFESSION #675

Confession #675

Too much customization. Too many lines of Apex code. Excessive permissions for business users.

CONFESSION #674

Confession #674

User called up help desk to ask for the URL for salesforce.com

CONFESSION #673

Confession #673

Customer wanted to develop on Heroku using air-gapped secure systems (not connected to internet).

CONFESSION #672

Confession #672

New Non-profit Admin disabled all our Sandboxes. He got Salesforce to fix it, still not sure how he did it.

CONFESSION #671

Confession #671

Customer had objects (Multiple) with the same labels but different API Names that did different things in the data model. And then wanted a custom integration built within 30 days.

CONFESSION #670

Confession #670

My company had 3 stage fields on the opportunity.

CONFESSION #669

Confession #669

Anyone with “login-as” user access could login as system admin and make changes… ANY changes.

CONFESSION #668

Confession #668

No leads associated with accounts. ALL leads have a “company” field.

CONFESSION #667

Confession #667

100+ fields on Opportunity, data so bad that the object is not query-able for reporting.

CONFESSION #666

Confession #666

My CEO requested a checkbox that made no sense whatsoever. When I tried to ask him and understand the real underlying requirement, he answered with “I don’t pay you to think, I pay you to do what I say.” That day I updated my CV. I am now a Solutions Architect.

CONFESSION #665

Confession #665

Modifying Flows in Production.

CONFESSION #664

Confession #664

User loads data. Data is duplicated. User tries to fix. Takes out more than they put in.

CONFESSION #662

Confession #662

A questionable Admin deletes 200 Account records thinking they were in a Sandbox.

CONFESSION #661

Confession #661

We’re at the field limit for 4 standard objects.

CONFESSION #660

Confession #660

We have a picklist set with hundreds of values controlled by a picklist set with about 40 values. Each time a new value is added, the controlling field needs to be updated.

CONFESSION #659

Confession #659

Had a client that had 2 admin departments. They had more than a few duplicate (identical) fields on the Opportunity object and would use Profiles to control visibility. Same exact label. Same picklist values. Slightly different api name.

CONFESSION #658

Confession #658

Testing something in Prod finds problems faster then Sandboxes

CONFESSION #657

Confession #657

That special moment when you look in a #Salesforce org and stumble on a Lead Record Type called “New Task on Lead.”

CONFESSION #656

Confession #656

Instead of using the “merge” function, lighter heads have decided to go with an account type called “archive” where we move all the duplicate Accounts and set this data type on “hide” so that no one can see that the account was already introduced twice in the system… Every following duplicate entry will then be “archived”.

CONFESSION #655

Confession #655

We created a second “Account Team” object, because the project manager at the time of implementing Salesforce – wanted to replicate with name and all, an object from our old CRM System. Now that she is gone, guess what project we are starting: “SF Back to Standard..” yup…

CONFESSION #654

Confession #654

We have 1.2 million Accounts in Salesforce. We connected our Salesforce with “a very important system – the future of the company” that can only process maximum 40 records at a time without having to restart all the interfaces and servers.

CONFESSION #653

Confession #653

Debug functionality doesn’t work, have to keep changing the run time in 15 min increments to test any changes in Flow. Using Sub Flows of the actual actions so can use the debug mode.

CONFESSION #652

Confession #652

Critical Update breaks processes. If you use PRIORVALUE in a formula and the PRIORVALUE is null, it breaks. So watch out for Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas. Need to make a simple process to see if I can get something to send to support.

CONFESSION #651

Confession #651

Our Business has created 10,000+ new Email templates(Word Doc) that needs to be migrated in a certain folder. Is there a better way to migrating them all at once rather than doing them manually.

CONFESSION #650

Confession #650

I’m a new admin and have a lot of doubts. I really would like to talk more with people from salesforce admin, to take my doubts and to gain some experience. Is this kind of possible? 🙂

CONFESSION #649

Confession #649

Reminds me of a place where the dev made his own custom contact and account objects called Person and Organization, because they didn’t like the label.

CONFESSION #648

Confession #648

As a consultant I can often confirm the words “we just want to make one small change” in a scope review brings a sense of dread.

CONFESSION #647

Confession #647

2 Fields: Sub Total & Subtotal

CONFESSION #646

Confession #646

It feels like SF apply a Fibonacci sequence to the time delay of each successive change set being ready to deploy in Prod. #GetItRightFirstTime

CONFESSION #645

Confession #645

We found someone using an ETL tool to move data from a Salesforce Org right back to the same Salesforce Org to work TL tool to move data from a Salesforce Org right back to the same Salesforce Org to work around order of operations and system limits. Clever and tragic all at once.

CONFESSION #644

Confession #644

Client has 280 record types on the Account and every time they got a new customer they added new fields.

CONFESSION #643

Confession #643

As part of a large project, I deploy 3 List Views via a Change Set. 4 days later, our Sr. Strategy Manager (and Project Manager & owner of our Org) deletes the 3 List Views. 10 Days later, asks me to investigate why users can’t see those List Views that were required for the project. Sometimes I feel like a hamster running in a wheel.

CONFESSION #642

Confession #642

My favorite API Naming:

API Name: Apples_c, label: Bananas

API Name: Apples1__c, label: Apples

CONFESSION #641

Confession #641

Support call yesterday. Panic as @elements_cloud didn’t seem to be calculating %filled for standard field “Middle Name” correctly. Fortunately, able to pop the @elements_cloud right panel in the Contact record and it page showed that a previous Admin had created a CUSTOM field “Middle Name” and that was on page layout and was being populated, not the standard field.

CONFESSION #640

Confession #640

One drink for simply using Clicktools. The company has been bought & sold several times over the last few years & fails to update their support reference resources. You’re 10x more likely to hit a broken link or phone. Got an email to close my case (references their old & current owner), the link sends me to an undeliverable email. :fail:

CONFESSION #639

Confession #639

Turns out the permission set assignments don’t deploy on the change set – as any sane person would expect.

CONFESSION #638

Confession #638

Solo Admin was told “Your technical questions are perceived as you being difficult and trying to create roadblocks. Don’t ask questions. It’s your problem to figure out.” Advice from the ecosystem “Find a new job”.

CONFESSION #637

Confession #637

One of my clients orgs got upgraded to spring 20 on Friday and it’s breaking critical functionality around force.com sites. Have some functionality that sends emails and it’s failing with INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY. I don’t get why these security changes weren’t released as critical updates like everything else.

CONFESSION #636

Confession #636

Having the bi-weekly conversation with your manager in which you have to explain, again, why you won’t just email them the password to a website. And point them, again, to the password manager they have installed and explain how it works.

CONFESSION #635

Confession #635

I must have accidentally deleted my trailhead org that I was doing an Aura module in that only had 1 section left. Welp, its required for Advanced Apex Specialist superbadge… doh.

CONFESSION #634

Confession #634

I have been informed that I need to dedicate time to a Jira integration that needs to move to production this weekend. The above statement wouldn’t be so bad if I had been involved in any part of the project up to this point. I spun up a dev sandbox like 5 months ago for a user…that was the last time I heard anything about the project. I have no documentation… No scope. No sense of what needs to be done. I was told that if I’m not available, I could always make that user an admin and just let him do what he needs to do.

CONFESSION #633

Confession #633

Processes that don’t use “Do you want to execute the actions only when specified changes are made to the record?” and screw everything up when you do a data update.

CONFESSION #632

Confession #632

Work on implementing Salesforce for 8 months including some really complex automation. Go to three separate sites across Canada in the middle of winter to deliver in-person training. The thing that the Sales users are most excited about is the confetti when they close an opportunity…. Thanks Salesforce product management.

CONFESSION #631

Confession #631

Discovered 128 sharing rules on a single Object, and there are less than 600 records in that Object.

CONFESSION #630

Confession #630

Someone didn’t understand multi-currency so created a new salesforce org for each country.

CONFESSION #629

Confession #629

CONFESSION #628

Confession #628

We’ve invested a fortune in all things Salesforce and we’re having to cut back on all non-mission critical areas, like Org documentation and impact analysis.

CONFESSION #627

Confession #627

Developers are never able to replicate issues reported by the testers in their machines. Now, who can tell them that we are not going to deploy their machine for the end-users?

CONFESSION #626

Confession #626

Was using a Lightning Component built by a developer in a Customer Community, which was always giving an error. Did a ton of debugging over 3 days virtually checking each line, profile, access, sharing, browser; and finally found that the object was still in “Development” status, and not in “Deployed” status.

CONFESSION #625

Confession #625

Migrating from Dynamics and Insightly to Salesforce, with 2 (what was guaranteed that they were separate DB’s)once imported and merged. Found out that 80K contacts were duplicated.

CONFESSION #624

Confession #624

I think I am on the most annoying conference call of my life. I’ve gotta live tweet this just to stay sane.

Let’s start with the presenter, a #developer has the slowest Mac I’ve seen since my iMac days.

He starts by complaining that it’s 9:30 pm for him. Guess what time it is for the rest of us, buddy? And guess who didn’t respond to our requests for a meeting DURING THE DAY that we’ve been sending all week?

And now, of course, he mysteriously stops screen sharing while he “works.” I didn’t give up my night to hear a keyboard clacking.

Hey, conceited, I get that you’re a fancy #developer and all, but we all understand XML … because we wrote the XML we gave you.

Behind the scenes, the person who hired this guy messages me, “I want to punch a hole in a wall right now.” Truer words, my friend…

Now he’s getting super defensive. “I didn’t know this call was supposed to be about this. I didn’t know this was due tomorrow.” It’s not due tomorrow, it was due two weeks ago.

Sooooo happy there’s a Project Manager on this talking sense. Thank you for bringing us back to the point. #ILoveProjectManagers

Our developer: Go to line 21 and make this exact change

Evil developer: Okay, just tell me what you want me to do

WHY DOES IT TAKE YOU 5 MINUTES TO DELETE A CHARACTER?!?!?!

I love that instructions we gave at the very beginning of the project … last August … are still being ignored. Seriously, I love being ignored. Love it.

CONFESSION #623

Confession #623

Our opportunity object has 400 fields, some of which are formula fields that are used to display an image in other fields alerting the user viewing the record whether they are the record owner.

CONFESSION #622

Confession #622

Purchased a full sandbox for the first time to use during a massive SF revamp project. Did not realize that, unlike in dev sandboxes, community user data is not masked. Added community user profile to new sandbox community and inadvertently sent 50,000 welcome emails to users who had been in our community for years.

CONFESSION #621

Confession #621

We’ve got a custom object named: Opportunity Product

CONFESSION #620

Confession #620

So you wanna laugh? Here you go and it’s not even our fault! It’s Salesforce’s fault and we are stuck with it So we chose our my domain thoughtfully… LOVE.my.salesforce.com Be honest…. beautifully crafted. Genius right?!

Until you actually have it and everytime you log-in in Lightning it seems to add some characters before it actually propagates. You wanna know what we see in those split seconds?

Love…..

WAIT FOR IT….!!!

Love.c-um.my salesforce.com

Really Salesforce?!!!

CONFESSION #619

Confession #619

Just started new role. So far, I have logged into 4 different Salesforce Orgs using 3 different username/passwords…. not including Trailhead

CONFESSION #618

Confession #618

We have a confetti of CRAPlications. Lots of tactical little apps. Maybe that is why we have 757 custom objects.

CONFESSION #617

Confession #617

Called a Custom Object Custom_Object__c and wondered why LEX was behaving strange…

CONFESSION #616

Confession #616

Out of 12 users, 10 are admin including an outside marketing company. Nobody can explain why an outside company needs admin privileges but the CEO doesn’t want it changed. He’s also upset that the sales team doesn’t really use SF but he doesn’t want me spending “too much time” making it more user friendly and training the sales team, since SF admin isn’t my primary job. He hasn’t logged in for over 10 months.

CONFESSION #615

Confession #615

This week in a Spring20 sandbox, my company realized that several pages of our Communities had broken thanks to new permission restrictions for Guest Users due to become mandatory on March 1. The release notes instructed how to reconfigure your org “if needed,” but didn’t explain why you might need to do so.

CONFESSION #614

Confession #614

When someone offhandedly mentions that they’re expecting you to deploy features by Monday. Work is done (thankfully), but now I have to go through the process of getting an expedited release approved since it wasn’t documented anywhere.

CONFESSION #613

Confession #613

My soon to be old boss, 3 more days and I am moving to a new job, has me filling out a long “How to do what Jim does document”. There is a section entitled “How to write reports”.
1: grab pencil
2: grab paper
3: write ‘R’
4: write ‘eport’
5: add an ‘s’ if plural
You have now written Reports

CONFESSION #612

Confession #612

Working in a Sandbox for a client that hasn’t exactly performance-tuned in a while. Loading a Contact page took over 10 seconds. In Classic.

CONFESSION #611

Confession #611

My previous employer was in a hurry about everything and could not effective prioritize needs. As a result, when I left I was never able to implement an accurate security model. I honestly feel bad for the admin that replaced me for the mess I had to leave behind.

CONFESSION #610

Confession #610

We have a “ThorSt” field… for formatting a date as the 4″th” or 1″st”

CONFESSION #609

Confession #609

Our CEO gave himself admin rights to add a custom field on the Account Object, the custom field was called ‘Industry’.

CONFESSION #608

Confession #608

So we have salesforce at work and I have been given admin rights. I really want to look into learning properly and get my admin certification. Is this best to do via trailhead modules?

CONFESSION #607

Confession #607

I’ve been running reports for senior managers for almost a year. Had to update a dashboard and realized that one report has been set to 1/1/16-12/31/16, presumably since 2016. No one has noticed.

CONFESSION #606

Confession #606

I just accidentally removed system admin access to a community and now I can’t access the page to add it back.

CONFESSION #605

Confession #605

Completed an org merge project only to have the client dissolve one of the entities once done.

CONFESSION #604

Confession #604

Dumbfounded by an issue, couldn’t even figure out what happened / changed that tests weren’t passing in org. Did a ton of debugging, checking field changes, perusing the Audit log.. Eventually figured it out.. someone disabled Email Deliverability in this sandbox.

CONFESSION #603

Confession #603

Have an org with fewer than 40 users. 4 of them are system admins, including the integration user who for some reason has full system admin access.

CONFESSION #602

Confession #602

Worked at a place with 2+ million contacts attached to a single Account record named “Individual”. They turned on an integration to allow people to self-service update contact information. Bad things happened.

CONFESSION #601

Confession #601

Had to explain to CEO for the 3rd time that you can’t have 1 field answering 2 questions because it invalidates the data. But they get personally offended every time.

CONFESSION #600

Confession #600

During a conf call. Saying to your colleague (who is not in the call, just sitting next to you) that this conf is boring. And then realize that YOU ARE NOT ON MUTE.

CONFESSION #599

Confession #599

If I can’t test escalation rules in a Sandbox, how am I supposed to know that they work before putting them in production?

CONFESSION #598

Confession #598

Marketing guy goes through all new Accts created by CS reps, cks to make sure not dup, if is dup adds contracts to old Acct, ok great. But doesn’t communicate w/ CS Rep or their manager to teach them how or where to search b4 creating the new Acct. He just deletes the dup. When I explain why I changed delete privileges and about teaching, training the CS Reps and their manager, he’s not happy.

CONFESSION #597

Confession #597

My sales team wants to change the Multi-select picklist (that I tried to convince them was a bad idea 4 months ago) to a regular picklist.

CONFESSION #596

Confession #596

Who demands deployment to go live 1/1? Seriously?

CONFESSION #595

Confession #595

Hello! I am brand new to Salesforce, we just fully launched last week – yay!

CONFESSION #594

Confession #594

Customer had datestamp ’16.dic.2019′ They wondered why and said it’s been there since they got Salesforce… Their admin had changed the region settings resulting in a foreign language timestamp a week ago.

CONFESSION #593

Confession #593

Talked to a potential client about an org merge for 20 minutes at the end of which they said that we would not be able to see the data due to restrictions with their customers, even with an NDA. They were very surprised when I said that seeing the data was paramount.

CONFESSION #592

Confession #592

Client asks you to update the Account Type field, but they have a custom Type__c field and they renamed the standard one to Vertical, and you choose the wrong one in Data Loader.. #StopRenamingStuff

CONFESSION #591

Confession #591

I had a manager who decided they wanted to take a shot at playing admin…in Production. Don’t worry…I’d find out once it broke because they’d shamelessly come to me telling me to fix it. They constantly complained about other teams not following change management though…

CONFESSION #590

Confession #590

We created a Sandbox with a ton of demo content for our entire sales and consulting team to show off our product. It was first used at Dreamforce so they named it DF-Demo. So after Dreamforce it was deleted. Doh!!!

CONFESSION #589

Confession #589

And then there’s the user who was getting Approval Process emails for Opps. He just had to hit Reply, type Y or N, then hit Send. But that was too much work for him. He wanted to know if there was a way he could just reply and not have to type Y or N. Like Salesforce could magically divine whether to approve or reject it….

CONFESSION #588

Confession #588

Found a permission set named “Basic Reporting.” In addition to granting basic reporting privileges, it also granted Modify All.

CONFESSION #587

Confession #587

Posted in Lightning! NOW Success Community “Do we need to make any changes in existing customizations and configurations before Lightning transition? If so,let me know the issues that may occur.”

CONFESSION #586

Confession #586

User says they are not getting Chatter emails. Sent them a screenshot of their inbox with the chatter emails visible. They still don’t believe me.

CONFESSION #585

Confession #585

Discovered client making changes in Prod and in Sandbox (that are not the same) days after the deployment.

CONFESSION #584

Confession #584

Comment from Project Manager in JIRA user story: “Proper test data cannot be created in UAT with reasonable effort within the given timeframe. We will validate in production”…

CONFESSION #583

Confession #583

Custom owner field on Account.

CONFESSION #582

Confession #582

Having to add 3 picklists to Case for birthdate (day, month, year) cbeause that is how the legacy system they are migrating from is formatted. It gets better, day is a number range of 01-21, month 01-12, and year 1900-2020.

CONFESSION #581

Confession #581

When you’re on a “code freeze” and your manager says to “just do it in production”. :sob:

CONFESSION #580

Confession #580

CSV “parser” working by splitting file content by ‘n’ and ‘;’. Until they realized that fields may contain new lines, commas or semicolons…

CONFESSION #579

Confession #579

Client asks you to merge over a 1000 dupes.

CONFESSION #578

Confession #578

Had to rewrite a bunch of stories because the person who created them didn’t capture all of the requirements and actually left a bunch of open questions before they were assigned out.

CONFESSION #577

Confession #577

I was talking to our Sales Manager and commented “Our org looks like it was set up by a hyperactive two year old”……..he responded “Are you calling me a toddler? I built it”

CONFESSION #576

Confession #576

We hired a large partner to help us with our Salesforce Implementation. One of the business requirements was for the ability to add an attachment on an opportunity, and then classify it from a set list of values. At the end of the sprint when the partner demoed the functionality, what we got was a field called “Attachments” with the list of drop down values. Say what???

CONFESSION #575

Confession #575

In attempting to find out why users were able locked fields during a training, we discovered that for the training, 26 individuals had been given system admin level access to the staging sandbox just weeks before deployment to production & go live. It was not a good morning for our blood pressure.

CONFESSION #574

Confession #574

We have one user account that is used by all team members.

CONFESSION #573

Confession #573

Our org cannot assign the correct records to your org. Can you create an error on your end so both cancel each other out?

CONFESSION #572

Confession #572

We have two checkboxes in Cases: one for “Open”, and one for “Closed”.

CONFESSION #571

Confession #571

In 2007ish (prior to me having a sandbox) I turned on person accounts to see what they did. I wasn’t able to turn them off. Luckily some nice person at salesforce took pity on me and helped me hide all of it.

CONFESSION #570

Confession #570

Code review: reviewers arguing about spaces vs tabs, variable names and similar trivial stuff, and no one checks the actual logic.

CONFESSION #569

Confession #569

I worked with a large food delivery company as a BA and we had a Tech Architect who never documented his solutions and he got his cronies to do the Dev work. He was being paid a ton of money to work from Eastern Europe. We had 3 projects running in the same sprint for 6 months. I tried to bring in elements.cloud for processing mapping and it was shot down… There was no pre-prod testing to a back-end system and when we went live the team spent 2 months fixing all the defects. We did not even have a QA capability at the time.

CONFESSION #568

Confession #568

In 2010 or 2011 I can’t remember we had an accidental chatter implementation. We never found out who (wasn’t in the audit trail), but someone turned on chatter. Even better was I was on vacation. We weren’t allowed to have chatter on for compliance. Turned into a huge thing.

CONFESSION #567

Confession #567

I got my first Sandbox in 2007 (after begging for about 2 years). I remember building my first workflow rule in it and being so excited I could test. I wanted to test what happened when I loaded data against contact records (object where workflow fired against). The workflow would send an email when a contact went to a certain status welcoming them as a customer. I thought that the emails would get changed on contacts like they did for users. Woops. I emailed around 200 customers welcoming them and confused a ton of people.

CONFESSION #566

Confession #566

Earlier in my career I didn’t know how to effectively communicate risk, whether it be technical risk or strategic risk. So there was a senior executive pushing to have us do a release the same weekend as a salesforce release. I kept trying to tell her not to do it,but I wasn’t good at articulating why and what the risk was. The risk was that the project hadn’t been tested with the new release, not sure why I just didn’t say that, but I was scared for some reason. So we went live. So many errors because the release was happening.

CONFESSION #565

Confession #565

My colleague decided it would be a good idea to put an identifier in the API name of fields so we could track which BU the field was for. So Contact_Date__c became MKTG_Contact_Date__c. I told her it was a good idea but didn’t realize she was doing it in prod. All of the sudden all of our apex and integrations stopped working. She didn’t realize that is how apex, integrations and other tools were querying our fields. Woops.

CONFESSION #564

Confession #564

All developers working on the same sandbox. No version control. Accidental overwriting was so common that we started to make local copies of our code.

CONFESSION #563

Confession #563

In 2008 I recorded a bunch of training videos where you could see me talking and showing some sales process. Without realizing it my fly was down and for about 20 minutes of this video you could see that my fly was open and I was wearing red underwear. I wanted to die. I wasn’t sure which was worse that the video editor put this in or that no one in the room told me my fly was down. I now check my fly before every presentation. I have OCD about it.

CONFESSION #562

Confession #562

Changed misspelled object API name. I don’t care what happened next.

CONFESSION #561

Confession #561

In 2007 I worked at a company where we had two divisions sharing 1 org and had a crazy data firewall. Not fully understanding the firewall or how the sharing worked, I moved a user from one side of the firewall to the other by changing their role. I was being lazy and didn’t read any of the documentation the consultancy provided and didn’t move records to another user first. I exposed all of this users records from the other side of the firewall to everyone on the new side of the firewall which contained non public info. I didn’t realize what I did right away until my colleague realized all of the data was exposed. I’m really lucky they didn’t fire me. It was around this point in my career I became super diligent about reading instructions and documentation.

CONFESSION #560

Confession #560

When I first used the data loader (it was actually called the Lexi Loader at the time) I just made a spreadsheet of what I wanted to update and loaded. No backup, no testing, just updated a ton of Opps. Nothing bad happened, but do not do this! Take backups! Test your upload!

CONFESSION #559

Confession #559

I worked for an organization that had over 200 custom objects and a million lines of code. We had built out a very nice system that provided End to End processing for all departments in Salesforce, globally. The problem, our developer wrote test classes that faked out the system instead of actually testing. SUPER SCARY. A younger developer on the team tried to make a case for writing correct test classes and it was shot down.

CONFESSION #558

Confession #558

A new developer at work installed our own managed package in our main development org. Pure havoc!

CONFESSION #557

Confession #557

We have users that send me contact info to update via email. They have Salesforce licenses…

CONFESSION #556

Confession #556

Refreshed myself out of a week’s worth of work once…

CONFESSION #555

Confession #555

I was hired as a Solution Architect for a large UK phone company. They had hired an offshore company to build the CRM capability. This offshore then brought in people by the plane load as Solution Architect’s (most of these were grads). I stayed 5 months and left. They promised to go-live in Apr 19. It’s now Dec… and they have gone live with a subset of the original payload…

CONFESSION #554

Confession #554

In my experience, the huge partners are the worst out there. They come in with semi-competent to knowledgeable people during the sales pitches, and then once the contract is signed, the work is farmed out to overseas developers with minimal training or knowledge. Even the ‘local’ team that continues to work with you is questionable. I have had ‘Technical Architects’ assigned to contracts with < 2 years out of college and 9 months in the Salesforce world. We pay them $250+ an hour and I need to train them. My advice, stick to smaller firms where you really get to know the people that will be doing the work, or better yet, hire people so you can have the skills in house for the future.

CONFESSION #553

Confession #553

Ego can get in the way. The VP of an organization I worked for demanded to have an Administrator login. I felt bullied into providing it and started looking for a new role immediately. Not long after my departure I heard that he had added a sharing rule that resulting in every case for every customer being exposed to ALL customers. I was not surprised, he definitely had an issue with details and always believed he was “the smartest person in the room”. I have never looked back.

CONFESSION #552

Confession #552

We did the Lightning Readiness Check and the report was 300 pages long.

CONFESSION #551

Confession #551

We had/have users who pay for their own Zoho license even though they have a SF license.

CONFESSION #550

Confession #550

Discovered a sales rep has been paying for his own salesforce license for 5 years and you get forwarded a recording of him demoing to senior leaders how he uses it to do his day to day AND the company isn’t even live on Salesforce yet. Highlights include him working off of only one activity where he updates the task subject to store future events “It’s great because I see everything in one view”

CONFESSION #549

Confession #549

I cannot see us ever migrating to Lightning. Technical debt is crushing our Org. As an example, we have 800 fields on the Case object.

ZEN #14

Zen #14

My org has a 98% – Excellent rating for the Security Health Check, the only thing stopping us from full marks is disabling the ‘Login As’ admin feature…and I am not giving that up!

CONFESSION #548

Confession #548

I have to make a minor upgrade to a managed package, but I have lost access to the developer org where the package is. The old developer is no longer working with us but we own the Org. I have the login/password for the org where the package is stored but I’m being asked for a verify code that is sent to an invalid email address :'(

CONFESSION #547

Confession #547

Our org has definitely upped our automation and we have come to the point where we are hitting governing limits, the fun SOQL queries 101 error. 99% of our automation is done through Process Builder and I have combined as many processes as I can into one or two processes per object. But we are still hitting errors. And of course it is causing havoc for myself as the admin and our users.

CONFESSION #546

Confession #546

It takes a long time to run a report to extract 63K records and exporting it in Lightning. I thought it was our internet connection issue. But I’ve heard another Lightning user in another company saying she’d switch back to classic when running reports.

CONFESSION #545

Confession #545

My employer made a stupid decision a few months ago to replace half of the team working on the CRM technology team with a partner that is providing 100% offshore resources. The offshore team is so bad even if I send them requirements with correct spelling they misspell everything. When I was at Dreamforce they were supposed to add two fields “product count” and “subscription count” along with some automation. I came back from Dreamforce to see that we have fields have been misspelled and called “product_c*nt” and “subscription_c*nt”. (replace * with u). Because these fields are referenced in apex they refused to fix the API name. This is a huge salesforce partner. This is the quality of work they provide.

CONFESSION #544

Confession #544

I read OrgConfessions while I’m waiting on my change sets to validate! Guilty pleasure.

ZEN #13

Zen #13

I am feeling very virtuous right now. EVERY ONE of the critical updates has been reviewed and activated! (OK, it’s a fairly new org, but still….)

CONFESSION #543

Confession #543

CONFESSION #542

Confession #542

How to check if an old feature is indeed not used and can be removed? Let’s remove it quietly from production and see if someone complains…

CONFESSION #541

Confession #541

I inherited an org that did ALL activities on task records and couldn’t sync to basic Outlook calendars…so everything was manual. What’s a sync?

CONFESSION #540

Confession #540

After 2 years work from a GSI and we still have only 20 of our 2,500 users have gone live.

CONFESSION #539

Confession #539

We have a huge Org with over 750k customizations. We’ve had 4 consultancies work on the Org over the last 8 years, but there is no documentation.

CONFESSION #538

Confession #538

I am postponing my Admin exam because everyone seem to be failing it.

CONFESSION #537

Confession #537

I was hired as the Service Cloud admin. I was told their existing “floater” type admin was certified as an admin and dev 1 and has set up email to case a year before. Imagine my surprise when I logged into their org and saw they had ZERO case assignment rules. Yep, none. Their floater admin actually had no certs at all and was a compulsive liar about what had been set up in their org. He even told the users that list views were called “Queues”. I had to make drawings with little stick figures so they could understand that a queue was a group of users that owned cases and not a list view. That was a hard day.

CONFESSION #536

Confession #536

I have users that will write an email to their coordinators instructing them how to update account details. They believe it is faster to write an email and the field values (many of which are picklist) instead of doing it themselves.

CONFESSION #535

Confession #535

Claims manager at an insurance company thought it normal to take claim files into the men’s room with him while he used the stall.

CONFESSION #534

Confession #534

I asked an end user to grant me login access and provided a step-by-step procedure with screenshots on how to navigate from setup. User provided her credentials instead.

CONFESSION #533

Confession #533

The last person to manage my org didn’t know you could create new profiles for new users. They kept reusing and reissuing old profiles under new usernames. Now every time these users need to reset their passwords I have to reset their secret question too. It’s also made historical auditing all but impossible.

CONFESSION #532

Confession #532

Contacts got 30+ email reminders this morning for “Submit Your Meeting Reimbursement” with a value of $0.00. Someone was testing workflow email in production? Worked out the issue. One of the developers was updating this workflow to ensure the emails will only send if nothing has been submitted, and unfortunately they did not disable email before updating every campaign….

CONFESSION #531

Confession #531

Did a SOW for moving a client from NPSP2 to NPSP3, no custom profiles in the entire system because every one of their 8 users is a system admin.

CONFESSION #530

Confession #530

Sales has purchased a product that requires 83 fields (!) on the Account object that will be used by only 1 user.

CONFESSION #529

Confession #529

A previous consultant used the entire URL to reference an image location in an image formula for 22 different picklist values in a Case() function.

CONFESSION #528

Confession #528

When my manager asks me to update Next Steps for case resolution on a spreadsheet version of the Cases Open report, when I have an Admin Notes field included on the Case record page and pulling into the same report coming out of SF.

CONFESSION #527

Confession #527

Just found this. A field is a picklist. And each line is a description of a product… We have more than 1000 products… Kill me now.

CONFESSION #526

Confession #526

The User wants a checkbox instead of a yes/no picklist because it’s one “extra” click.

CONFESSION #525

Confession #525

When a snr manager was given admin powers and the first thing they do is change OWD on price books, deleting all the sharing rules; so no one can use price books including CPQ.

CONFESSION #524

Confession #524

Just found this gem where the original implementation partner added a permission set from a trailhead module in my client’s production org.

CONFESSION #523

Confession #523

When you review a feature that was built a year ago, and wonder how someone could’ve designed such a poor experience and then immediately come up with a better solution, and then realize the person who built it originally was you.

CONFESSION #522

Confession #522

To whatever Salesforce engineer required a date format of YYYY-MM-DD to import, yet made Salesforce export dates as MM/DD/YYYY, I hope you’re happy with yourself.

CONFESSION #521

Confession #521

That super fun moment when you go into a brand new org and see that there are separate profiles for every function in the company, but it doesn’t matter because not a single one of them has a single restriction. Everyone is an admin right now.

CONFESSION #520

Confession #520

Just spent an hour troubleshooting problems with a deployment and code coverage that had been good in another sandbox, but was moved and then modified in a different sandbox. I fixed test coverage on the new code, but some of the old code kept having a problem of being uncovered. I finally realized that the person who had modified the code before me had used a “code formatter” that inserted extra spaces in strings inside of certain If statements. Those strings never matched of course, so the code in the main class was never called.

CONFESSION #519

Confession #519

You build a new data model and migrate data only to realize the sandbox hasn’t been refreshed since 2018 and the site/VF/Apex that need updating don’t even exist.

CONFESSION #518

Confession #518

When you build solution v1 and your customer says you didn’t understand the requirements, so you documented the requirements for v2 and then they change the requirements after you’ve built v2.

CONFESSION #517

Confession #517

Run Salesforce Optimizer to find 44 inactive users! The answer from the team was, oh they might need them 😐

CONFESSION #516

Confession #516

I once managed to bulk update 200+ Contacts to have the same last name as one of my coworkers. No idea how that happened . . . .

CONFESSION #515

Confession #515

First implementation of SFDC service cloud was driven by a well known Salesforce implementation partner. They created duplicate fields containing same value but in one object formatted as number and in other object formatted as text… A number of custom fields did not have description. Lines and lines of codes. Best practices out the window!

CONFESSION #514

Confession #514

Just started at a new company. The previous admin had zero knowledge of Salesforce existence prior to being the SF Admin. The Manager? Can’t decipher config vs. code decisions. Rolling up the sleeves…..

CONFESSION #513

Confession #513

A customer created new fields on a custom object and removed the visibility for all profiles – including the SysAdmin. Now he wonders why no one can see / use them

CONFESSION #512

Confession #512

Lightning Object Creator is my worst nightmare. Admins can create an object with data directly in production with no business analysis, architectural design and no documentation.

CONFESSION #511

Confession #511

Product owner wants to make all the inside sales people the SuperUsers to go to for questions – regardless of their (lack of) technical skills, rather than choosing 1 person per team designated as the techy-superuser. Adoption will suffer!

CONFESSION #510

Confession #510

I recently encountered an unfortunate issue with a large custom object I was building; the total number of fields was under the 500 limit, but the object included over 264 formula fields using a CASE statement on a picklist field in the object. Long story short, the object won’t display in Lightning Experience, only Salesforce Classic. The workaround I’m going for involves converting these 264 formula fields to text fields that are then populated by Process Builder using the criteria from the picklist field. I’m a little nervous that I might “break” Process Builder, too…

CONFESSION #509

Confession #509

We now have over 2,000 custom objects in the Org.

CONFESSION #508

Confession #508

6 months ago I had no idea what Salesforce was. I was made the Admin and I am the only one, learning from Trailhead. I have now inherited 3 Orgs and have been asked to merge them but there are so many duplicated fields, I have no idea where to start.

CONFESSION #507

Confession #507

We’ve rolled Salesforce out to the worldwide organizations so now we have 800 objects in our Org. And I am the solo Admin.

CONFESSION #506

Confession #506

My org, my confession… None of my validation rules were firing – PANIC!!!! Yup, we had a custom setting that allowed me to turn them off for just me. There was also a custom setting for turning them off for the whole org. Guess which one I checked? No idea when…..

CONFESSION #505

Confession #505

My org, not my confession. Company dashboards kept being deleted. Fortunately, I was able to restore them easily and see who deleted them. When I asked why they were doing it: Oh god did I delete them from the entire system? I just didn’t want them listed under my recent dashboards because those dashboards weren’t useful for me to have. Sorry if that caused any issues!

CONFESSION #504

Confession #504

12 million lines of undocumented Apex code, down from 18 million. We can’t get code coverage so have exception from Salesforce to allow us to deploy.

Confession #503

“I am a solo Admin for 300 Orgs.”
“Don’t you mean users?”
“No, 300 Production Orgs.”

CONFESSION #502

Confession #502

We have maxed out fields on Case….again

CONFESSION #501

Confession #501

We have 450 custom fields on Opportunity (we’re only allowed 500 in our edition)

CONFESSION #500

Confession #500

When you are all set to present a @Dreamforce session and do an interview at a major keynote and the airline LOSES your one and only checked bag the cherry on top is the person they think took it is on a Disney cruise

CONFESSION #499

Confession #499

We uploaded wrong data file into Products and ended up with 30k SKUs.

CONFESSION #498

Confession #498

Client insisted that we split each FSL combo order into separate orders. We ran the job over the weekend and they came on Mon and had 30,000 jobs to separately update and schedule. We did warn them.

CONFESSION #497

Confession #497

If we don’t have time for UAT and we’re not 100% sure it’ll work we just tell the users it’s beta release and to be extra vigilant

CONFESSION #496

Confession #496

For the Case object we created a huge VisualForce page to only display certain fields based on record type, but they never developed that filter functionality. So everyone sees every field.

CONFESSION #495

Confession #495

After our organization was bought, integration of systems with our new parent only could take place via Excel files. What about updates I asked? It would only work if the files are in the same format and column order. Or else the macro would not function! In 2019…

CONFESSION #494

Confession #494

Object for tracking cases with 197 fields

CONFESSION #493

Confession #493

When first using Salesforce, at a time when sandboxes did not yet exist, I added a Validation Rule to the Account object assuming it would apply only on the user interface and not knowing that it would also generate errors in external integration processes which insert/update Account records…

CONFESSION #492

Confession #492

Huge corporation with Salesforce department, which provides services to our clients. In our SF instance we have a cross-project repository with re-usable code snippets. During cost cuts all of our dept’s licenses have been downgraded to Chatter ones, so we lost access to our project repository. Upper management probably isn’t even aware of impact of that cut.

CONFESSION #492

Confession #492

CONFESSIONS #491

Confession #491

“Automation” done by browser scripts that simulate user actions (clicking, opening pages and so on). Why bother with API?

CONFESSION #490

Confession #490

Implementation by GSI. Phase 1 went live for core business. But architectural decisions for Phase 2, which was roll-out to 200 franchisees, were not considered during Phase 1. Go live attempted for Phase 2 for 5 franchisees 3 times, but finally pulled it out and they had to go back to their MS Access app.

CONFESSION #489

Confession #489

Sandbox refresh procedure with almost 100 (one hundred) steps.

CONFESSION #488

Confession #488

Org with 225 users. 196 were System Admins.

CONFESSION #487

Confession #487

More people need to confess this one, as I know it has happened to a lot of people. Refreshed a sandbox that had changes that had not deployed yet.

CONFESSION #486

Confession #486

As a consultant, ran an import to Production to the wrong Salesforce Org ….meaning a different company.

CONFESSION #485

Confession #485

CONFESSION #484

Confession #484

“Accounting” profile with 20+ sys admin type permissions plus Knowledge and Lead Management permissions. Who’d have thought to audit for that? Unfortunately, not me until a user unknowingly made a global change.

CONFESSION #483

Confession #483

I do org cleanup for fun and survival. I could eat this elephant for a year.

CONFESSION #482

Confession #482

I make changes in production while enforcing BAs to make changes in sandbox. #TooPressedForTime #NoExcuse

CONFESSION #481

Confession #481

Inherited org with 18 quote record types created solely to place a different button on the page layout…a button that could have been dynamic on a single record type or two.

CONFESSION #480

Confession #480

23 triggers on Opportunity, 16 of which are to create assets – a different trigger for each unit of measure an asset can have. #BeforeHeWasMVP

CONFESSION #479

Confession #479

CONFESSION #478

Confession #478

New admin in 10-year old org – found 251 steps in Case Assignment rules… fortunately now whittled down to 15.

CONFESSION #477

Confession #477

We had a developer who had created some Apex classes for us but then he left the company before everything was put into production. Unfortunately, the only place his code existed was in the Full Sandbox. Guess what happened when we refreshed the Full Sandbox right after he left? Doh!

CONFESSION #476

Confession #476

User signed up for a free trial of AppExchange app, and accepted the terms without verifying with their admin and managers. It turned out the app extracted all the data and started making calls and sending out emails.

CONFESSION #475

Confession #475

Our team of 8 developers share 1 Admin account for Sandbox. We started using SFDX but were not able to use because some of us would get this error after some time: “expired access/refresh token”. Only then we found out about the limit of 5 tokens per Connected App per account.

CONFESSION #474

Confession #474

UAT performed by testers – it’s basically TAT (“tester acceptance testing”). Real users don’t touch any org besides production. Every release has several issues, and criticals are not so rare, but, besides creating a bug in issue tracker, nobody cares about improving that process.

CONFESSION #473

Confession #473

At the beginning of Salesforce implementation project by mistake I enabled multiple currencies on Production org instead on one of many sandbox environments to test it. The step is irreversible. Luckily later we learnt that we needed multiple currencies enabled anyway…

CONFESSION #472

Confession #472

12 year old Org
14 different Admins
7 different SIs
“I’ve been told you can migrate us to Lightning in a month”

CONFESSION #471

Confession #471

I worked with a System Integrator on a client project who built one flow for multiple countries. There was no documentation, no testing, no splitting the flow(s) into smaller manageable buckets, one developer, no error handling, all for a Community platform. I logged 250 odd defects during my time there before we went live…

CONFESSION #470

Confession #470

I’ve adopted an org that uses over 80% of their Apex limit

CONFESSION #469

Confession #469

At my first job I saw the sample recruitment app that salesforce uses as example was configured in production. I don’t know who is that legend who installed it in production. My first task is to delete it from then I started cleaning up orgs it never ended then realized clean up and tech debt should be part of team’s regular work.

CONFESSION 468

Confession #468

In my early days as a developer I developed an Apex Batch used to send documentation to customers through an external printing system: due to a bug on the batch that kept iterating on a customer on and on, that customer received 2000+ printed emails +1 to me!

CONFESSION #467

Confession #467

It was 2008 and I had to import 5,000 leads. The wizard couldn’t match one of the fields and offered “do you want to import this as a note?” Of course! Spent the whole weekend deleting those 5,000 damn notes on every record. And that’s why you always follow the data import testing process before you commit . . . . To add insult to injury I sprained my ankle while running the morning before I did the import so I had to sit on a chair with one leg in air and my finger on the DELETE button.

CONFESSION #466

Confession #466

It’s a lovely day to start to remove some of the 80 fields created years ago with 0% population, and that’s just the Contact object..

CONFESSION #465

Confession #465

CEO and previous admin: “Let’s build a custom CPQ and hard-code product id’s and names into multiple PBW and flows. Plus, we’ll also have different templates for each quote type. As a matter of fact, we’ll add in some Apex codes attached to a project manager with no test classes and push them to production.” 2 years later and with no documentation I’m still putting the pieces together. It’ll probably never be fixed and get abandoned after I’m out of here…

CONFESSION #464

Confession #464

VP of Sales won’t make team use Salesforce for opportunities but then complains there’s no information in Salesforce.

CONFESSION #463

Confession #463

I learned the hard way – when using flow, NEVER put an action object (lookup, create, update, or delete) in a loop, unless you are 100% sure it’s only going to loop a handful of records…and even then…haha. It’s just a great rule of thumb for bulkifying your flows.!

CONFESSION #462

Confession #462

I looked after an org with crazy sharing roles as Directors looked after multiple areas that needed private data. Directors changed responsibilities regularly and before I was trusted to know this in advance and be able to plan I was surprised by it on a regular basis. I once moved a Director and shared all the data between 2 areas and it took me a day to fix the majority but I was also finding odd sharing issues for months.

CONFESSION #461

Confession #461

I actually still remember one major screw up I had in the beginning of my Salesforce career when I was working on a client org and I changed all Admin profile users to a custom role and then nobody could login. We needed to call Salesforce to change our Profiles back. I guess you don’t forget these things even after 7 years.

CONFESSION #460

Confession #460

I worked with a sys admin who decided to update a field on all contact records which had multiple PBW + Flows on and forgot to bulk batch the update or tell anyone and created nearly 80k of monitoring error messages when the updates failed which the out of hours on call team had no idea what they were or where they came from 🙁 took nearly a week to resolve and update properly.

CONFESSION #459

Confession #459

The company had setup the org with all users with “Manage Public List Views” and a user updated the master list view to show only records she had created and hit save instead of Save As. Which then displayed HIPPA managed data to a lot of people. That was fun one to back into for a resolution.

CONFESSION #458

Confession #458

A company was using visualforce based Community as an ideation portal where internal Salesforce list view was being used on the community. One fine day the admin has updated the list view visibility to “Visible to all users (includes partner and customer portal users)”. And then all the records were visible to all community users.

CONFESSION #457

Confession #457

Our team changed a simple field type and NA79 started having performance issues along with all customers started receiving denial of service alerts from Salesforce.

CONFESSION #456

Confession #456

Someone asked me to do a Dynamics -> SFDC migration in three weeks.

CONFESSION #455

Confession #455

One of my favorites was a company that purchased one marketing platform and ripped their current one without talking to their SFDC admin or having an implementation plan at all!

CONFESSION #454

Confession #454

When the VP wanted the temp to have SysAdmin Role and Profile so they could ‘help with stuff‘ and not have to bother anyone for access…… It was a temp that was helping with basic data cleaning, checking opportunity close dates, update stage & update notes. These were manual tasks that required research for each one and a simple update with manual note. Simple basic access was needed.

CONFESSION #453

Confession #453

I managed an org to org migration for the first time (first time admin, first org transfer). Assumed everything was good because UAT was fine. Deployed new org to first 50 users – then went on vacation for a week out of the country while everything broke.

CONFESSION #452

Confession #452

I also did Confession # 436, however not with salesforce for outlook but lightning for outlook. It was not that it wasn’t properly configured, as the intention was to sync all of the SFDC contacts to outlook, but more of an oversight that all of the outlook contacts were also synced to people’s phones.

Confession #451

I also did Confession 436 – AND NOW I FEEL NOT SO ALONE! I, then spent the 4th of july weekend deleting people from my phone, only to discover I was also deleting them out of Salesforce. Can you say panic-stricke support call at 6am? We were able to restore because it was less than 14 days.

CONFESSION #450

Confession #450

I am trying to determine what automation is executing in a client’s system and why, particularly when a users go through a multi-step approval process for an Opportunity. I approved the first step of an approval and looked at the debug log. Although the debug logs are really difficult to decipher, what I have determined is that that where I see the event WF_CRITERIA_BEGIN, the name of the action is a traditional “workflow rule” if it does not contain underscores. If there are underscores, then action refers to the API name of a “process” (from the process builder). I also know that the order of execution is that workflow rules are executed before processes.

So, given these things, why is it that in my log snippet I have a WFR executing, then a process, then another WFR, then a process, and so on, one right after the other at the same timestamp in the debug log? For instance, “Request_Create_Stage_History_Record” (a process) happens before or simultaneous with “SLA Alert – Executive Director Review” (a WFR), after which other WFRs and processes immediately are logged. I expect that I am not understanding how to read the log or how execution is actually happening. But if the order of execution is true, what explains what I’m seeing?

What I’m trying to get at is ultimately how I would really understand whether one of several automations was making an update that later triggered another to fire, creating an undesired chain of events. How would I know that if they all seem to fire at the same time?

I would LOVE some good documentation or an explanation of how to determine the actual order of what happens and why.

CONFESSION #449

Confession #449

I worked with a System Integrator on a client project who built one flow for multiple countries. There was no documentation, no testing, no splitting the flow(s) into smaller manageable buckets, one developer, no error handling, all for a Community platform. I logged 250 odd defects during my time there before we went live…

CONFESSION #448

Confession #448

Discovered salesperson copies his Salesforce emails into Outlook email, changes the data and mails. No record of the sent email is saved other than his Outlook sent items which is “all he cares about.” Then complains he can’t find anything and that’s a problem with Salesforce.

CONFESSION #447

Confession #447

Hid a field from every user including Informatica, which broke a complete overnight job!

CONFESSION #446

Confession #446

Wrote a self chained batch job, missed one condition which made it recursive! org went down no one could do anything as pages didn’t load. Sys admin was in another timezone. We were able to login after few hrs when the jobs hit AsyncApexExecution limit.

CONFESSION #445

Confession #445

I once created a validation rule in Production that prevented any new Opportunities from being created…the Wednesday afternoon before Thanksgiving.

CONFESSION #444

Confession #444

Updated the admin password via apex code and next day is production go live. No one can login into production then.

CONFESSION #443

Confession #443

Did a data load of contacts into the wrong client’s org

CONFESSION #442

Confession #442

Someone sent a blast email to over 10K contacts while doing data load because forgot to turn on Deliverability in Production true story

CONFESSION #441

Confession #441

Hard-coded a record type ID in a Process Builder process in Sandbox.
Deployed to production and activated.
Went on vacation.

CONFESSION #440

Confession #440

Ages ago, a content mgr wanted admin access, a junior admin, reluctantly did…content mgr created page layout, with custom fields, erase work at end of day, and “accidentally” assigned page layout with no fields to a record type for published articles assigned to it….fun times

CONFESSION #439

Confession #439

I once went crazy spending an hour troubleshooting why a validation rule was not working…until I realized it had to be activated first

CONFESSION #438

Confession #438

A long time ago we had a director of operations delete thousands of cases by accident… it was not a good day…

CONFESSION #437

Confession #437

Did a data load of blank fields in a client’s org and wiped out all their data. I was still learning. I learned my lesson and now I always have a backup.

CONFESSION #436

Confession #436

Salesforce for outlook wasn’t configured properly and all 15,000 contacts in SF synced with the smart phone of all employees. Only way to delete them – one by one.

CONFESSION #435

Confession #435

Years ago, when we were still figuring out Salesforce for Outlook, we accidentally allowed people to sync contacts. When the East Coast team logged in we mysteriously had thousands of new duplicate contacts created in Salesforce that were not tied to any accounts. Oops!

CONFESSION #434

Confession #434

We usually enforce IP Restriction during deployment to prevent portal users access to community during deployment. But one of our developer accidentally enforced this for admin profile which kicked us all out of the active session and we couldn’t login until we figured a way out.

CONFESSION #433

Confession #433

Company had no admin for 12 years before me. Everyone had admin access. After 2 years, still finding weird things; i.e. custom object for “pipeline”.

CONFESSION #432

Confession #432

I overrode some other person’s code by mistake as we both were working on same class in QA Org, not Prod.

CONFESSION #431

Confession #431

Someone hardcoded the matching of emails to contacts instead of looking for their From address and matching it to Contact Email. All emails for the next week went to the same Contact. Lot of limit has reached errors emails started pouring in

CONFESSION #430

Confession #430

With the rush to get data into Salesforce instance during transforming from another CRM, we inserted about 80k accounts of which each record is a repetition of an account with a different product/order! This proved us how important is data model!

CONFESSION #429

Confession #429

400,000 new records loaded to Prod… because of an unknown workflow that wasn’t deactivated, an email went out to the customer contact on each record.

CONFESSION #428

Confession #428

Refreshed a sandbox without warning anyone. Turns out my boss had been building in it for quite a few days 🙂

CONFESSION #427

Confession #427

Ages ago, a content mgr wanted admin access, a junior admin, reluctantly did…content mgr created page layout, with custom fields, erase work at end of day, and “accidentally” assigned page layout with no fields to a record type for published articles assigned to it….fun times

CONFESSION #426

Confession #426

I failed to turn off an email notification before loading a ton of closed cases and clients for emails about the old cases. It was bad. I remember being on the phone with an exec after trying to explain what I did. He said “if the worse thing that happens with this acquisition go live is a couple thousand emails I am good with that”.

CONFESSION #425

Confession #425

I sent millions of pounds worth of purchase orders to suppliers when testing process builder in production.

CONFESSION #424

Confession #424

I once worked with an admin who thought profiles and permission sets were not important. All was good until we found out users were changing pricebook entries and approvals…

CONFESSION #423

Confession #423

Using data loader a newer admin created (insert) SIX of every employee record in the entire firm instead of doing an upsert. Why’d they do it six separate times?

CONFESSION #422

Confession #422

Once upon a time an admin renamed an active page layout in Prod instead of cloning it and erased most of the fields and components on the page in the middle of the workday.

CONFESSION #421

Confession #421

I was ordered to give an executive System Administrator profile. Nightmare, scary, worst horror of my career.

CONFESSION #420

Confession #420

I know an org where multiple end users are sharing licenses …. bad idea for so many reasons and a nightmare when resetting passwords! GASP

CONFESSION #419

Confession #419

As the implementation partner, having to us the same login as the client’s own sys admin. Really have no clue who did what.

CONFESSION #418

Confession #418

First person implemented the org got fired. Second person left… 3rd person spent all her time doing other things… No documentation about what has been done apparently.The director has no ideas about what she wants, but she wants Salesforce.

CONFESSION #417

Confession #417

Prior life…but there were nearly as many profiles as there were employees.

CONFESSION #416

Confession #416

Big4 consulting firm with big rollout to 1000 FSL seats. Decided on 2 phase rollout. Spent a week doing high level discovery for Ph1 but didn’t ph2. Ph1 was decided to be 5 sprints. They didn’t understand the detailed requirements. They did a little bit of business analysis at start of each sprint. There was no correlation of requirements across sprints. Then they started looking at Ph2, but it was massively impacted by Ph1 architectural decisions. Go live was delayed 3 months. It has just gone live, but is unusable. It may need to rolled back.

CONFESSION #415

Confession #415

I worked as a BA at my last contract and they had implemented Leads with stages (as this is how the third party system worked). The PM had one Sprint which ran for 6 months and covered 3 different SFDC projects… and the PM did not know anything about SFDC.

CONFESSION #414

Confession #414

I have been at my org for a year, and am looking to move our recruitment process to leads. Some custom fields were added to leads years ago, but leads were never implemented. Found workflow to “Update Lead ID.” Lead ID in this case is a custom field marked as external ID. Ran a report to find out what the external identifier is. Custom and standard fields “Lead ID” hold identical values. Workflow is literally copying the 15 digit ID to a custom field for no apparent reason.

CONFESSION #413

Confession #413

Old org. Field limit on object reached. What now? They converted one of the fields to long text and kept putting additional “fields” there in a JSON format. I wonder when they’ll exceed length limit of that field and need a second one…

CONFESSION #412

Confession #412

Startup company. Founders are former devs; presumably with Java background. They insisted to use code to everything, including validation rules, processes, access control… They explained that that’s how they are used to work.

CONFESSION #411

Confession #411

Salesforce admin with quarter of century of Linux experience wanted to be THE admin. He wrote a script to assign him all permission sets, including a special one with every single permission enabled, and scheduled it so he didn’t miss any newly created one. If that was not enough, he “improved” every validation rule so THE admin could ignore them.

CONFESSION #410

Confession #410

Formula field was so long that we had to remove all formatting (spaces and line breaks). Now it’s a beautiful, 3900 characters long one-liner.

CONFESSION #409

Confession #409

ZEN #12

Zen #12

Now we are cleaning up the fields in our app and need to know what refers to the 400 fields in one object. The Documentation Hub is the first tool I’ve seen that shows what Reports use each field, as well as Workflows, Validation Rules, Page Layouts, etc. This has saved us hours of time checking each field in Force.com IDE, so that the development team can focus on improving our app.

Richard Cunningham – Blendery

ZEN #11

Zen #11

We have a client that is now just learning importance of sandboxes and not doing everything in production. In the past, they have made changes to a something like a field label and API name that is a member of 3 workflows, 4 Process Builders, 20 validation rules, 7 formulas and so on. We’d get a panic “OMG Everything is broken!” call and have to decipher what happened. Now, our client can see what the contingencies are before they make the change, saving everyone a lot of headaches.

Adam Schoolsky – Sadhana Consulting

ZEN #10

OrgZen #10

Two teams came to me with new requirements. I asked them to try it out using manual processes first for a month. Team A came back 3 months later with a completely different requirement, having reiterated their original concept considerably. Team B said that the effort didn’t justify the workload and that it wasn’t required.

Paul Ginsberg – RSA

ZEN #9

Zen #9

As a nonprofit, trying to document, create procedures and help the end user in their day to day is a challenge. But in just a few short weeks…[we’re] able to create maps that show step by step for the end user, without making it “look” like a process map… It helps us get all of our processes out of everyone’s head or notes, etc. and get them ordered for everyone.

Heath Parks – Cincinnati Works

ZEN #8

Zen #8

I was able to embed the processes in my Salesforce user interface (for training), and reference specific areas of my Salesforce org within the process (ex: fields, users). Catalyst allowed me to very quickly get a full picture of what was happening in our org, allowing me to safely remove redundancies.

Sandy Hunter – Mental Health Commission of Canada

ZEN #7

Zen #7

We’re able to push process maps and guidance about Salesforce out to users within Salesforce, so they do not need to toggle between SF and the intranet or manuals.

Andrew Strachan – Nesta

ZEN #6

Zen #6

I’m an accidental admin who inherited a SF org without a single line of documentation. As a new solo admin, I struggled to understand what was going on. After discovering Elements Catalyst, a whole new world opened up. I will never forget the feeling I had the first time I ran analytics – I felt as the thick fog surrounding me for months was finally being lifted!

Tanja Janjic – Council of International Schools

ZEN #5

Zen #5

We replaced our email marketing package with one that properly spoke to Salesforce, so that when someone unsubscribed in one system, it passed that along; saving lots of manual work (some of which was occasionally skipped due to time pressures, inevitably causing confusion).

Paul Ginsberg – The Together Plan

ZEN #4

Zen #4

We replaced our email marketing package with one that properly spoke to Salesforce, so that when someone unsubscribed in one system, it passed that along; saving lots of manual work (some of which was occasionally skipped due to time pressures, inevitably causing confusion).

Paul Ginsberg – The Together Plan

ZEN #3

Zen #3

By showing the department director the process diagram of all the steps needed to be taken before our system revamp way ready, this caused him to calm down and stop asking for shiny new features immediately, giving us the space to get on with work, fixing the fundamentals. He also presented it to the management board, to help them understand the work that was required.

Alex Onos – Watersportverbond

CONFESSION #408

Confession #408

Just started a new job and trying to understand the org. On every object, there is the standard Created By field, then a 2nd created by field, and a 3rd created by field. All of these have no description. I’ve been asked to create an automated process that triggers the creation of an opportunity with the ‘created by’ being the new record’s owner but I have no idea which of the 3 ‘created by’ fields are correct and my boss doesn’t understand why I don’t understand!!

CONFESSION #407

Confession #407

Repurposing Salesforce for an HRMS. Relabelling Account to Employer, Contact to Employee. Then creating custom objects for different types of Contacts…

ZEN #2

Zen #2

Shout out to Kelly Walker and Xander Mitman who led the Hands-On Training at Southeast Dreamin’ to implement Lightning console app in Service Cloud in March. Migrated our company to Service Cloud and implemented Lightning service console in our org seamlessly. Love it when a plan comes together.

Melissa Hill Dees – HandsOn Connect

ZEN #1

Zen #1

Having a COO who understands the importance of bottoming out requirements and processes before I start work configuring Salesforce is so important. It means I have the confidence that what I am building will be adopted by the business. But it also means development and test is faster because I don’t have constant rework. BTW He also realises that I need time to document the configuration because it will save time doing impact analysis in future releases. My title is Business Excellence. Without a clear methodology and executive support my title could so easily be Captain Chaos.

Jack Lavous – Elements.cloud

CONFESSION #406

Confession #406

2,500 contacts with an email address of “delete @ delete.com”. This is what happens when you make it really easy to change data, and really difficult to delete it.

CONFESSION #405

Confession #405

One time I saw an admin delete all object data 🙂 magical lol

CONFESSION #404

Confession #404

I had a contract recently to work on expanding out the architecture for a Salesforce org at a pharma company. I asked who was administering the current build – Intern, in college, only other job was a server in a restaurant.

CONFESSION #403

Confession #403

Regional Sales Leader: “Hey Admin, I just updated everyone’s settings in Salesforce to make them System Admins, so that my team members can log calls and meetings!”⁠

CONFESSION #402

Confession #402

We have a couple of public groups with a single user in them

CONFESSION #401

Confession #401

Business support user asked to modify all user profiles to remove the ability for them to create reports because ONE person keeps making their own and it’s confusing for others… (case of using a hammer to swat a fly).

CONFESSION #400

Confession #400

I typically work in SFDC naked.

CONFESSION #399

Confession #399

Director wants a new field for FY total giving. Quickly build it for year end. Fast forward a year later same request comes in and built it again. Now we have FY16_Giving_Total__c and FY17_Giving__Total__c. You might see where this is going. Eventually, Today, we have 4 years of totals and no one cares about FY 16 anymore. Looking back I wish I had thought to write a more complex definition for Current_FY_Giving_Total__c. Prior_FY_Giving_Total__c and maybe even 2_Years_Ago_FY_Giving_Total__c. Three fields to maintain. Once the formula is correct there is no need to ever modify it. No need to build a new one annually. No one cares about totals from three years ago

CONFESSION #398

Confession #398

I blindly activate critical updates without testing. Hoping it doesn’t break something.

CONFESSION #397

Confession #397

I joined a company that worked with salesforce for couple of years. The admins put only the customers into the system not the prospects – argument for that was they can´t differentiate if customer or prospect. You can imagine my face seeing 4k prospects in excel sheets.

CONFESSION #396

Confession #396

I built some new functionality, wrote my user training documentation, and pushed it to production. Another admin inadvertently wiped out this functionality on a subsequent change set from a different sandbox, which we didn’t discover for 4 months. Now I have to go back and re-figure out how I designed it to work originally so I can put it back and I’m realizing how much I didn’t document and don’t remember…

CONFESSION #395

Confession #395

That special moment when a Salesforce user insists on using Notes to capture all calls, tasks & to-do items, because using native Activities “is too much”

CONFESSION #394

Confession #394

I joined a company whose salesforce instance had been touched by a number of actors without any training. Lots of stories, but the one that made me laugh the most is the field “Today Date” on an Account. And yes, it was a formula field, and the formula was TODAY()

CONFESSION #393

Confession #393

I joined a company with a very old org: 100+ objects, several almost at their field limits, 50+ profiles, 100+ permission sets, tens of thousands of reports…! Sandboxes not refreshed in years, deploying changes manually… Worst of all, no documentation of anything!

CONFESSION #392

Confession #392

The CEO of a non-profit I worked for wanted all the major gifts officers to start tracking their donor portfolios (meetings, phone calls, emails) in a binder. As system admin I suggested using tasks and activities to log donor touches and keep the history in Salesforce, then schedule a report to his inbox at the interval of his choosing. That went over like a lead balloon…

CONFESSION #391

Confession #391

A global organization purchased hundreds of licenses and appointed one internal admin to implement and maintain the org. After three years of work, there is a data model in place which requires to create same fields year after year, because they capture data only for that year. User adoption is quite low…

CONFESSION #390

Confession #390

I took a job with a non-profit that had a new Salesforce system used for client management. The agency had a contract with the consultants who built the system to continue implementing new functionality. But there was NO SANDBOX – and the system was so horrifically complex that it required a developer to set up a Sandbox that worked. So the consultants – and us – were making all the changes, testing, etc. right in production. I was horrified. This story has a happy ending – by the end of my 4.5 years there, the agency was on a full Sandbox.

CONFESSION #389

Confession #389

Apex getter incremented a value stored in Salesforce after returning it. Performed a full DML to updated the value. Makes me scared to know what is happening when we simply get values in our org!

CONFESSION #388

Confession #388

When I first started working in Salesforce, without any training, the system administrators set me up with rights to manage our team’s users. Which also gave me rights to update my own profile and assign myself more rights… I am pretty cautious but I could really wreck something!

CONFESSION #387

Confession #387

Frustrated with Lightning, too many clicks, need to refresh the page multiple times before updates show up and hang time is too long. Still do all my work in Classic, especially in Setup.

CONFESSION #386

Confession #386

Credentials (yep, to Production system) hardcoded in Apex. And then debugged to developer console on each use!

CONFESSION #385

Confession #385

We have so many customizations (even, or actually especially when there is a matching standard feature) that I think we are doing that just for the sake of pushing Salesforce to its limits.

CONFESSION #384

Confession #384

Criteria-based sharing rules based on custom IP field. Continuous maintenance…

CONFESSION #383

Confession #383

Several times we got a CRITICAL issue, because a field was moved to the other section of the layout.

Confession #382

Confession #382

As a consultant I’ve had the opportunity to look into numerous orgs. First thing I do when I get onsite is look at the data model and security model. One such org was using Territory Management out of the box. They created a one to one relationship between territories and roles (which, by definition cancelled out the use of territories). As a result, the client had over 200 ROLES for sales people driving their security model. No wonder they were unable to share basic information with one another.

CONFESSION #381

Confession #381

We have continuous integration. Development process: Apex – code developed by developer, then committed to repository, then deployed to several sandboxes for testing, and finally deployed to production. Everything else that can be modified on production – developed directly on production by admin, and only then retrieved by devops team and added to repository, so “the users don’t have to wait”.

CONFESSION #380

Confession #380

Mandatory regulatory change. It is published months before it becomes mandatory, but dev team is informed so late that it has to be done ASAP, which means no code review, only basic tests that the new feature didn’t blow everything out or development directly on production. And yet despite it being ASAP, business still changes its mind, so subsequent fixes has to be made. And “ASAP” feature is on production after, say, month. And yet nobody cares.

CONFESSION #379

Confession #379

Code review performed by junior devs due to lack of seniors in team (currently only one).

CONFESSION #378

Confession #378

We’d like you to build all these API integrations and task automations… but we only bought Salesforce Professional Edition and we don’t want to purchase APIs or spend another cent. I feel like I’m holding it together with bandaids and sticky tape!!!

CONFESSION #377

Confession #377

In doing a health check on a customer org, I found a formula field called “Last Modified Date” that looked at the record’s last modified date.

CONFESSION #376

Confession #376

Was with a notforprofit converting to Salesforce. Already have an IT degree and oodles of experience, certified in SF in my own time and my own cost to support the project. Was told I wouldn’t be needed after the go-live because they had Salesforce Premium Support. The first day after I left my former manager ran a data import in production and screwed up about 900 contact records which they then told the Customer Service team to manually fix as they didn’t know how to undo their mistake and hadn’t taken a backup beforehand. Karma…

CONFESSION #375

Confession #375

Actual Test Class.
In Production.


public static void hackMethod () {
integer i = 0;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;

}

}

CONFESSION #374

Confession #374

Custom logic mixed in Apex classes, workflows, flows, process builders, formulae, even JavaScript on VF pages. Built by various consultants over years, and in some cases, by admin directly on production. No documentation.

CONFESSION #373

Confession #373

SOQL queries in loops.
Callouts in loops.
DMLs in loops.

CONFESSION #372

Confession #372

Multiple permission sets “Object Field edit” on Production, which give access to just one field on just one object.

CONFESSION #371

Confession #371

Permission set “{persons forename} Permission Set” on Production. That forename is quite rare, so we all know for which user was it created, but now it’s assigned to many other users, so it’s impossible to get rid of that.

CONFESSION #370

Confession #370

When you quickly make a change for a user, and they respond back immediately with “It’s still not fixed”. Then you remember you’re on Lightning and you have to ask the user to refresh their browser 20 times, log out and log in again, and then shake their computer a couple times so that Lightning will finally stop looking at the cache and load the new setting.

CONFESSION #329

Confession #369

I sometimes still use a pencil.

CONFESSION #368

Confession #368

We discovered Workflows and Validation Rules with open conditions and other workflows with overlapping/contradicting conditions on same object.

CONFESSION #367

Confession #367

I still build in Classic, but preach to my mentees to build in Lightning.

CONFESSION #366

Confession #366

Big issues with how fields are used in the Org. Too many custom fields so detail pages take longer to load. There is confusion over which fields to complete and which ones to skip. Using ‘Large Text’ fields instead of ‘Notes’ feature. Finally, rollup fields used as flags instead of rolling up count or currency.

CONFESSION #365

Confession #365

Inconsistent naming conventions & standards followed across code. Multiple frameworks for test classes, utility classes, trigger & integrations. Lack of code commenting makes it tough to maintain & support.

CONFESSION #364

Confession #364

Multiple Triggers/Classes/VF Pages with < 75% code coverage. The test classes just cover lines of code so they don't guarantee whether functionality worked or not.

CONFESSION #363

Confession #363

Custom object “X_History__c” with fields “Changed_Date__c”, “Field_Changed__c”, “Old_Value__c”, “New_Value__c”, “Changer__c”. Has it been created before SF introduced field history tracking?

CONFESSION #362

Confession #362

700 GB of record. When it’s close to the limit, we buy additional storage. About half was useless old “technical” records. Finally we managed to delete then. It took over a week and killed our async jobs due to SF’s daily limits.

CONFESSION #361

Confession #361

Using “Comments__c” text field on object, with tracked history, and refusing to use Chatter, because “that’d be something new to the users”.

CONFESSION #360

Confession #360

SF Cases used as issue tracker. When SF is not working, it ends with “where is your God now?” moment.

CONFESSION #359

Confession #359

Profiles: “X (company name) Administrator”, “Integration Admin”, “MC Integration Admin”, “X Support Administrator”, “X System Administrator”. Standard “System Administrator” in use as well.

CONFESSION #358

Confession #358

Fields “Value_2016__c”, “Value_2017__c”, “Value_2018__c”… Admin never heard of “zero, one, infinity” rule.

CONFESSION #357

Confession #357

Every partner company has its own profile.

CONFESSION #356

Confession #356

Virtually no role hierarchy (except “Top” and a few below, on the same level). Instead, profiles used as they were roles.

CONFESSION #355

Confession #355

Dozens of cross-object formula fields, so the user don’t have to switch to parent objects to see their fields.

CONFESSION #354

Confession #354

Hardcoded record type ID on formula. Impossible to use RecordType.DeveloperName because of exceeded limit of relationships on formulae.

CONFESSION #353

Confession #353

List views wrapped in VF pages, with extra controls. New list view = new VF page…

CONFESSION #352

Confession #352

I always try and steal my formulas from the Trailblazer community Answers section instead of build them myself…

CONFESSION #351

Confession #351

Customer using non-English language (our native) in org. Whereas official translations are not bad per se, but we, devs were so accustomed to English terminology that we had to switch it back to English to work efficiently.

CONFESSION #350

Confession #350

Case trigger creates tasks. Task trigger updates case, which creates another task. Infinity loop.

CONFESSION #349

Confession #349

Validation rule to stop one spammer (hardcoded email address) from creating email-to-case.

CONFESSION #348

Confession #348

Financial company. External consultants with unlimited System Administrator access to Production.

CONFESSION #347

Confession #347

Custom fields on Contact: Second First Name, Second Last Name.
– First or second?
– Yes.

CONFESSION #346

Confession #346

SF integrated with external system “X” directly (SOAP) AND through integration framework.

CONFESSION #345

Confession #345

I went into a company and found that a previous person had tried to implement Opportunities for the company who were using Leads for everything at this point. Rather than training the company on how to convert a Lead, loads of flows, triggers, lightning components (to show the Opportunity status on the lead) and formulas were used to keep the Lead in sync with its created Opportunity (created when the Lead reached a certain status) until the Opportunity closed as won. At this point, the Lead was converted, if lost, the lLead stayed forever. This also meant that no Accounts were ever created until the Opportunity was closed won. Needless to say, this was a tricky one to straighten up.

CONFESSION #344

Confession #344

Admins are unable to trust existing Permission Sets by their name. Numerous Profiles (~60) and Permissions Sets (~600) assigned to various users. Security Risks due to non-admin users in the org with high data exposure and higher level of system privileges like Export Data and View All/Edit All.

CONFESSION #343

Confession #343

Consultant was supposed to put a time stamp when a field was changed on a record. They wrote a formula so that every record would show as time stamped today. We paid $300/hour for this.

CONFESSION #342

Confession #342

Non-Salesforce legacy system has three orgs you have to log in and out of. Consultant set up Salesforce to push data into legacy system, which was still used. Consultant also made custom objects for Quote, Quote Line, Order, Order Item. No documentation. Business has thousands of products with multiple options to configure and each possible configuration has its own product record. Asked why he didn’t think to set up CPQ, he said, Well, CPQ is really complicated.

CONFESSION #341

Confession #341

I found out that our org has maxed our number of Workflow rules on a Case object. All rules are identical – they send email alert based on the same criteria and use the same email template, but each have only one recipient and it’s always a different person from the support team.

CONFESSION #340

Confession #340

Meant to sent a mass survey to 100k people that opted in. Instead sent to over 1 million people that never interacted with the company.

CONFESSION #339

Confession #339

Consultant who preceded me set it up so orders are created only when opportunities are closed/won.