Salesforce App Limits Cheatsheet
Salesforce App Limits Cheatsheet
Quick Reference
Version 37.0, Summer ’16
@salesforcedocs
Last updated: July 28, 2016
© Copyright 2000–2016 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com, inc.,
as are other names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
SALESFORCE LIMITS QUICK REFERENCE GUIDE
1
CHAPTER 1 Salesforce Application Limits
Certificates: maximum 50
2
Salesforce Application Limits Salesforce Features and Editions Limits Table
3
Salesforce Application Limits Salesforce Features and Editions Limits Table
Custom settings: cached The lesser of 10 MB or 1 MB multiplied by the number of full-featured user licenses in your org (N/A in
data limit Contact Manager and Professional Editions)
Entitlement processes and You can create up to 1,000 entitlement processes total,
milestones with up to 10 milestones per process. If your org was
N/A
created before Summer ’13, its maximum entitlement
processes can be lower. Contact Salesforce to increase it.
Formulas: maximum
displayed characters after an
1,300
evaluation of a formula
expression
4
Salesforce Application Limits Salesforce Features and Editions Limits Table
Formulas: unique
10
relationships per object
Formulas: VLOOKUP
10
functions per object
Master-detail relationship:
10,0008
maximum child records
Omni-Channel: maximum
10,000
pending routing requests9
N/A
Omni-Channel: maximum
5,000 per hour
queued work items10
Opportunity Teams:
N/A 30
maximum members
Question: maximum
N/A 1,000 N/A
characters
5
Salesforce Application Limits Salesforce Features and Editions Limits Table
Shared Activities You can relate up to 50 contacts to nonrecurring tasks, nongroup tasks, and nonrecurring events. You
can assign one primary contact. All others are secondary contacts.
Sharing rules You can create up to 300 sharing rules per object, including
N/A
up to 50 criteria-based rules.
Static resources A static resource can be up to 5 MB. An org can have up to 250 MB of static resources
total.
6
Salesforce Application Limits Salesforce Features and Editions Limits Table
Territories: maximum
N/A 15
account assignment rules
Web-to-Case: maximum
new cases generated in a 5,00011
24–hour period
N/A
Web-to-Lead: maximum
new leads generated in a 50011
24–hour period
1
You can add an attachment to the Attachments related list of a case, solution, campaign, task, or event, or to the Notes & Attachments
related list of an account, contact, lead, opportunity, or custom object. If you don’t see the related list on task or event page layouts, ask
your admin to add it.
2
The custom apps and custom tabs that are contained in a managed package that’s publicly posted on the AppExchange don’t count
against the limits for your Salesforce edition.
3
Additional restrictions apply for activities, long text area fields, relationship fields, and roll-up summary fields.
4
When data is substituted for the tokens in the URL, the link can exceed 3,000 bytes. Some browsers enforce additional limits for the
maximum URL length.
7
Salesforce Application Limits Salesforce Reports and Dashboards Limits
5
The custom objects that are contained in a managed package that’s publicly posted on the AppExchange don’t count against the limits
for your Salesforce edition. At the same time, an org can’t have more than 2,000 custom objects, regardless of the source or namespace
of those objects. Soft-deleted custom objects and their data count against your limits. We recommend that you hard delete or erase
custom objects you no longer need.
6
Each relationship is included in the maximum custom fields allowed.
7
The limit of 100 external objects applies regardless of how many Salesforce Connect add-ons you purchase for your org.
8
As a best practice, don’t exceed 10,000 child records for a master-detail relationship.
9
Maximum objects that can be pending for Omni-Channel routing in an org. When an item is assigned to Omni-Channel-enabled
queues, Omni attempts to route it to an available agent. If no agent is available, the work is pending routing.
10
Maximum records that can be queued per hour in an org, across all Omni-Channel-enabled queues. Each time an item is assigned to
an Omni-Channel queue, the platform checks how many items were queued in the preceding hour. If the limit has been reached, the
item isn’t assigned to the queue.
9
Maximum objects that can be pending for Omni-Channel routing in an org. When an item is assigned to Omni-Channel-enabled
queues, Omni attempts to route it to an available agent. If no agent is available, the work is pending routing.
11
If your org exceeds its daily Web-to-Case or Web-to-Lead limit, the default case owner or default lead creator receives a notification
email that contains information about the case or lead. When your org reaches the 24-hour limit, Salesforce stores additional requests
in a pending request queue that contains Web-to-Case and Web-to-Lead requests. The requests are submitted when the limit refreshes.
The pending request queue has a limit of 50,000 combined requests. If your org reaches the pending request limit, additional requests
are rejected and not queued. Your admin receives email notifications for the first five rejected submissions. Contact Salesforce Customer
Support to change your org’s pending request limit.
Scheduled dashboard
N/A 12 22 N/A
refreshes
8
Salesforce Application Limits Campaign Limits
1
These limits apply to the report builder. If you’re using the report wizard, the limit is 10.
2
Up to 200 total.
3
Off-peak hours (between 6 PM and 3 AM local time) only.
4
Limited to one preferred start time per day.
5
Limited to three preferred start times per day.
Campaign Limits
Adding Contacts to Campaigns
Contact Source Recommended Campaign Member Maximum Number of Records
Tool
A report of existing contacts Add Campaign Members from Reports 50,000 per report
A .csv file of existing contacts Add Existing Contacts to a Campaign with 50,000 per import file
the Data Import Wizard
A .csv file of new contacts Create Contacts and Add Them to a 50,000 per import file
Campaign with the Data Import Wizard
A list view of existing contacts Adding Contacts or Leads from a List View 250 per list page
to a Campaign
A .csv file of existing leads Add Existing Leads to a Campaign with the 50,000 per import file
Data Import Wizard
A .csv file of new leads Create Leads and Add Them to a Campaign 50,000 per import file
with the Data Import Wizard
A list view of existing leads Adding Contacts or Leads from a List View 250 per list page
to a Campaign
9
Salesforce Application Limits Chatter Limits
Chatter Limits
Feature Limit
Groups
Feeds
Characters in a mention search string 500 for a person’s first and last name (combined),
or for a group name
Bookmarks Unlimited
Favorites 50
Maximum posts you can see in your feed at any given time The 500 most recent posts. This limit doesn’t
apply to profile, group, and record feeds.
Files
10
Salesforce Application Limits Chatter Limits
Feature Limit
Characters in a Chatter message 10,000
Skills
Topics
1
All groups count toward this limit, except archived groups. For example, if you're a member of 300 groups, of which 10 are archived,
you can join 10 more groups.
2
You can follow a maximum combined total of 500 people, topics, and records. To see how many items you’re following, view the
Following list on your profile.
File storage per Chatter Plus user (Enterprise, Performance, and Unlimited Editions) 2 GB
Posts and comments that users make in Chatter are retained during the entire time that a customer's applicable org remains provisioned.
We reserve the right to enforce limits on:
• The number of system-generated tracked feed updates. Currently tracked feed updates that are older than 45 days and have no
likes or comments are deleted automatically. The tracked feed updates no longer appear in the feed. However, if auditing is enabled
for a tracked field, the audit history for that field is still available.
• The number of email notifications that can be sent per org per hour.
The limits are subject to change. Contact Salesforce for more information.
PDF .pdf 25 MB
11
Salesforce Application Limits Custom Field Limits
RTF .rtf 5 MB
XML .xml 5 MB
Long text area An object can contain unlimited rich text area and long text area fields, although your edition’s limit for total custom
Rich text area fields allowed on an object, regardless of field type, applies. Each object can contain 1,600,000 characters across long
text area and rich text area fields. When you create a long text area or rich text area field, you set a character limit for
the field—the maximum length of the text that can be entered. The default character limit for long text area and rich
text area fields is 32,768 (32 KB). The maximum character limit for long text area and rich text area fields is 131,072
(128 KB). The minimum character limit is 256. The maximum size of an image that can be uploaded in a rich text area
field is 1 MB.
Relationship 40
No additional
Roll-up limit 25
summary
Email Limits
Feature Personal Contact Group Professional Enterprise Unlimited Developer
Edition Manager Edition Edition Edition and Edition
Performance
Edition
Email templates: maximum 384 KB for • 384 KB for text, HTML, and custom HTML templates
size text email
• 1 MB for Visualforce templates
templates
12
Salesforce Application Limits Email Limits
Email-to-Case: maximum
2,500 per day
emails converted into cases
On-Demand Email-to-Case:
maximum email messages
Number of user licenses multiplied by 1,000; maximum
processed by Salesforce per
1,000,000
day (counts toward limit for
email services) N/A
On-Demand Email-to-Case:
maximum email size (email
25 MB1
headers, body, attachments,
and encoding)
1
The maximum size of email messages for email services varies depending on language and character set. The size of an email message
includes the email headers, body, attachments, and encoding. As a result, an email with a 25 MB attachment likely exceeds the 25 MB
size limit for an email message after accounting for the headers, body, and encoding.
For more information on outbound email limits, see Email Limits.
13
Salesforce Application Limits Salesforce Knowledge Limits
Maximum number of custom fields per Enterprise, Developer, and Unlimited editions: 500 custom fields per article type
article type Performance editions: 800 custom fields per article type
Maximum file field size File fields are counted as attachments and can be up to 25 MB.
Maximum unique article references (links) You can have up to 100 links to different Salesforce Knowledge articles in one rich text
in a rich text area field field.
Article import The import .zip file must meet the following requirements:
• There can only be one .csv file and one .properties file.
• The .csv file and the .properties file must be in the root directory.
• The compression process must preserve the folder and subfolder structure.
• The .zip file name can’t contain special characters.
• The .zip file can’t exceed 20 MB and the individual, uncompressed, files within the zip
file can’t exceed 10 MB.
• .csv files can’t have more than 10,000 rows, including the header row. Therefore, you
can have a maximum of 9,999 articles and translations.
• .csv file rows can’t exceed 400,000 characters.
• .csv file cells can’t exceed 32 KB.
• Each article in the .csv file can’t have more than 49 translations.
Maximum number of categories per data 100 categories in a data category group
category group
14
Salesforce Application Limits Picklist Limits
Salesforce Knowledge Limits Details for Performance, Unlimited, Enterprise, and Developer Editions
Maximum number of data categories from 8 data categories from a data category group assigned to an article
a data category group assigned to an
article
Maximum number of promoted search Your organization can create a maximum of 2,000 promoted terms.
terms
Picklist Limits
The maximum entries you can have in a picklist is determined by the total number of characters allowed in the picklist, which is 15,000.
Each entry includes a line break and a return character that aren’t visible. These two additional characters per entry are counted as part
of the 15,000 limit.
Task Priority 50
Case Priority 50
15
Salesforce Application Limits Sites Limits
Sites Limits
Edition Maximum Bandwidth Limit (per rolling Service Request Time (per Maximum Page
Number of Sites 24-hour period per site) rolling 24-hour period per Views
site)
Developer Edition 1 500 MB 10 minutes N/A
16
Salesforce Application Limits Workflow and Approval Limits
Limit Details
• 10 tasks
• 10 field updates
• 10 outbound
messages
Approval request Approval request comments are limited to 4,000 characters. In Chinese, Japanese,
comments: maximum or Korean, the limit is 1,333 characters.
characters
Workflow emails per day 1,000 per standard Salesforce license (15 in Developer Edition); 2,000,000 per org
1
The Process Builder has superseded flow trigger workflow actions, formerly available in a pilot program. Organizations that are using
flow trigger workflow actions can continue to create and edit them, but flow trigger workflow actions aren’t available for new organizations.
17
Salesforce Application Limits Data Related Limits
The organization reaches 90% of the limit One warning email The limit and the organization's usage
of emails per day
The organization reaches 90% of the limit One warning email The limit and the organization's usage
of workflow emails per day
An email alert isn't sent because the A warning email after every 100 attempted The limit and the organization's usage
organization reaches the limit of emails per email alerts over the limit
day
An email alert isn't sent because the A warning email after every 100 attempted The limit and the organization's usage
organization reaches the limit of workflow email alerts over the limit
emails per day
18
Salesforce Application Limits Import Limits
Import Limits
Type of record Import record limit User permissions needed
Business accounts and contacts owned by 500 at a time via the Import My Accounts & None
you Contacts wizard
19
Salesforce Application Limits External Data Integration Limits
Assets You can’t import these records via the Data Import Wizard.
Cases
Campaigns
Contracts
Documents
Opportunities
Products
Note: Your import file can’t exceed 100 MB, and each record in the file can’t exceed 400 KB. In addition, each imported note and
each imported description can’t exceed 32 KB. Descriptions longer than 32 KB are truncated. Assets, cases, campaigns, contracts,
documents, opportunities, and products can’t be imported via import wizards.
Maximum joins per query across external objects and other types of objects 4
Maximum length of the OAuth token that’s issued by the external system 4,000 characters
Maximum new rows retrieved per hour per external data source. This limit doesn’t apply to high-data-volume 50,000
external data sources or to rows that have previously been retrieved.
1
The limit of 100 external objects applies regardless of how many Salesforce Connect add-ons you purchase for your org.
20
Salesforce Application Limits Rules Limits
Rules Limits
The following table shows the restrictions for rules.
Restrictions Details
Active rules per object
(Limits apply to any combination of active workflow, 50
assignment, auto-response, and escalation rules.
Search Limits
The following file extensions and maximum file sizes are supported for Documents search.
PDF .pdf 25 MB
RTF .rtf 5 MB
21
Salesforce Application Limits Storage Capacity Limits
XML .xml 5 MB
Note: The contents of documents that exceed the maximum sizes are not searched; however, the document fields are still
searched. Only the first 1,000,000 characters of text are searched. Text beyond this limit is not included in the search.
Storage Capacity
Storage is divided into two categories. File storage includes files in attachments, Files home, Salesforce CRM Content, Chatter files
(including user photos), the Documents tab, the custom File field on Knowledge articles, and Site.com assets. Data storage includes the
following:
• Accounts
• Article types (format: “[Article Type Name]”)
• Article type translations (format: “[Article Type Name] Version”)
• Campaigns
• Campaign Members
• Cases
• Case Teams
• Contacts
• Contracts
• Custom objects
• Email messages
• Events
• Forecast items
• Google docs
• Ideas
• Leads
• Notes
• Opportunities
• Opportunity Splits
• Orders
• Quotes
22
Salesforce Application Limits File-Related Limits
Note: Each Salesforce CRM Content feature license provides an additional 512 MB of file storage, whether Salesforce CRM Content
is enabled or not.
File storage and data storage are calculated asynchronously, so if you import or add a large number of records or files, the change in
your org’s storage usage isn’t reflected immediately.
The minimum values in the table below apply to Salesforce and Salesforce Platform user licenses. If your org uses custom user licenses,
contact Salesforce to determine your exact storage amount. For a description of user licenses, see User Licenses.
Salesforce Edition Data Storage Data Storage File Storage File Storage
Minimum per Org Allocation per User Allocation per Org Allocation per User
License License
Contact Manager
Group 612 MB
20 MB
Professional
1 GB 10 GB
Enterprise
Performance 2 GB
120 MB
Unlimited
Developer 5 MB
File-Related Limits
The following limits are related to files stored in Salesforce.
23
Salesforce Application Limits File Size Limits
Documents tab • 5 MB
• 20 KB for a custom-app logo
Salesforce files 2 GB
Sandbox Limits
• You can refresh a Full sandbox 29 days after you created or last refreshed it. If you delete a Full sandbox within those 29 days, you
need to wait until after the 29 day period, from the date of last refresh or creation, to replace it.
• You can refresh a Partial Copy sandbox 5 days after you created or last refreshed it. If you delete a Partial Copy sandbox within those
5 days, you need to wait until after the 5 day period, from the date of last refresh or creation, to replace it.
• You can refresh a Developer or Developer Pro sandbox once per day.
• Enterprise Edition includes licenses for 25 Developer sandboxes and 1 Partial Copy sandbox.
• Performance Edition includes licenses for 1 Full sandbox, 5 Developer Pro sandboxes, 100 Developer sandboxes, and 1 Partial Copy
sandbox.
• Unlimited Edition includes licenses for 1 Full sandbox, 5 Developer Pro sandboxes, and 100 Developer sandboxes and 1 Partial Copy
sandbox.
• Professional Edition includes licenses for 10 Developer sandboxes. (Change sets aren’t available.)
• If you need licenses for more sandboxes, contact Salesforce to order sandboxes for your organization.
24
Salesforce Application Limits Sandbox Limits
25
CHAPTER 2 Force.com Platform Limits
Because Apex runs in a multitenant environment, the Apex runtime engine strictly enforces limits to ensure that runaway Apex code or
processes don’t monopolize shared resources.
Total stack depth for any Apex invocation that recursively fires triggers due to insert, 16
3
update, or delete statements
Total number of callouts (HTTP requests or Web services calls) in a transaction 100
Maximum timeout for all callouts (HTTP requests or Web services calls) in a transaction 120 seconds
Maximum number of methods with the future annotation allowed per Apex invocation 50
26
Force.com Platform Limits Apex Governor Limits
Maximum CPU time on the Salesforce servers5 10,000 milliseconds 60,000 milliseconds
Maximum number of push notification method calls allowed per Apex transaction 10
Maximum number of push notifications that can be sent in each push notification method 2,000
call
1
In a SOQL query with parent-child relationship subqueries, each parent-child relationship counts as an extra query. These types of
queries have a limit of three times the number for top-level queries. The row counts from these relationship queries contribute to the
row counts of the overall code execution. In addition to static SOQL statements, calls to the following methods count against the number
of SOQL statements issued in a request.
• Database.countQuery
• Database.getQueryLocator
• Database.query
2
Calls to the following methods count against the number of DML queries issued in a request.
• Approval.process
• Database.convertLead
• Database.emptyRecycleBin
• Database.rollback
• Database.setSavePoint
• delete and Database.delete
• insert and Database.insert
• merge and Database.merge
• undelete and Database.undelete
• update and Database.update
• upsert and Database.upsert
• System.runAs
3
Recursive Apex that does not fire any triggers with insert, update, or delete statements exists in a single invocation, with a
single stack. Conversely, recursive Apex that fires a trigger spawns the trigger in a new Apex invocation, separate from the invocation
of the code that caused it to fire. Because spawning a new invocation of Apex is a more expensive operation than a recursive call in a
single invocation, there are tighter restrictions on the stack depth of these types of recursive calls.
4
Email services heap size is 36 MB.
5
CPU time is calculated for all executions on the Salesforce application servers occurring in one Apex transaction. CPU time is calculated
for the executing Apex code, and for any processes that are called from this code, such as package code and workflows. CPU time is
private for a transaction and is isolated from other transactions. Operations that don’t consume application server CPU time aren’t counted
27
Force.com Platform Limits Apex Governor Limits
toward CPU time. For example, the portion of execution time spent in the database for DML, SOQL, and SOSL isn’t counted, nor is waiting
time for Apex callouts.
Note:
• Limits apply individually to each testMethod.
• To determine the code execution limits for your code while it is running, use the Limits methods. For example, you can use
the getDMLStatements method to determine the number of DML statements that have already been called by your
program. Or, you can use the getLimitDMLStatements method to determine the total number of DML statements
available to your code.
Note: These cross-namespace limits apply only to namespaces in certified managed packages. Namespaces in packages that are
not certified don’t have their own separate governor limits. The resources they use continue to count against the same governor
limits used by your org's custom code.
This table lists the cumulative cross-namespace limits.
Description Cumulative
Cross-Namespace Limit
Total number of SOQL queries issued 1,100
Total number of callouts (HTTP requests or Web services calls) in a transaction 1,100
All per-transaction limits count separately for certified managed packages except for:
28
Force.com Platform Limits Apex Governor Limits
Description Limit
The maximum number of asynchronous Apex method executions (batch Apex, future methods, 250,000 or the number of user
Queueable Apex, and scheduled Apex) per a 24-hour period1 licenses in your organization
multiplied by 200, whichever is
greater
Number of synchronous concurrent requests for long-running requests that last longer than 5 seconds 10
for each organization.2
Maximum number of batch Apex jobs in the Apex flex queue that are in Holding status 100
Maximum number of test classes that can be queued per 24-hour period (production organizations The greater of 500 or 10
other than Developer Edition)5 multiplied by the number of test
classes in the organization
Maximum number of test classes that can be queued per 24-hour period (sandbox and Developer The greater of 500 or 20
Edition organizations)5 multiplied by the number of test
classes in the organization
Maximum number of query cursors open concurrently per user for the Batch Apex start method 15
Maximum number of query cursors open concurrently per user for the Batch Apex execute and 5
finish methods
Maximum simultaneous requests to URLs with the same host for a callout request7 To external endpoints: 20
29
Force.com Platform Limits Apex Governor Limits
Description Limit
To endpoints within your
Salesforce org’s domain:
unlimited
1
For Batch Apex, method executions include executions of the start, execute, and finish methods. This limit is for your entire
organization and is shared with all asynchronous Apex: Batch Apex, Queueable Apex, scheduled Apex, and future methods. The licenses
that count toward this limit are full Salesforce user licenses or Force.com App Subscription user licenses. Chatter Free, Chatter customer
users, Customer Portal User, and partner portal User licenses aren’t included.
2
If more requests are made while the 10 long-running requests are still running, they’re denied.
3
When batch jobs are submitted, they’re held in the flex queue before the system queues them for processing.
4
Batch jobs that haven’t started yet remain in the queue until they’re started. If more than one job is running, this limit doesn’t cause
any batch job to fail and execute methods of batch Apex jobs still run in parallel.
5
This limit applies to tests running asynchronously. This group of tests includes tests started through the Salesforce user interface
including the Developer Console or by inserting ApexTestQueueItem objects using SOAP API.
6
For example, if 50 cursors are open and a client application still logged in as the same user attempts to open a new one, the oldest of
the 50 cursors is released. Cursor limits for different Force.com features are tracked separately. For example, you can have 50 Apex query
cursors, 15 cursors for the Batch Apex start method, 5 cursors each for the Batch Apex execute and finish methods, and 5
Visualforce cursors open at the same time.
7
The host is defined by the unique subdomain for the URL—for example, www.mysite.com and extra.mysite.com are two
different hosts. This limit is calculated across all organizations that access the same host. If this limit is exceeded, a CalloutException
is thrown.
Maximum SOQL query run time before Salesforce cancels the transaction 120 seconds
Maximum number of class and trigger code units in a deployment of Apex 5,000
Maximum number of records returned for a Batch Apex query in Database.QueryLocator 50 million
1
The HTTP request and response sizes count towards the total heap size.
30
Force.com Platform Limits Apex Governor Limits
1
This limit does not apply to certified managed packages installed from AppExchange (that is, an app that has been marked AppExchange
Certified). The code in those types of packages belongs to a namespace unique from the code in your organization. For more information
on AppExchange Certified packages, see the Force.com AppExchange online help. This limit also does not apply to any code included
in a class defined with the @isTest annotation.
2
Large methods that exceed the allowed limit cause an exception to be thrown during the execution of your code.
31
Force.com Platform Limits API Limits
Only deliverable notifications count toward this limit. For example, consider the scenario where a notification is sent to 1,000 employees
in your company, but 100 employees haven’t installed the mobile application yet. Only the notifications sent to the 900 employees who
have installed the mobile application count toward this limit.
Each test push notification that is generated through the Test Push Notification page is limited to a single recipient. Test push notifications
count toward an application’s daily push notification limit.
API Limits
The following are API limits for concurrent and total API requests, bulk API operations, API cursors, and limits of some selected APIs.
Trial organizations 5
Production organizations 25
Sandbox 25
32
Force.com Platform Limits API Requests Limits
Limits are enforced against the aggregate of all API calls made by the organization in a 24 hour period; limits are not on a per-user basis.
When an organization exceeds a limit, all users in the organization may be temporarily blocked from making additional calls. Calls will
be blocked until usage for the preceding 24 hours drops below the limit.
In the Salesforce application, administrators can view how many API requests have been issued in the last 24 hours on the Company
Information page (from Setup, enter Company Information in the Quick Find box, then select Company Information).
Administrators can also view a more detailed report of API usage over the last seven days by navigating to the Reports tab, selecting
the Administrative Reports folder and clicking the API Usage Last 7 days report.
Any action that sends a call to the API counts toward usage limits, except the following:
• Outbound messages
• Apex callouts
You can configure your organization so that email is sent to a designated user when the number of API requests has exceeded a specified
percentage of the limit. You can perform this configuration from Setup by entering API Usage Notifications in the Quick
Find box and then selecting API Usage Notifications.
33
Force.com Platform Limits Chatter REST API Limits
Note: Load, performance, and other system issues can prevent some limits from being reached. Limits can change without notice.
Applications should make efficient use of available requests and gracefully handle the 503 error code.
Batch lifespan Batches and jobs that are older than seven days are removed from the queue regardless
of job status. The seven days are measured from the youngest batch associated with a job,
or the age of the job if there are no batches. You can't create new batches associated with
a job that is more than 24 hours old.
Batch size • Batches for data loads can consist of a single CSV, XML, or JSON file that is no larger
than 10 MB.
• A batch can contain a maximum of 10,000 records.
• A batch can contain a maximum of 10,000,000 characters for all the data in a batch.
• A field can contain a maximum of 32,000 characters.
• A record can contain a maximum of 5,000 fields.
• A record can contain a maximum of 400,000 characters for all its fields.
• A batch must contain some content or an error occurs.
Batch processing time Batches are processed in chunks. The chunk size depends on the API version. In API version
20.0 and earlier, the chunk size is 100 records. In API version 21.0 and later, the chunk size
is 200 records. There’s a five-minute limit for processing each chunk. Also, if it takes longer
34
Force.com Platform Limits API Query Cursor Limits
Binary content • The length of any file name can't exceed 512 bytes.
• A zip file can't exceed 10 MB.
• The total size of the unzipped content can't exceed 20 MB.
• A maximum of 1,000 files can be contained in a zip file. Directories don't count toward
this total.
Bulk query number of attempts to query 15 attempts at 10 minutes each to process the batch. There is also a two minute limit on
the time to process the query. If more than 15 attempts are made for the query, an error
message of “Tried more than fifteen times” is returned. If the query takes more than two
minutes to process, a QUERY_TIMEOUT error is returned.
Bulk query number of retrieved files 15 files. If the query needs to return more than 15 files, the query should be filtered to return
less data. Bulk batch sizes are not used for bulk queries.
Job open time The maximum time that a job can remain open is 24 hours. The Bulk API doesn't support
clients that, for example, post one batch every hour for many hours.
describeSObjects() Maximum number of The describeSObjects() call is limited to a maximum of 100 objects
objects returned returned.
emptyRecycleBin() Maximum number of Your org can have up to 5,000 records per license in the Recycle Bin at any
records in the Recycle Bin one time. For example, if your org has five user licenses, 25,000 records can
be stored in the Recycle Bin. If your org reaches its Recycle Bin limit,
Salesforce automatically removes the oldest records, as long as they have
been in the recycle bin for at least two hours.
35
Force.com Platform Limits Streaming API Limits
login() Login request size limit The login request size is limited to 10 KB.
login() Maximum calls per user The limit is 3600 calls to login() per user per hour. Exceeding this limit
results in a “Login Rate Exceeded” error.
merge() Merge request limits • Up to 200 merge requests can be made in a single SOAP call.
• Up to three records can be merged in a single request, including the
master record. This is the same limit as the Salesforce user interface. If
you have more than three records to merge, use the same master record
in each request to avoid errors.
• External ID fields cannot be used with merge().
update() Maximum number of Your client application can change up to 200 records in a single update()
records updated call. If an update request exceeds 200 records, the entire operation fails.
query() and Batch size limits WSC clients can set the batch size by calling setQueryOptions()
queryMore() on the connection object. C# client applications can change this setting by
specifying the batch size in the call QueryOptions portion of the SOAP
header before invoking the query() call. The maximum batch size is
2,000 records. However this setting is only a suggestion. There is no
guarantee that the requested batch size will be the actual batch size. This
is done to maximize performance.
The batch size will be no more than 200 if the SOQL statement selects two
or more custom fields of type long text. This is to prevent large SOAP
messages from being returned.
36
Force.com Platform Limits Streaming API Limits
Socket timeout during connection (CometD session) 110 seconds 110 seconds 110 seconds
Maximum length of the SOQL query in the Query field of a PushTopic record 1,300 1,300 1,300
characters characters characters
Note: For free orgs, the maximum number of events within a 24-hour period is 10,000. Free orgs include Developer Edition orgs,
sandboxes, trial orgs (all editions) including partner test and demo orgs created through the Environment Hub.
Maximum events within a 24-hour period with Generic Streaming 100,000 100,000 100,000 10,000
(API version 36.0 and earlier)
Maximum events within a 24-hour period with Durable Generic 1,000,000 200,000 100,000 10,000
Streaming (API version 37.0 and later)
Note: Free orgs include Developer Edition orgs, sandboxes, and trial orgs (all editions) such as partner test and demo orgs created
through the Environment Hub.
Generic Streaming has the same limits for the maximum number of clients and maximum number of concurrent clients as PushTopic
Streaming. The following limits apply to Generic Streaming and Durable Generic Streaming.
37
Force.com Platform Limits Email Limits
Email Limits
Using the API or Apex, you can send single emails to a maximum of 1,000 external email addresses per day based on Greenwich Mean
Time (GMT). Single emails sent using the Salesforce application don't count toward this limit. There’s no limit on sending individual
emails to contacts, leads, person accounts, and users in your org directly from account, contact, lead, opportunity, case, campaign, or
custom object pages.
When sending single emails, keep in mind:
• You can send 100 emails per SingleEmailMessage.
• If you use SingleEmailMessage to email your org’s internal users, specifying the user’s ID in setTargetObjectId
means the email doesn’t count toward the daily limit. However, specifying internal users’ email addresses in setToAddresses
means the email does count toward the limit.
You can send mass email to a maximum of 1,000 external email addresses per day per org based on Greenwich Mean Time (GMT). The
maximum number of external addresses you can include in each mass email depends on your edition:
Professional 250
Enterprise 500
Note:
• The single and mass email limits don't take unique addresses into account. For example, if you have
[email protected] in your email 10 times, that counts as 10 against the limit.
• You can send an unlimited amount of email to your org’s internal users, which includes portal users.
• You can send mass emails only to contacts, person accounts, leads, and your org’s internal users.
• In Developer Edition orgs and orgs evaluating Salesforce during a trial period, you can send mass email to no more than 10
external email addresses per day. This lower limit doesn’t apply if your org was created before the Winter ’12 release and
already had mass email enabled with a higher limit. Additionally, your org can send single emails to a maximum of 15 email
addresses per day.
Metadata Limits
The following limits apply to the Force.com IDE, the Force.com Migration Tool, and the Metadata API.
38
Force.com Platform Limits SOQL and SOSL Limits
Limit Description
Retrieving and deploying Metadata API can deploy and retrieve up to 10,000 files or 400 MB (39 MB compressed) at one time.
metadata If any of these limits is exceeded, the deployment or retrieval fails.
Change sets Inbound and outbound change sets can have up to 10,000 files of metadata.
SOSL statements Maximum length of SOSL By default, 20,000. This limit is tied to the SOQL statement character limit
statements defined for your org.
SOSL search query strings Maximum length of If the SearchQuery string is longer than 10,000 characters, no result
SearchQuery string rows are returned. If SearchQuery is longer than 4,000 characters,
any logical operators are removed. For example, the AND operator in a
statement with a SearchQuery that’s 4,001 characters will default to
the OR operator, which could return more results than expected.
SOSL query results Maximum rows returned 2,000 results total (API version 28.0 and later), unless you specify custom
limits in the query. Previous API versions return 200 results.
Relationship queries Relationship query limits • No more than 35 child-to-parent relationships can be specified in a
query. A custom object allows up to 25 relationships, so you can
reference all the child-to-parent relationships for a custom object in
one query.
• No more than 20 parent-to-child relationships can be specified in a
query.
• In each specified relationship, no more than five levels can be specified
in a child-to-parent relationship. For example,
Contact.Account.Owner.FirstName (three levels).
• In each specified relationship, only one level of parent-to-child
relationship can be specified in a query. For example, if the FROM
clause specifies Account, the SELECT clause can specify only the
Contact or other objects at that level. It could not specify a child object
of Contact.
39
Force.com Platform Limits SOQL and SOSL Limits
OFFSET clause Maximum number of rows The maximum offset is 2,000 rows. Requesting an offset greater than
skipped by OFFSET 2,000 will result in a NUMBER_OUTSIDE_VALID_RANGE error.
The following are SOQL limitations and tips that are specific to some Salesforce objects.
Object Description
ContentDocumentLink A SOQL query must filter on one of Id, ContentDocumentId, or LinkedEntityId.
Custom metadata types Custom metadata types support the following SOQL query syntax.
• You can use ORDER BY, ASC, and DESC with multiple fields.
• You can only use ORDER BY when the ordered field is a selected field.
External objects • A subquery that involves external objects can fetch up to 1,000 rows of data.
• Each SOQL query can have up to 4 joins across external objects and other types of objects.
Each join requires a separate round trip to the external system when executing the query.
Expect longer response times for each join in a query.
• External objects don’t support the following aggregate functions and clauses.
– AVG() function
– COUNT(fieldName) function (however, COUNT() is supported)
– HAVING clause
– GROUP BY clause
40
Force.com Platform Limits SOQL and SOSL Limits
Object Description
– MAX() function
– MIN() function
– SUM() function
The following limits apply only to the OData 2.0 and 4.0 adapters for Salesforce Connect.
• External objects have the following limitations for the ORDER BY clause.
– NULLS FIRST and NULLS LAST are ignored.
– External objects don’t support the ORDER BY clause in relationship queries.
• The COUNT() aggregate function is supported only on external objects whose external
data sources have Request Row Counts enabled. Specifically, the response from
the external system must include the total row count of the result set.
The following limits apply only to custom adapters for Salesforce Connect.
• Location-based SOQL queries of external objects aren’t supported.
• If a SOQL query of an external object includes the following, the query fails.
– convertCurrency() function
– UPDATE TRACKING clause
– UPDATE VIEWSTAT clause
– USING SCOPE clause
The following limits apply only to external objects associated with a SharePoint 2010/2013
external data source using SecureAgent.
• In SOQL queries of external objects, IN clauses with more than approximately 15 IDs will
return the error “This operation is too complicated for Secure Agent.” The exact IN clause
limit varies based on SharePoint ID length.
41
Force.com Platform Limits SOQL and SOSL Limits
Object Description
KnowledgeArticleVersion • Always filter on a single value of PublishStatus unless the query filters on one or
more primary key IDs. To support security, only users with the “Manage Articles” permission
see articles whose PublishStatus value is Draft.
• Archived article versions are stored in the articletype_kav object. To query archived article
versions, specify the article Id and set sLatestVersion='0'.
• Always filter on a single value of Language. However, in SOQL, you can filter on more
than one Language if there is a filter on Id or KnowledgeArticleId.
NewsFeed • No SOQL limit if logged-in user has “View All Data” permission. If not, specify a LIMIT clause
of 1,000 records or fewer.
• SOQL ORDER BY on fields using relationships is not available. Use ORDER BY on fields on
the root object in the SOQL query.
RecentlyViewed The RecentlyViewed object is updated every time the logged-in user views or references a
record. It is also updated when records are retrieved using the FOR VIEW or FOR
REFERENCE clause in a SOQL query. To ensure that the most recent data is available,
RecentlyViewed data is periodically truncated down to 200 records per object.
TopicAssignment No SOQL limit if logged-in user has “View All Data” permission. If not, do one of the following:
• Specify a LIMIT clause of 1,100 records or fewer.
• Filter on Id or Entity when using a WHERE clause with "=".
UserRecordAccess • Always use the query formats specified in the SOAP API Developer's Guide.
• May include an ORDER BY clause. You must ORDER BY HasAccess if you SELECT
HasAccess, and ORDER BY MaxAccessLevel if you SELECT
MaxAccessLevel.
• Maximum number of records that can be queried is 200.
UserProfileFeed • No SOQL limit if logged-in user has “View All Data” permission. If not, specify a LIMIT clause
of 1,000 records or fewer.
• SOQL ORDER BY on fields using relationships is not available. Use ORDER BY on fields on
the root object in the SOQL query.
Also, a SOQL query must include WITH UserId = {userId].
42
Force.com Platform Limits Visualforce Limits
Visualforce Limits
Limit Value
Maximum response size for a Visualforce page Less than 15 MB
Maximum size of HTML response before rendering, when Visualforce page is rendered as PDF Less than 15 MB
Maximum total size of all images included in a Visualforce page rendered as a PDF 30 MB
Default timeout for a JavaScript remoting call 30,000 milliseconds (30 seconds)
Maximum timeout for a JavaScript remoting call 120,000 milliseconds (120 seconds)
Maximum rows retrieved by queries for a single Visualforce page request 50,000
Maximum rows retrieved by queries for a single Visualforce page request in read-only mode 1,000,000
Maximum collection items that can be iterated in an iteration component such as 1,000
<apex:pageBlockTable> and <apex:repeat>
Maximum collection items that can be iterated in an iteration component such as 10,000
<apex:pageBlockTable> and <apex:repeat> in read-only mode
43
INDEX
C O
Chatter REST API limits 34 OData Limits 20
E S
External Object Limits 20 Salesforce Connect Limits 20
L
limits 34
44