Custom Metadata Types vs Custom Settings vs Custom Labels 💬 In plain words: Three lookalikes: Custom Metadata = configuration that DEPLOYS with your code (best for app settings). Custom Settings = org/user-specific values, changeable at runtime (hierarchy type is great for bypass switches). Custom Labels = translatable text for the UI. 📌 Example: API endpoint URLs per environment → Custom Metadata (deploys with code, sandbox vs prod values). A 'Bypass_Automation__c' checkbox an admin flips during data load → hierarchy Custom Setting. The word 'Submit' translated to Hindi → Custom Label. 🎬 Real-Life Example: The Fee Table Trapped Inside Code Skyline charges a different delivery fee per city. Apex needs those rates on every booking. The Old/Bad Way: if (city == 'Delhi') fee = 50. Else if (city == 'Mumbai') fee = 65. … Every rate change is a code change, a test run, and a deployment. Why this is bad: Business data is trappe...
Troubleshooting Salesforce Error: "You have uncommitted work pending. Please commit or rollback before calling out in Salesforce"
Introduction: In Salesforce development, encountering errors is a common occurrence. One such error message that developers often come across is " You have uncommitted work pending. Please commit or rollback before calling out in Salesforce. " This error typically arises when performing a DML (Data Manipulation Language) operation after a callout, violating Salesforce's governor limits. In this blog post, we will explore the causes of this error and discuss effective solutions to resolve it.