<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arun Chandran</title>
	<atom:link href="https://arunchandran.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://arunchandran.org</link>
	<description>Where Innovation Gets Human – Arun Chandran’s Tech Hub!</description>
	<lastBuildDate>Tue, 01 Jul 2025 14:14:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Interview Questions and Answers for a Junior Salesforce Developer</title>
		<link>https://arunchandran.org/interview-questions-and-answers-for-a-junior-salesforce-developer/</link>
					<comments>https://arunchandran.org/interview-questions-and-answers-for-a-junior-salesforce-developer/#respond</comments>
		
		<dc:creator><![CDATA[arunc]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 14:14:19 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<guid isPermaLink="false">https://arunchandran.org/?p=32</guid>

					<description><![CDATA[&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[
<p>Here are 20 Interview Questions and Answers for a Junior Salesforce Developer role.</p>



<p></p>



<figure class="wp-block-image size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://arunchandran.org/wp-content/uploads/2025/07/Interview-Questions-and-Answers-for-a-Junior-Salesforce-Developer-1024x576.png" alt="" class="wp-image-33" style="width:542px;height:auto" srcset="https://arunchandran.org/wp-content/uploads/2025/07/Interview-Questions-and-Answers-for-a-Junior-Salesforce-Developer-1024x576.png 1024w, https://arunchandran.org/wp-content/uploads/2025/07/Interview-Questions-and-Answers-for-a-Junior-Salesforce-Developer-300x169.png 300w, https://arunchandran.org/wp-content/uploads/2025/07/Interview-Questions-and-Answers-for-a-Junior-Salesforce-Developer-768x432.png 768w, https://arunchandran.org/wp-content/uploads/2025/07/Interview-Questions-and-Answers-for-a-Junior-Salesforce-Developer.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<ol class="wp-block-list">
<li><strong>In your own words, what is Salesforce, and why do companies choose to use it?</strong><br>Salesforce is a cloud-based Customer Relationship Management (CRM) platform that helps businesses manage sales, service, marketing, and more. Companies use it because it&#8217;s scalable, highly customizable, and supports automation, analytics, and integration across departments—all from one place.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="2" class="wp-block-list">
<li><strong>Which Salesforce products have you worked with, and what have you found them useful for?</strong><br>I’ve worked with Sales Cloud for managing leads and opportunities, Service Cloud for customer support, and Marketing Cloud for campaign automation. Each one streamlines its respective function and provides strong analytics and automation tools.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="3" class="wp-block-list">
<li><strong>What exactly is Apex, and how have you used it in your projects?</strong><br>Apex is Salesforce&#8217;s object-oriented programming language, similar to Java. I use it to write business logic like triggers, batch jobs, custom web services, and scheduled jobs when declarative tools aren’t enough.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="4" class="wp-block-list">
<li><strong>If you&#8217;re tasked with migrating data into Salesforce, how would you go about it?</strong><br>I’d start by analyzing the data model and dependencies. Then, I’d use tools like Data Loader or Data Import Wizard for bulk imports. For complex transformations, I’ve used ETL tools like Informatica or Talend. I also ensure data integrity with validation and deduplication steps.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="5" class="wp-block-list">
<li><strong>Can you break down the difference between SOQL and SOSL and when you&#8217;d use each?</strong><br>SOQL (Salesforce Object Query Language) fetches records from a single object or related objects using structured queries. SOSL (Salesforce Object Search Language) is used for full-text searches across multiple objects. I use SOQL when I know exactly where the data is, and SOSL when searching across the platform.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="6" class="wp-block-list">
<li><strong>Have you built anything using Visualforce? Tell us about a real-world example.</strong><br>Yes, I created a custom invoice generator using Visualforce and Apex. It pulled data from multiple objects, displayed it in a printable layout, and generated PDFs on demand.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="7" class="wp-block-list">
<li><strong>What are some common limitations or quirks of Apex that developers should watch out for?</strong><br>Governor limits are the biggest challenge—like limits on SOQL queries, DML operations, and CPU time. Also, recursion and bulkification need to be managed carefully to avoid runtime errors.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="8" class="wp-block-list">
<li><strong>What is a trigger in Salesforce, and when would you use one?</strong><br>A trigger is a piece of Apex code that runs before or after a record is inserted, updated, deleted, or undeleted. I use them for enforcing complex business logic that can’t be handled through standard configuration.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="9" class="wp-block-list">
<li><strong>How do you maintain high code quality in your Salesforce development work?</strong><br>I follow best practices like writing bulk-safe and modular code, using trigger frameworks, writing unit tests with high coverage, conducting peer code reviews, and leveraging tools like PMD and SonarQube for static code analysis.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="10" class="wp-block-list">
<li><strong>What’s a Sandbox in Salesforce, and how do you typically use it during development or testing?</strong><br>A Sandbox is a replica of the production environment used for development, testing, and training without affecting live data. I typically use Developer Sandboxes for coding and Full/Partial Sandboxes for UAT and integration testing.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="11" class="wp-block-list">
<li><strong>Can you walk me through what a workflow rule does and when it&#8217;s useful?</strong><br>A workflow rule automates actions like field updates, email alerts, or task creation based on record criteria. It’s useful for simple automation, though now Flow is recommended for more complex logic.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="12" class="wp-block-list">
<li><strong>What steps do you take when you&#8217;re debugging an issue in Salesforce?</strong><br>I use debug logs, the Developer Console, and system debug statements to trace issues. I isolate the problem, reproduce it in a Sandbox, and use checkpoints or logs to identify the root cause.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="13" class="wp-block-list">
<li><strong>How would you explain custom objects and custom fields to someone new to Salesforce?</strong><br>Custom objects are like custom database tables in Salesforce created to store data unique to your business. Custom fields are columns in those tables. For example, a “Project” object with fields like “Start Date” and “Budget.”</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="14" class="wp-block-list">
<li><strong>Tell me about a tough Salesforce project you worked on. What made it challenging?</strong><br>I worked on a complex territory management revamp where we had to reassign accounts dynamically based on region and performance. The challenge was in performance optimization and preventing recursive triggers during mass updates.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="15" class="wp-block-list">
<li><strong>Salesforce evolves constantly—how do you keep up with the latest features and updates?</strong><br>I follow release notes every season (Spring, Summer, Winter), attend webinars and Salesforce Live events, and actively engage on Trailhead and the Salesforce Developer forums.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="16" class="wp-block-list">
<li><strong>What is batch Apex, and when is it the right solution?</strong><br>Batch Apex allows processing of large datasets asynchronously in chunks. I use it when data volumes exceed the governor limits of synchronous transactions—like cleansing millions of records or performing scheduled updates.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="17" class="wp-block-list">
<li><strong>How does the MVC (Model-View-Controller) framework apply in Salesforce development?</strong><br>Salesforce follows MVC where the <strong>Model</strong> is the data (objects/records), the <strong>View</strong> is the UI (Visualforce, Lightning), and the <strong>Controller</strong> is the business logic (Apex classes/controllers). It helps in separating concerns and organizing code effectively.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="18" class="wp-block-list">
<li><strong>Have you built with Lightning Components? Describe a scenario where they came in handy.</strong><br>Yes, I built a custom quote builder using Lightning Components where users could dynamically add products, apply discounts, and preview the total in real time. It greatly improved the sales team’s efficiency.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="19" class="wp-block-list">
<li><strong>When juggling multiple Salesforce tasks or projects, how do you manage your time effectively?</strong><br>I prioritize based on business impact, use tools like Jira or Trello for task tracking, block out focus time for deep work, and regularly sync with stakeholders to adjust timelines when needed.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<ol start="20" class="wp-block-list">
<li><strong>When a new Salesforce product or feature comes out, how do you go about learning it quickly?</strong><br>I explore it hands-on in a dev org, go through the relevant Trailhead modules, check out use cases from the Salesforce community, and apply it to a small internal project or prototype to solidify understanding.</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://arunchandran.org/interview-questions-and-answers-for-a-junior-salesforce-developer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>100 Salesforce Developer scenario-based questions and answers</title>
		<link>https://arunchandran.org/100-salesforce-developer-scenario-based-questions-and-answers/</link>
					<comments>https://arunchandran.org/100-salesforce-developer-scenario-based-questions-and-answers/#respond</comments>
		
		<dc:creator><![CDATA[arunc]]></dc:creator>
		<pubDate>Tue, 01 Jul 2025 14:00:19 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<guid isPermaLink="false">https://arunchandran.org/?p=28</guid>

					<description><![CDATA[&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[
<p>Here&#8217;s a comprehensive list of <strong>100 scenario-based interview questions and answers</strong> for a <strong>Salesforce Developer</strong> role. These cover Apex, Triggers, LWC, Integrations, Governor Limits, and real-world development scenarios.</p>



<p></p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="576" src="https://arunchandran.org/wp-content/uploads/2025/07/100-Salesforce-Developer-scenario-based-questions-and-answers-1024x576.png" alt="" class="wp-image-30" style="width:555px;height:auto" srcset="https://arunchandran.org/wp-content/uploads/2025/07/100-Salesforce-Developer-scenario-based-questions-and-answers-1024x576.png 1024w, https://arunchandran.org/wp-content/uploads/2025/07/100-Salesforce-Developer-scenario-based-questions-and-answers-300x169.png 300w, https://arunchandran.org/wp-content/uploads/2025/07/100-Salesforce-Developer-scenario-based-questions-and-answers-768x432.png 768w, https://arunchandran.org/wp-content/uploads/2025/07/100-Salesforce-Developer-scenario-based-questions-and-answers.png 1280w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<h3 class="wp-block-heading">1. <strong>SOQL inside loop</strong></h3>



<p><strong>Q:</strong> You find a trigger with SOQL queries inside a loop. What do you do?<br><strong>A:</strong> Refactor the code by moving SOQL queries outside the loop and using collections (maps/lists) to prevent governor limit violations.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">2. <strong>Field update on related object</strong></h3>



<p><strong>Q:</strong> You need to update a field on the parent Account when a Contact is modified. How?<br><strong>A:</strong> Use a <code>before update</code> trigger on Contact, and collect Account IDs. Query those Accounts, make necessary changes, and perform a DML update outside the loop.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">3. <strong>Integration with external API</strong></h3>



<p><strong>Q:</strong> How would you call an external REST API when a case is created?<br><strong>A:</strong> Use a trigger to call a future method or Queueable Apex that performs the HTTP callout asynchronously.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">4. <strong>Unique business logic</strong></h3>



<p><strong>Q:</strong> A record should only be saved if a custom logic is satisfied. Validation Rule isn&#8217;t sufficient. What do you do?<br><strong>A:</strong> Implement the logic in a <code>before insert</code> or <code>before update</code> trigger, throw an error using <code>addError()</code> on the field.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">5. <strong>Deploying to production fails</strong></h3>



<p><strong>Q:</strong> Deployment failed due to low test coverage. What’s your approach?<br><strong>A:</strong> Review test classes, identify uncovered lines, and write additional test methods to simulate real scenarios and increase coverage.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">6. <strong>Bulk record processing</strong></h3>



<p><strong>Q:</strong> A trigger works for single record but fails in bulk. What’s wrong?<br><strong>A:</strong> It’s not bulkified. Ensure logic uses bulk-safe patterns: avoid DML/SOQL in loops and handle records as collections.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">7. <strong>Display records in UI</strong></h3>



<p><strong>Q:</strong> You need to build a UI where users can edit related child records. How?<br><strong>A:</strong> Use LWC with Apex to fetch data. Allow inline editing in a data table and save via Apex controller using bulk DML.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">8. <strong>Governor limit exceeded</strong></h3>



<p><strong>Q:</strong> A process fails due to “Too many DML statements.” How to fix?<br><strong>A:</strong> Combine DML operations by batching records into a list and performing a single update or insert at the end of processing.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">9. <strong>Schedule a nightly job</strong></h3>



<p><strong>Q:</strong> How would you send daily reports via email?<br><strong>A:</strong> Write a class implementing <code>Schedulable</code>, query and format the report, then send using <code>Messaging.sendEmail()</code>. Schedule it via UI or code.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">10. <strong>Testing callouts</strong></h3>



<p><strong>Q:</strong> How do you write tests for callouts?<br><strong>A:</strong> Use <code>HttpCalloutMock</code> to simulate responses and test the logic without making actual API calls.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">11. <strong>Insert logic across multiple objects</strong></h3>



<p><strong>Q:</strong> You need to insert Opportunity and related custom object records in one go. How?<br><strong>A:</strong> Use Apex to insert the Opportunity first, capture the ID, then assign it to related records and insert them in bulk.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">12. <strong>Reusable logic</strong></h3>



<p><strong>Q:</strong> Business logic is repeated across multiple triggers. What’s your solution?<br><strong>A:</strong> Extract the logic into a separate Apex class (Handler) and call it from triggers. This promotes reusability and testability.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">13. <strong>Rollup summary on lookup</strong></h3>



<p><strong>Q:</strong> You need a rollup count on a lookup relationship. What do you do?<br><strong>A:</strong> Use Apex trigger or tools like Declarative Lookup Rollup Summaries (DLRS) to handle non-master-detail rollups.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">14. <strong>Update records via Flow</strong></h3>



<p><strong>Q:</strong> How to update related child records when parent field changes?<br><strong>A:</strong> Use a Record-Triggered Flow with Get Records + Loop + Update to handle this declaratively.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">15. <strong>Prevent delete based on condition</strong></h3>



<p><strong>Q:</strong> You need to block a record from being deleted if certain conditions are met. How?<br><strong>A:</strong> Use a <code>before delete</code> trigger to check the condition and call <code>addError()</code> to prevent deletion.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">16. <strong>Platform Event Handling</strong></h3>



<p><strong>Q:</strong> How would you use Platform Events to communicate between apps?<br><strong>A:</strong> Publish events from one process and subscribe in another (via Apex or external system). This decouples systems in an event-driven architecture.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">17. <strong>Large data migration</strong></h3>



<p><strong>Q:</strong> How would you insert 10 million records?<br><strong>A:</strong> Use <code>Batch Apex</code> to process records in manageable chunks and ensure it adheres to governor limits.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">18. <strong>Multiple triggers on same object</strong></h3>



<p><strong>Q:</strong> You discover several triggers on the same object. Is this okay?<br><strong>A:</strong> It’s not recommended. Combine logic into a single trigger and delegate tasks to handler classes.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">19. <strong>Dynamic SOQL</strong></h3>



<p><strong>Q:</strong> When and how would you use dynamic SOQL?<br><strong>A:</strong> When field names or object types are determined at runtime, use <code>Database.query()</code> safely with bind variables to avoid injection.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">20. <strong>Custom settings vs metadata</strong></h3>



<p><strong>Q:</strong> When would you choose Custom Metadata over Custom Settings?<br><strong>A:</strong> Custom Metadata is deployable and doesn’t count against data limits. Prefer it for config that shouldn’t change frequently.</p>



<h3 class="wp-block-heading">21. <strong>Trigger recursion</strong></h3>



<p><strong>Q:</strong> Your trigger is firing multiple times during a single transaction. How do you prevent recursion?<br><strong>A:</strong> Use a static Boolean variable in a helper class to track whether the logic has already been executed in the current context. This prevents recursive trigger calls by ensuring the logic runs only once.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">22. <strong>Null pointer exceptions in Apex</strong></h3>



<p><strong>Q:</strong> Your Apex code throws a null pointer exception when accessing a record field. How do you fix it?<br><strong>A:</strong> Add null checks before accessing the field. Use <code>if(record != null &amp;&amp; record.Field__c != null)</code> or optional chaining (<code>?.</code> in LWC) to avoid errors when fields or records may not be populated.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">23. <strong>Implementing polymorphism</strong></h3>



<p><strong>Q:</strong> How can you use polymorphism in Apex to manage different record types with shared logic?<br><strong>A:</strong> Create a virtual base class with shared methods and extend it for each record type’s custom logic. Use the base class in your main logic to handle records generically while calling the specific implementation when needed.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">24. <strong>Debugging governor limit issues</strong></h3>



<p><strong>Q:</strong> Your logic works fine in dev but fails in production with a limit error. What’s your approach?<br><strong>A:</strong> Use the Developer Console or debug logs to track the number of SOQLs/DMLs used. Ensure no SOQL/DML statements exist inside loops. Refactor the logic using maps or batch processing if the data volume is large.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">25. <strong>Calling batch from a trigger</strong></h3>



<p><strong>Q:</strong> You need to process heavy logic asynchronously but only from a trigger. What do you do?<br><strong>A:</strong> You can’t call batch classes directly from a trigger. Instead, enqueue a <strong>Queueable Apex</strong> job, which can call the batch class or handle the logic directly in a more controlled async context.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">26. <strong>Building a custom login flow</strong></h3>



<p><strong>Q:</strong> How can you implement a custom login flow to verify user agreement to terms?<br><strong>A:</strong> Create a custom Lightning component or Flow and assign it via Login Flows. The logic should check for user agreement and redirect them or log them out if not accepted.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">27. <strong>Locking records for update</strong></h3>



<p><strong>Q:</strong> How do you lock a record to prevent it from being edited concurrently?<br><strong>A:</strong> Use <code>SELECT Id FROM Object__c WHERE Id = :recordId FOR UPDATE</code> to lock the record during processing. This ensures safe concurrent updates.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">28. <strong>Securing Apex Web Services</strong></h3>



<p><strong>Q:</strong> How do you secure custom Apex REST web services?<br><strong>A:</strong> Use <code>@RestResource</code> with named paths. Check user permissions inside the method using <code>Schema.sObjectType.MyObject__c.isAccessible()</code> and enforce security with custom permission sets.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">29. <strong>Partial success on DML</strong></h3>



<p><strong>Q:</strong> What if some records succeed and others fail during an insert?<br><strong>A:</strong> Use <code>Database.insert(records, false)</code> to allow partial success. Then inspect the <code>Database.SaveResult[]</code> array to handle failures gracefully and notify users or log errors.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">30. <strong>Pagination in Apex</strong></h3>



<p><strong>Q:</strong> How do you build paginated results from an Apex controller?<br><strong>A:</strong> Use <code>OFFSET</code> in SOQL and track the current page on the client side. For example, <code>SELECT Name FROM Account LIMIT 10 OFFSET 20</code> for the third page.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">31. <strong>Refresh LWC after save</strong></h3>



<p><strong>Q:</strong> You need your LWC to reflect updated data after saving. What’s the approach?<br><strong>A:</strong> Use <code>refreshApex()</code> if using wired data, or re-fetch the data imperatively after a successful save to ensure the component reflects latest changes.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">32. <strong>Concurrent updates</strong></h3>



<p><strong>Q:</strong> Two users update the same record simultaneously. How do you handle it?<br><strong>A:</strong> Implement optimistic concurrency using <code>RecordType.LastModifiedDate</code> or <code>SystemModstamp</code>. Compare timestamps and warn the user if another change occurred during edit.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">33. <strong>Retrieve parent-child data efficiently</strong></h3>



<p><strong>Q:</strong> How do you query related records efficiently in Apex?<br><strong>A:</strong> Use relationship queries (SOQL nested queries), e.g., <code>SELECT Name, (SELECT LastName FROM Contacts) FROM Account</code>. This reduces the number of SOQL calls.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">34. <strong>Prevent updates based on record type</strong></h3>



<p><strong>Q:</strong> Some record types should be read-only. How do you enforce this?<br><strong>A:</strong> Use a <code>before update</code> trigger to check the record type. If it matches the restricted type, call <code>addError()</code> to block the update.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">35. <strong>Reusable LWC component</strong></h3>



<p><strong>Q:</strong> You need a component that can be reused across multiple objects. How do you make it generic?<br><strong>A:</strong> Use <code>@api</code> properties to pass object name, record ID, and fields into the component. Use <code>getRecord()</code> or Apex to dynamically retrieve and display data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">36. <strong>Mass delete with condition</strong></h3>



<p><strong>Q:</strong> You need to allow mass deletion of records, but only if a field is checked. What’s your approach?<br><strong>A:</strong> Use a custom button or Flow with decision logic to check the field. If true, proceed with deletion using Apex or Flow’s delete element.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">37. <strong>Programmatically share records</strong></h3>



<p><strong>Q:</strong> How do you share a custom object record with another user in Apex?<br><strong>A:</strong> Use the <code>Share</code> object (e.g., <code>CustomObject__Share</code>) and insert a new record with the user ID and access level (<code>Read</code>, <code>Edit</code>).</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">38. <strong>JSON circular references</strong></h3>



<p><strong>Q:</strong> You get an error while serializing Apex objects to JSON. Why?<br><strong>A:</strong> You may have circular references in your object graph. Use <code>JSON.serialize(object, true)</code> to handle deep cycles or refactor the object to avoid nesting loops.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">39. <strong>Expose Apex to external systems</strong></h3>



<p><strong>Q:</strong> You need to allow external systems to access your Salesforce logic. How?<br><strong>A:</strong> Create a <code>@RestResource</code> class or a <code>@WebService</code> class depending on whether the system uses REST or SOAP. Make sure you authenticate requests via OAuth.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">40. <strong>Special characters in SOQL</strong></h3>



<p><strong>Q:</strong> A user enters a name with an apostrophe. Your SOQL breaks. How do you fix it?<br><strong>A:</strong> Always use bind variables in dynamic SOQL to avoid manual escaping. For example: <code>WHERE Name = :userInput</code> safely handles special characters.</p>



<h3 class="wp-block-heading">41. <strong>Display picklist values in LWC</strong></h3>



<p><strong>Q:</strong> You want to show picklist values dynamically in LWC. How do you do it?<br><strong>A:</strong> Use <code>@wire(getPicklistValues, { recordTypeId: ..., fieldApiName: ... })</code> from <code>lightning/uiObjectInfoApi</code>. This provides picklist values based on the object and field.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">42. <strong>Use composite REST API</strong></h3>



<p><strong>Q:</strong> You want to create an Account and a related Contact in a single API call. What’s your approach?<br><strong>A:</strong> Use Salesforce’s <strong>Composite REST API</strong>. It allows chained operations where the second request can reference the ID from the first response using <code>@{referenceId.id}</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">43. <strong>Multi-step screen flow</strong></h3>



<p><strong>Q:</strong> A business process needs user input across multiple steps. How would you implement this?<br><strong>A:</strong> Use <strong>Screen Flow</strong> with multiple screens, decisions, and conditional paths. Variables are passed between screens and decisions determine the next step.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">44. <strong>Prevent duplicate records</strong></h3>



<p><strong>Q:</strong> Users are creating duplicate Contacts. How can you stop this?<br><strong>A:</strong> Use a <strong>before insert</strong> trigger or a duplicate rule. In Apex, query for existing Contacts with similar name/email and use <code>addError()</code> if a match is found.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">45. <strong>Use static resources in LWC</strong></h3>



<p><strong>Q:</strong> You want to load a custom JavaScript library in your component. What’s the solution?<br><strong>A:</strong> Upload the JS file as a <strong>static resource</strong>, then load it in your LWC using <code>loadScript(this, myResource)</code> from the <code>lightning/platformResourceLoader</code> module.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">46. <strong>Track field history in Apex</strong></h3>



<p><strong>Q:</strong> How can you manually track changes to fields for auditing?<br><strong>A:</strong> Use a <code>before update</code> trigger. Compare old and new values (<code>Trigger.oldMap.get(Id).Field__c != new.Field__c</code>) and log the changes to a custom history object.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">47. <strong>Trigger after attachment upload</strong></h3>



<p><strong>Q:</strong> You want to execute logic after a file is uploaded to a record. How?<br><strong>A:</strong> Use a trigger on the <code>ContentDocumentLink</code> object. This allows you to act once a file is linked to a record.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">48. <strong>Lazy load data in LWC</strong></h3>



<p><strong>Q:</strong> Your component loads too slowly because of large data. How can you improve it?<br><strong>A:</strong> Implement <strong>lazy loading</strong>. Fetch only the first batch, then load more when the user scrolls using an infinite scroll pattern or <code>onloadmore</code> events in <code>lightning-datatable</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">49. <strong>Memory leak in LWC</strong></h3>



<p><strong>Q:</strong> Your LWC component seems to slow down the browser. What’s your approach?<br><strong>A:</strong> Ensure all event listeners are removed in the <code>disconnectedCallback()</code> lifecycle hook and avoid unnecessary re-rendering of large data sets.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">50. <strong>Validate email domain</strong></h3>



<p><strong>Q:</strong> You want to ensure users don’t use personal email domains like gmail.com. How?<br><strong>A:</strong> Use a trigger or validation rule to check if the email contains <code>@gmail.com</code>, <code>@yahoo.com</code>, etc., and block the save using <code>addError()</code> or a validation formula.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">51. <strong>Invoke Apex from Flow</strong></h3>



<p><strong>Q:</strong> You want Flow to execute custom logic. How can this be done?<br><strong>A:</strong> Create an Apex class with the <code>@InvocableMethod</code> annotation. It allows Flows to call Apex and pass in data as input variables.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">52. <strong>Exception in Queueable Apex</strong></h3>



<p><strong>Q:</strong> Your Queueable class fails with an unhandled exception. What do you do?<br><strong>A:</strong> Wrap logic in try-catch blocks inside <code>execute()</code> and log errors to a custom object or send alerts to admins for visibility.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">53. <strong>API limits hit</strong></h3>



<p><strong>Q:</strong> You’re hitting API limits due to frequent external integrations. What’s your solution?<br><strong>A:</strong> Use <strong>Platform Events</strong> or <strong>Change Data Capture</strong> to reduce polling. Also, implement caching and batch integration requests where possible.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">54. <strong>Restrict trigger logic by profile</strong></h3>



<p><strong>Q:</strong> You want a trigger to run only for users with specific profiles. Can you do this?<br><strong>A:</strong> Use <code>UserInfo.getProfileId()</code> in the trigger context and compare it against allowed profiles. However, avoid using business logic filters in triggers if it can be handled in Flows or user permissions.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">55. <strong>Schedule a class from trigger</strong></h3>



<p><strong>Q:</strong> You need to delay logic but the call starts from a trigger. What’s the best option?<br><strong>A:</strong> Enqueue a <strong>Queueable class</strong> from the trigger. Queueables can be chained or scheduled if needed—unlike batch or scheduled Apex which can’t be called directly.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">56. <strong>Chain batch jobs</strong></h3>



<p><strong>Q:</strong> How do you run batch jobs sequentially?<br><strong>A:</strong> Use <code>Database.executeBatch()</code> and in the <code>finish()</code> method of the first batch, call the next batch. This ensures sequential execution.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">57. <strong>Setup wizard in LWC</strong></h3>



<p><strong>Q:</strong> You’re building a step-by-step setup UI. How do you approach it?<br><strong>A:</strong> Use LWC with multiple conditional sections controlled by step variables (<code>currentStep</code>). Each &#8220;Next&#8221; click moves to the next logical component section.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">58. <strong>Managed package Apex</strong></h3>



<p><strong>Q:</strong> You’re developing Apex for a managed package. What considerations do you take?<br><strong>A:</strong> Avoid hardcoded IDs. Use <code>with sharing</code> or <code>without sharing</code> appropriately. Expose methods with <code>global</code> instead of <code>public</code>, and make code namespace-aware.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">59. <strong>AuraEnabled security</strong></h3>



<p><strong>Q:</strong> Your Apex class is exposed to LWC but shows &#8220;Access Denied&#8221;. Why?<br><strong>A:</strong> Ensure the Apex class is marked with <code>@AuraEnabled</code> and <code>with sharing</code>. Also, check the user has CRUD/FLS access to referenced objects/fields.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">60. <strong>Query deleted records</strong></h3>



<p><strong>Q:</strong> You need to retrieve soft-deleted records. How?<br><strong>A:</strong> Use <code>ALL ROWS</code> or <code>FOR RECYCLE BIN</code> in your SOQL query. Example: <code>SELECT Name FROM Account WHERE IsDeleted = true ALL ROWS</code>.</p>



<h3 class="wp-block-heading">61. <strong>Custom Clone Button</strong></h3>



<p><strong>Q:</strong> You need to create a custom button to clone a record with some changes. How would you do that?<br><strong>A:</strong> Use a Quick Action or custom button that calls Apex. In Apex, query the existing record, modify desired fields, and insert a new record. Redirect the user to the new record using a <code>PageReference</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">62. <strong>Handle Email Bounces</strong></h3>



<p><strong>Q:</strong> How do you track bounced emails sent from Salesforce?<br><strong>A:</strong> Use the <code>EmailMessage</code> and <code>BounceNotification</code> objects. Set up email relay or bounce management and query the <code>BounceReason</code> and <code>BounceDate</code> for tracking.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">63. <strong>Test trigger on undeletable object</strong></h3>



<p><strong>Q:</strong> You need to write test coverage for a delete trigger on an object you can’t delete in real orgs. What do you do?<br><strong>A:</strong> In test methods, you can create and delete records without worrying about constraints like in production. Use <code>@isTest</code> context to simulate delete operations.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">64. <strong>Optimize slow SOQL</strong></h3>



<p><strong>Q:</strong> Your query is taking too long. What do you do?<br><strong>A:</strong> Use selective filters on indexed fields, reduce the number of fields selected, avoid <code>LIKE '%text%'</code>, and ensure queries don’t hit large joins or nested subqueries without limits.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">65. <strong>Uncommitted work exception</strong></h3>



<p><strong>Q:</strong> You get &#8220;Uncommitted work pending&#8221; when doing a callout. What happened?<br><strong>A:</strong> You&#8217;re performing DML before a callout. Move all DML after the callout or use <code>@future</code> or <code>Queueable</code> to separate the callout from the transaction.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">66. <strong>Pass data between components</strong></h3>



<p><strong>Q:</strong> You have multiple LWCs on the same page and want to pass data. How?<br><strong>A:</strong> Use a <strong>Lightning Message Service (LMS)</strong> for sibling components or parent-child communication using <code>@api</code> properties and custom events.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">67. <strong>Compare Custom Metadata</strong></h3>



<p><strong>Q:</strong> You need to check custom rules stored in metadata during a trigger. How do you do it?<br><strong>A:</strong> Query the custom metadata using <code>SELECT DeveloperName, Value__c FROM CustomMetadata__mdt</code> and cache results in maps for efficiency.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">68. <strong>Secure custom API</strong></h3>



<p><strong>Q:</strong> You built a custom Apex REST API. How do you restrict access?<br><strong>A:</strong> Use OAuth scopes and check user permissions inside the method. Consider validating API keys or session contexts and returning <code>403</code> if unauthorized.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">69. <strong>Avoid hardcoded IDs</strong></h3>



<p><strong>Q:</strong> You’re referencing a record type by ID in code. What’s the better approach?<br><strong>A:</strong> Use <code>Schema.SObjectType.MyObject__c.getRecordTypeInfosByName().get('MyRecordType').getRecordTypeId()</code> to fetch the ID dynamically.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">70. <strong>Prevent concurrent batch jobs</strong></h3>



<p><strong>Q:</strong> Two admins accidentally schedule the same batch job. How do you avoid this?<br><strong>A:</strong> Check for existing jobs using <code>System.abortJob()</code> or query <code>AsyncApexJob</code> to avoid duplicate runs. You can also set a custom flag in a Custom Setting to manage locks.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">71. <strong>Deploy Record Types</strong></h3>



<p><strong>Q:</strong> You need to deploy record types from sandbox to production. How?<br><strong>A:</strong> Use Change Sets or Salesforce CLI (metadata API) to deploy <code>RecordType</code>, ensuring the correct <code>Profiles</code> are also included for access control.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">72. <strong>Dynamically assign Record Types</strong></h3>



<p><strong>Q:</strong> How do you assign a record type based on user profile in Apex?<br><strong>A:</strong> In your Apex logic, query the desired RecordType by developer name and assign it based on the user’s profile using <code>UserInfo.getProfileId()</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">73. <strong>Format complex JSON in Apex</strong></h3>



<p><strong>Q:</strong> You need to send a nested JSON body to an external API. How?<br><strong>A:</strong> Create a wrapper class with inner classes matching the JSON structure. Use <code>JSON.serialize(wrapperObject)</code> to convert it properly.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">74. <strong>Debug async processes</strong></h3>



<p><strong>Q:</strong> How do you troubleshoot issues in Queueable or Batch jobs?<br><strong>A:</strong> Use <code>System.debug()</code>, log errors to a custom object, or set debug logs for the Apex job user. Monitor with <code>AsyncApexJob</code> or <code>ApexJob</code> records.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">75. <strong>Conditional UI in LWC</strong></h3>



<p><strong>Q:</strong> You want to show/hide components based on field values. What’s the best way?<br><strong>A:</strong> Use tracked variables and expressions in the HTML template. For example: <code>&lt;template if:true={showSection}&gt;</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">76. <strong>Prevent reprocessing of events</strong></h3>



<p><strong>Q:</strong> Your Platform Event subscriber sometimes processes the same event multiple times. How do you prevent it?<br><strong>A:</strong> Track processed event GUIDs in a custom object or cache and ignore duplicates. Use <code>ReplayId</code> to ensure ordering in external systems.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">77. <strong>Build Apex REST Service</strong></h3>



<p><strong>Q:</strong> You need to expose an Apex class for external use. How do you do it?<br><strong>A:</strong> Create a class with <code>@RestResource(urlMapping='/myendpoint/*')</code>, use <code>@HttpPost</code>, <code>@HttpGet</code> methods and parse <code>RestRequest.reqBody</code> as needed.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">78. <strong>Return JSON from LWC</strong></h3>



<p><strong>Q:</strong> Your Apex method should return structured JSON to an LWC. How?<br><strong>A:</strong> Return an object or a map, then use <code>JSON.serialize()</code> in Apex or parse the returned object directly in JS. LWC handles it as a JS object.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">79. <strong>Schedule Platform Events</strong></h3>



<p><strong>Q:</strong> You want to publish events on a schedule. What do you do?<br><strong>A:</strong> Write a <code>Schedulable</code> class that fires every night using <code>EventBus.publish()</code>. Schedule it using <code>System.schedule()</code>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">80. <strong>Dynamic field visibility in LWC</strong></h3>



<p><strong>Q:</strong> You want to hide a field unless a picklist has a specific value. What’s the best approach?<br><strong>A:</strong> Use reactive tracked variables or <code>@wire</code> data and evaluate the value with <code>if:true</code> or <code>if:false</code> directives in the template.</p>



<h3 class="wp-block-heading">81. <strong>Use wire service with filters</strong></h3>



<p><strong>Q:</strong> You want your LWC to filter data based on user input. How do you implement this with wire?<br><strong>A:</strong> Use <code>@wire(apexMethod, { searchKey: '$searchKey' })</code>. The <code>$</code> denotes reactivity, so when <code>searchKey</code> changes, the wire method re-runs automatically.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">82. <strong>Clone deep object trees</strong></h3>



<p><strong>Q:</strong> You need to clone an Opportunity with all its related Products. How would you do this?<br><strong>A:</strong> Query the parent and child records. Create deep copies using Apex, reset the IDs, adjust relationships (like OpportunityId), and insert them in bulk to maintain links.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">83. <strong>Trigger framework</strong></h3>



<p><strong>Q:</strong> You want to standardize all trigger logic across the org. What’s your solution?<br><strong>A:</strong> Use a trigger handler framework. Each trigger delegates logic to a handler class that implements logic based on context (<code>isInsert</code>, <code>isUpdate</code>, etc.), improving maintainability and testing.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">84. <strong>Store temporary user selections</strong></h3>



<p><strong>Q:</strong> You need to store a user’s temporary selections during a multi-screen process. Where?<br><strong>A:</strong> Use Lightning component attributes (LWC variables), Flow variables, or store it in a custom object if persistence across sessions is required.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">85. <strong>Track background job status</strong></h3>



<p><strong>Q:</strong> How can you show users the status of an Apex batch process?<br><strong>A:</strong> Query <code>AsyncApexJob</code> to get status and percentage. Display the info on a Visualforce page or LWC for real-time feedback.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">86. <strong>Log errors to custom object</strong></h3>



<p><strong>Q:</strong> How do you handle and persist errors in Apex?<br><strong>A:</strong> Use try-catch blocks and insert error details into a custom object (e.g., <code>Error_Log__c</code>) for auditing and troubleshooting.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">87. <strong>Query archived records</strong></h3>



<p><strong>Q:</strong> You need to query Tasks and Events older than a year. They aren’t showing up. Why?<br><strong>A:</strong> Use <code>ALL ROWS</code> or <code>FOR VIEW</code> in your SOQL. Salesforce archives old activities, and these flags allow access to historical data.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">88. <strong>OAuth integration</strong></h3>



<p><strong>Q:</strong> How would you connect Salesforce with a third-party app that uses OAuth 2.0?<br><strong>A:</strong> Register a Connected App, exchange authorization codes for tokens, and use named credentials or custom callout logic to securely access APIs.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">89. <strong>Business rules in metadata</strong></h3>



<p><strong>Q:</strong> You want to allow admins to control validation rules without code. How?<br><strong>A:</strong> Store business logic in <strong>Custom Metadata</strong> or <strong>Custom Settings</strong> and query them in Apex or Flows. This allows admins to toggle or update behavior declaratively.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">90. <strong>Load thousands of rows in UI</strong></h3>



<p><strong>Q:</strong> Your LWC must display 10,000 records. How do you make this performant?<br><strong>A:</strong> Use server-side pagination and lazy loading. Fetch 100–200 records at a time as users scroll, reducing the initial load.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">91. <strong>Process Excel files in Apex</strong></h3>



<p><strong>Q:</strong> A user uploads an Excel file. How do you parse it in Apex?<br><strong>A:</strong> Convert Excel to CSV before upload. Parse the CSV using <code>String.split()</code> and process records row by row.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">92. <strong>Trigger on public site form</strong></h3>



<p><strong>Q:</strong> You want to run logic after a user submits a form on a public site. How?<br><strong>A:</strong> Create a <code>before insert</code> trigger on the form’s target object. Make sure guest users have minimal required permissions for execution.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">93. <strong>Multi-step approval logic</strong></h3>



<p><strong>Q:</strong> A process requires conditional approvals. How would you set this up?<br><strong>A:</strong> Use a custom approval process with entry criteria and multiple approval steps. You can also invoke Apex from <code>ProcessInstance</code> for advanced scenarios.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">94. <strong>Apex CPU timeout</strong></h3>



<p><strong>Q:</strong> Your code is hitting Apex CPU limits. What now?<br><strong>A:</strong> Optimize logic: reduce nested loops, avoid unnecessary SOQL/DML, use maps for lookups, and consider async processing for heavy computations.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">95. <strong>Render charts in LWC</strong></h3>



<p><strong>Q:</strong> You need to display charts in a Lightning component. How?<br><strong>A:</strong> Use Chart.js as a static resource or leverage Lightning App Builder chart components. In LWC, dynamically build datasets and render via canvas.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">96. <strong>Handle orphaned records</strong></h3>



<p><strong>Q:</strong> You notice child records exist without a parent. How do you prevent this?<br><strong>A:</strong> Use <code>lookup filters</code> with <code>Required</code> enforcement or use a trigger to check for parent record presence before insert/update.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">97. <strong>Lead conversion with custom fields</strong></h3>



<p><strong>Q:</strong> You want to map a custom field from Lead to Account on conversion. How?<br><strong>A:</strong> Set up field mapping via <strong>Setup → Lead Mapping</strong>, or use Apex for more complex logic in a trigger on <code>Lead</code> or post-conversion automation.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">98. <strong>Validate date relative to today</strong></h3>



<p><strong>Q:</strong> A field should only accept dates in the future. How do you enforce it?<br><strong>A:</strong> Use a validation rule: <code>Date__c &lt; TODAY()</code> and show an error like “Date must be in the future.”</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">99. <strong>Use custom permissions in Apex</strong></h3>



<p><strong>Q:</strong> How can you check if a user should access a feature?<br><strong>A:</strong> Create a <strong>Custom Permission</strong>, assign it via permission sets, and use <code>FeatureManagement.checkPermission('Your_Permission')</code> in Apex.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">100. <strong>Retry logic for callouts</strong></h3>



<p><strong>Q:</strong> An HTTP callout fails occasionally. How do you implement retries?<br><strong>A:</strong> Use exponential backoff logic in Apex. Retry the callout up to a maximum number of times, spacing out retries (use recursive <code>Queueable</code> if needed).</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arunchandran.org/100-salesforce-developer-scenario-based-questions-and-answers/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What Is Salesforce? A Beginner’s Guide to Getting Started</title>
		<link>https://arunchandran.org/what-is-salesforce-a-beginners-guide-to-getting-started/</link>
					<comments>https://arunchandran.org/what-is-salesforce-a-beginners-guide-to-getting-started/#respond</comments>
		
		<dc:creator><![CDATA[arunc]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 15:02:22 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<guid isPermaLink="false">https://arunchandran.org/?p=24</guid>

					<description><![CDATA[&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[
<p>Welcome to the world of Salesforce — a name you’ve probably heard tossed around in tech circles, business meetings, or job boards. But what <em>exactly</em> is Salesforce, and why does it seem like <em>everyone</em> is talking about it? Whether you’re a total beginner, switching careers, or just curious, this guide will walk you through everything you need to know to start your Salesforce journey.</p>



<p></p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="1536" height="1024" src="https://arunchandran.org/wp-content/uploads/2025/06/What-Is-Salesforce-A-Beginners-Guide-to-Getting-Started.png" alt="What Is Salesforce A Beginner’s Guide to Getting Started" class="wp-image-25" style="width:571px;height:auto" srcset="https://arunchandran.org/wp-content/uploads/2025/06/What-Is-Salesforce-A-Beginners-Guide-to-Getting-Started.png 1536w, https://arunchandran.org/wp-content/uploads/2025/06/What-Is-Salesforce-A-Beginners-Guide-to-Getting-Started-300x200.png 300w" sizes="(max-width: 1536px) 100vw, 1536px" /></figure>



<p></p>



<h2 class="wp-block-heading"><strong>What Is Salesforce?</strong></h2>



<p>Salesforce is a <strong>cloud-based customer relationship management (CRM) platform</strong> — but calling it <em>just</em> a CRM is like calling a smartphone <em>just</em> a phone.</p>



<p>At its core, Salesforce helps companies manage relationships with customers, partners, and prospects. It centralizes data about sales, marketing, customer service, and more — all in one place — to boost efficiency, improve customer satisfaction, and drive business growth.</p>



<p>Salesforce was launched in <strong>1999</strong> by Marc Benioff and a group of visionaries who believed software should be delivered via the internet — not installed on individual machines. This “no software” philosophy kickstarted the <strong>Software as a Service (SaaS)</strong> revolution.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><strong>Why Is Salesforce So Popular?</strong></h2>



<p>A few reasons why Salesforce has become the gold standard in CRM:</p>



<ul class="wp-block-list">
<li><strong>Cloud First, Always:</strong> Salesforce was one of the first major cloud-based platforms. No installation, no infrastructure. Just log in and go.</li>



<li><strong>Customizable &amp; Scalable:</strong> From small startups to Fortune 500 giants, Salesforce can be customized for virtually any business or industry.</li>



<li><strong>App Ecosystem:</strong> The Salesforce AppExchange offers thousands of ready-made solutions and integrations.</li>



<li><strong>Regular Updates:</strong> Salesforce delivers three major releases a year, packed with new features based on user feedback.</li>



<li><strong>Community &amp; Support:</strong> With millions of users worldwide, Trailblazers (Salesforce enthusiasts) have formed a massive community that supports and inspires one another.</li>
</ul>



<h2 class="wp-block-heading"><strong>Benefits of Using Salesforce</strong></h2>



<p>Here’s why over 150,000 businesses — including Amazon, Toyota, and Spotify — use Salesforce:</p>



<p><strong>1. 360-Degree Customer View</strong></p>



<p>All your customer data — from past purchases to support cases — lives in one place. No more digging through spreadsheets or emails.</p>



<p><strong>2. Automation</strong></p>



<p>Automate repetitive tasks like sending emails, assigning leads, or updating records using tools like <strong>Process Builder</strong>, <strong>Flow</strong>, and <strong>Workflow Rules</strong>.</p>



<p><strong>3. Analytics &amp; Dashboards</strong></p>



<p>Gain insights with powerful reporting tools and real-time dashboards that help you make smarter business decisions.</p>



<p><strong>4. Improved Collaboration</strong></p>



<p>With <strong>Chatter</strong> and <strong>Slack integrations</strong>, teams can share updates, files, and feedback directly within Salesforce.</p>



<p><strong>5. Mobile Access</strong></p>



<p>The Salesforce mobile app lets you manage business on-the-go — track leads, update cases, or close deals from anywhere.</p>



<h2 class="wp-block-heading"><strong>The Evolution of Salesforce</strong></h2>



<p>Salesforce began as a CRM, but it has evolved into a full-blown cloud platform empire:</p>



<ul class="wp-block-list">
<li><strong>1999:</strong> Salesforce is born with a vision of CRM in the cloud.</li>



<li><strong>2005:</strong> AppExchange launches, allowing third-party developers to build on Salesforce.</li>



<li><strong>2009:</strong> Service Cloud and Marketing Cloud join the family.</li>



<li><strong>2015:</strong> Salesforce acquires analytics tool <strong>Tableau</strong> and deepens AI capabilities with <strong>Einstein AI</strong>.</li>



<li><strong>2021:</strong> Salesforce completes its $27.7B acquisition of <strong>Slack</strong>, positioning itself as a leader in digital HQs.</li>
</ul>



<p>Today, Salesforce powers everything from e-commerce to AI, and it continues to expand into new territories.</p>



<h2 class="wp-block-heading"><strong>Salesforce Cloud Services</strong></h2>



<p>Salesforce is made up of multiple “clouds,” each serving a different function. Here are the big ones:</p>



<p><strong>1. Sales Cloud</strong></p>



<p>Helps sales teams manage leads, opportunities, and accounts. It’s designed to close deals faster and more efficiently.</p>



<p><strong>2. Service Cloud</strong></p>



<p>A powerhouse for customer support, with features like case management, live chat, and AI-powered bots.</p>



<p><strong>3. Marketing Cloud</strong></p>



<p>Automates marketing across email, SMS, social media, and more. Personalizes communication at scale.</p>



<p><strong>4. Commerce Cloud</strong></p>



<p>Build and manage e-commerce experiences across web, mobile, and social platforms.</p>



<p><strong>5. Experience Cloud</strong></p>



<p>Creates customer portals, partner communities, and knowledge bases.</p>



<p><strong>6. Analytics Cloud (Tableau CRM)</strong></p>



<p>Visualizes business data and supports decision-making with advanced analytics.</p>



<p><strong>7. App Cloud (Now Salesforce Platform)</strong></p>



<p>Allows developers to build custom apps using <strong>Apex</strong>, <strong>Visualforce</strong>, and <strong>Lightning Web Components</strong>.</p>



<p><strong>8. Slack Integration</strong></p>



<p>Brings real-time collaboration into the CRM — turning Salesforce into a true digital HQ.</p>



<h2 class="wp-block-heading"><strong>Career Prospects in Salesforce</strong></h2>



<p>Salesforce isn’t just a tool — it’s a career ecosystem.</p>



<p><strong>High demand, high pay.</strong> Salesforce professionals are in huge demand globally, and roles range from technical to functional:</p>



<ul class="wp-block-list">
<li>Salesforce Administrator</li>



<li>Salesforce Developer</li>



<li>Salesforce Business Analyst</li>



<li>Salesforce Consultant</li>



<li>Solution Architect</li>



<li>Marketing Cloud Specialist</li>



<li>AI/Einstein Analyst</li>
</ul>



<p>According to industry reports, Salesforce-related jobs are projected to <strong>create over 9 million new jobs worldwide by 2026</strong>. Not bad, right?</p>



<h2 class="wp-block-heading"><strong>Certification and Training</strong></h2>



<p>Whether you&#8217;re switching careers or leveling up, Salesforce makes learning fun and accessible.</p>



<p><strong>Trailhead: Your Best Friend</strong></p>



<p>Trailhead is Salesforce’s <strong>free, gamified learning platform</strong>. You earn badges and points as you learn real-world skills.</p>



<p><strong>Popular Salesforce Certifications:</strong></p>



<ul class="wp-block-list">
<li><strong>Salesforce Certified Administrator</strong></li>



<li><strong>Salesforce Certified Platform Developer I &amp; II</strong></li>



<li><strong>Salesforce Certified Advanced Administrator</strong></li>



<li><strong>Salesforce Certified Marketing Cloud Consultant</strong></li>



<li><strong>Salesforce Certified Technical Architect (CTA)</strong> – the Everest of Salesforce certifications</li>
</ul>



<p>Most people start with the <strong>Admin</strong> or <strong>Platform Developer I</strong> certs, depending on their background.</p>



<p>Salesforce is more than a CRM — it&#8217;s a full-suite cloud platform, a career path, and a thriving community. It streamlines sales, automates service, personalizes marketing, and even empowers businesses to build their own apps.</p>



<p><strong>If you&#8217;re a beginner:</strong></p>



<ul class="wp-block-list">
<li>Start with <strong>Trailhead</strong></li>



<li>Learn the <strong>core modules</strong></li>



<li>Choose a <strong>certification path</strong></li>



<li>Join the <strong>Trailblazer Community</strong></li>



<li>And most importantly — <strong>get hands-on practice!</strong></li>
</ul>



<p>Whether you&#8217;re looking to grow your business or your career, Salesforce is one of the most powerful ecosystems out there.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://arunchandran.org/what-is-salesforce-a-beginners-guide-to-getting-started/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Can’t Log in to Salesforce? Here’s What Might Be Going Wrong (And How to Fix It)</title>
		<link>https://arunchandran.org/cant-log-in-to-salesforce-heres-what-might-be-going-wrong-and-how-to-fix-it/</link>
					<comments>https://arunchandran.org/cant-log-in-to-salesforce-heres-what-might-be-going-wrong-and-how-to-fix-it/#respond</comments>
		
		<dc:creator><![CDATA[arunc]]></dc:creator>
		<pubDate>Mon, 30 Jun 2025 14:47:08 +0000</pubDate>
				<category><![CDATA[Salesforce]]></category>
		<guid isPermaLink="false">https://arunchandran.org/?p=17</guid>

					<description><![CDATA[&#46;&#46;&#46;]]></description>
										<content:encoded><![CDATA[
<p>Salesforce is the lifeline of many businesses—so when you hit a login wall, it’s frustrating, stressful, and can halt productivity fast. Whether you’re a new user trying to access your org for the first time or a seasoned admin dealing with a sudden lockout, this blog post walks you through the most common login issues in Salesforce and how to troubleshoot them effectively.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://arunchandran.org/wp-content/uploads/2025/06/Cant-Log-in-to-Salesforce.png" alt="Can’t Log in to Salesforce? Here’s What Might Be Going Wrong (And How to Fix It)" class="wp-image-18" style="width:238px;height:auto" srcset="https://arunchandran.org/wp-content/uploads/2025/06/Cant-Log-in-to-Salesforce.png 1024w, https://arunchandran.org/wp-content/uploads/2025/06/Cant-Log-in-to-Salesforce-300x300.png 300w, https://arunchandran.org/wp-content/uploads/2025/06/Cant-Log-in-to-Salesforce-150x150.png 150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p></p>



<h2 class="wp-block-heading"><strong>Incorrect Username or Password</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>“Your login attempt has failed. Make sure the username and password are correct.”</li>



<li>Password resets don’t seem to work.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li><strong>Double-check your credentials</strong>: Salesforce usernames are usually email addresses but not always your work email.</li>



<li><strong>Caps Lock check</strong>: Passwords are case-sensitive.</li>



<li><strong>Reset your password</strong> via the “Forgot Your Password?” link.</li>



<li><strong>Admin help</strong>: If your password reset email doesn’t arrive, ask a Salesforce admin to manually reset your password.</li>
</ul>



<p>Admins can navigate to <strong>Setup → Users → [Your User] → Reset Password</strong>.</p>



<h2 class="wp-block-heading"><strong>User Is Locked Out</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You entered the wrong password too many times.</li>



<li>“Your account has been locked. Please contact your administrator.”</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Salesforce locks accounts after a defined number of failed login attempts (typically 5).</li>



<li>Only <strong>Salesforce admins</strong> can unlock your account via <strong>Setup → Users → [Your User] → Unlock</strong>.</li>
</ul>



<h2 class="wp-block-heading"><strong>IP Restrictions (Login IP Ranges)</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>“Your login attempt has been blocked. Please contact your administrator.”</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Your Salesforce org may restrict logins to specific IP ranges.</li>



<li>Try accessing Salesforce from a <strong>corporate network</strong> or <strong>VPN</strong>.</li>



<li>Admins can:
<ul class="wp-block-list">
<li>Add trusted IP ranges via <strong>Setup → Network Access</strong></li>



<li>Modify user-specific login IP ranges via <strong>Profile settings</strong></li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading"><strong>Login Hours Restrictions</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>“Login not allowed at this time.”</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Each profile can be assigned login hours (e.g., 9am–5pm).</li>



<li>If you’re trying to access Salesforce outside those hours, access will be denied.</li>



<li>Admins can go to <strong>Setup → Profiles → [Your Profile] → Login Hours</strong> to adjust the allowed times.</li>
</ul>



<h2 class="wp-block-heading"><strong>Stuck in a Login Loop or Redirect</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You enter your credentials, and Salesforce redirects you back to the login screen.</li>



<li>Happens frequently with <strong>SSO (Single Sign-On)</strong> setups.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Clear browser cache and cookies.</li>



<li>Try a different browser or private/incognito mode.</li>



<li>If you use SSO:
<ul class="wp-block-list">
<li>Ensure your <strong>Identity Provider (IdP)</strong> is functioning.</li>



<li>Contact your IT team if SSO settings changed.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading"><strong>Single Sign-On (SSO) or Federated Login Failures</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You’re redirected to an SSO page but can’t log in.</li>



<li>Errors like “SAML Assertion Failed” or “Your login attempt using single sign-on with an identity provider certificate has failed.”</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Check your email and username formats; sometimes SSO requires a different ID.</li>



<li>Confirm with your <strong>IdP administrator</strong> whether:
<ul class="wp-block-list">
<li>The SSO certificate has expired.</li>



<li>You’re authorized in the IdP to access Salesforce.</li>
</ul>
</li>



<li>Use the <strong>bypass login URL</strong>: <a href="https://login.salesforce.com?un=username">https://login.salesforce.com?un=username</a> to skip SSO temporarily (if allowed).</li>
</ul>



<h2 class="wp-block-heading"><strong>Verification Code or 2FA Issues</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You’re asked for a verification code but never receive it.</li>



<li>You’ve lost access to your mobile device.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Try checking your <strong>email</strong> and <strong>SMS inbox</strong> (depends on org settings).</li>



<li>Check <strong>Salesforce Authenticator app</strong> if previously set up.</li>



<li>If you lost access to your authenticator or phone, ask your admin to <strong>reset your MFA settings</strong>.</li>
</ul>



<h2 class="wp-block-heading"><strong>Using the Wrong Salesforce Instance (URL)</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You’re trying to log in at login.salesforce.com, but it doesn&#8217;t work.</li>



<li>You get redirected or land on a sandbox, not production.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li><strong>Production login</strong>: https://login.salesforce.com</li>



<li><strong>Sandbox login</strong>: https://test.salesforce.com</li>



<li><strong>Custom domain login</strong>: https://[yourdomain].my.salesforce.com</li>



<li>Confirm with your admin or bookmark the correct URL.</li>
</ul>



<h2 class="wp-block-heading"><strong>Sandbox Access Issues</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You can access production but not the sandbox.</li>



<li>&#8220;Username or password invalid.&#8221;</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Sandbox usernames often include a <strong>“.sandboxname”</strong> suffix.
<ul class="wp-block-list">
<li>Example: user@example.com.sandbox</li>
</ul>
</li>



<li>Passwords don’t carry over automatically when a sandbox is refreshed.
<ul class="wp-block-list">
<li>Ask the admin to reset your sandbox password after a refresh.</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading"><strong>Profile/Permission Set Changes</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You used to log in fine, but now receive access denied or redirection errors.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>A recent <strong>permission set or profile change</strong> might have affected:
<ul class="wp-block-list">
<li>IP range</li>



<li>Login hours</li>



<li>App visibility</li>
</ul>
</li>



<li>Contact your Salesforce admin to review recent changes to your access.</li>
</ul>



<h2 class="wp-block-heading"><strong>Browser or Device Compatibility Issues</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>Login page doesn&#8217;t load correctly.</li>



<li>Buttons don’t respond or pages freeze.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Use supported browsers: latest Chrome, Firefox, Edge, or Safari.</li>



<li>Disable extensions or ad-blockers.</li>



<li>Try private/incognito mode.</li>



<li>Update your browser to the latest version.</li>
</ul>



<h2 class="wp-block-heading"><strong>Caching Problems</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You’re stuck on outdated pages or receive old error messages.</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Clear browser cache and cookies.</li>



<li>Use <strong>Ctrl + Shift + R</strong> (hard refresh).</li>



<li>Log in via incognito/private window to bypass cache.</li>
</ul>



<h2 class="wp-block-heading"><strong>Account Deactivated</strong></h2>



<p><strong>Symptoms:</strong></p>



<ul class="wp-block-list">
<li>You suddenly can’t log in even with correct credentials.</li>



<li>“Your account is inactive.”</li>
</ul>



<p><strong>How to Fix:</strong></p>



<ul class="wp-block-list">
<li>Only Salesforce admins can reactivate a user via:
<ul class="wp-block-list">
<li><strong>Setup → Users → [Your User] → Uncheck “Active”</strong> box and re-enable.</li>
</ul>
</li>



<li>If you’ve left a company, your access may be intentionally removed.</li>
</ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://arunchandran.org/cant-log-in-to-salesforce-heres-what-might-be-going-wrong-and-how-to-fix-it/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
