top of page
Search

Salesforce Limits and How to Handle Them


salesforce limit

Salesforce is one of the most powerful and scalable CRM platforms available today. But with great power comes a few constraints. These constraints—known as Salesforce limits—are designed to ensure the platform remains secure, efficient, and optimized for all users in its multi-tenant environment.

Whether you’re a developer, administrator, or architect, understanding Salesforce limits is essential to building robust and scalable applications. In this blog, we’ll explore the different types of limits Salesforce enforces, why they exist, and the best strategies to handle them efficiently.

What Are Salesforce Limits and Why Do They Matter?

Salesforce limits are thresholds set by Salesforce to control the use of shared resources in its multi-tenant architecture. These limits prevent individual orgs or users from consuming excessive system resources, ensuring optimal performance for all customers.

Violating these limits can lead to runtime exceptions, failed transactions, and ultimately a poor user experience. Hence, being aware of these constraints and designing your solutions accordingly is critical.

Types of Salesforce Limits

Salesforce enforces various limits depending on context—some per transaction, some per org, and others daily. Here's a breakdown of the main categories of limits:

Common Salesforce Limits by Category

Limit Type

Example

Scope

Governor Limits

100 SOQL queries per transaction

Per transaction

API Limits

100,000 API calls per day

Per org (daily)

Heap Size

6 MB for synchronous transactions

Per transaction

DML Operations

Max 150 per transaction

Per transaction

Concurrent Callouts

Max 10 per transaction

Per transaction

Understanding Governor Limits in Salesforce

What Are Governor Limits?

Governor limits are the most common and critical Salesforce limits. They apply primarily to Apex code and ensure efficient resource use per transaction.

Some major governor limits include:

  • Maximum of 100 SOQL queries per transaction

  • 150 DML operations per transaction

  • Maximum CPU time of 10,000 ms

  • Heap size of 6 MB (synchronous)

These limits help maintain performance integrity across orgs by preventing inefficient or malicious code.

API Call Limits in Salesforce

Salesforce enforces daily limits on the number of API requests made by an org. These limits vary based on the Salesforce edition and number of user licenses.

  • REST/SOAP API: Used for system integrations

  • Bulk API: Ideal for handling large data operations

  • Streaming API: For real-time event delivery

If API limits are exceeded, integrations may fail until limits are reset (usually every 24 hours). Companies often work with Salesforce integration services providers to optimize API usage and streamline data flow between systems.

How to Handle Salesforce Limits in Apex Code

Apex developers must adopt best practices to avoid hitting Salesforce limits:

Bulkification

Design Apex code to handle multiple records at once rather than one at a time. Use collections like Lists and Maps for DML and SOQL operations.

Avoid Nested Loops

Nested loops can result in rapid consumption of limits. Always aim for flat logic wherever possible.

Use the Limits Class

Salesforce provides the Limits class, which allows you to check remaining governor limits at runtime. This is useful for dynamically managing logic and avoiding limit errors.

Optimizing SOQL and DML Usage

Exceeding SOQL or DML limits can cause your entire transaction to fail. To prevent this:

  • Use SOQL For Loops: These help in processing large record sets efficiently.

  • Minimize DML Statements: Perform DML operations on collections instead of one-by-one.

  • Avoid SELECT *: Always specify only the required fields in SOQL queries.

Handling Limits in Triggers

Trigger Best Practices to Stay Within Salesforce Limits:

  • One Trigger Per Object: Avoid multiple triggers for a single object to reduce complexity.

  • Bulkified Logic: Triggers should always support bulk operations.

  • Static Variables: Use static variables to prevent recursion in triggers.

Strategies to Handle Salesforce Limits Effectively

Here are some smart strategies to manage Salesforce limits:

1. Asynchronous Processing

Use Queueable, Batch, Future, and Scheduled Apex to process large data volumes outside of real-time transactions.

2. Modular Design

Break complex logic into smaller, reusable methods to improve efficiency and testability.

3. Use Platform Tools

  • System Overview Page: See org-level usage stats

  • Debug Logs: Identify what’s consuming the limits

  • Developer Console: Check real-time limit usage

Common Salesforce Limit Errors (And Their Fixes)

Error Message

Reason

Fix

Too many SOQL queries

Exceeded 100 queries in transaction

Combine queries, refactor loops

Too many DML statements

More than 150 DMLs in a single run

Batch operations, reduce unnecessary DML

CPU time limit exceeded

Complex or unoptimized logic

Optimize code, use asynchronous methods

Heap size too large

Large data or poor memory handling

Clean collections, avoid unnecessary data

Requesting Limit Increases from Salesforce

Some limits, such as daily API calls or email sends, can be increased by submitting a request to Salesforce Support. When requesting:

  • Include a business justification

  • Provide usage statistics

  • Show how you’re following best practices

Keep in mind that not all limits are flexible—some are hard-coded and cannot be changed.

Conclusion

Salesforce limits are not roadblocks—they’re guidelines that push us to build better, more efficient applications. By understanding the types of limits, why they exist, and how to work within them, you can prevent errors, optimize performance, and scale your solutions confidently.

Whether you're dealing with API restrictions, governor limits, or heap size constraints, following best practices and using Salesforce tools can keep your org running smoothly.

Many companies turn to a reliable Salesforce development company to ensure their custom applications and processes remain compliant with platform limitations while delivering optimal functionality.

FAQs

Q: What are Salesforce limits? Salesforce limits are restrictions set by Salesforce to ensure fair usage and performance stability across all users and orgs.

Q: How can I monitor my current Salesforce limits? You can view limits via Setup > System Overview or use the Limits Apex class.

Q: Can I request Salesforce to increase limits? Yes, for some soft limits like API calls, you can submit a case to Salesforce Support.

Q: What’s the best way to avoid governor limits? Follow bulkification practices, use asynchronous Apex, and always optimize your queries.

 
 
 

Comments


bottom of page