Print this page

How many records can I sync in my Salesforce For Outlook data set?

Knowledge Article Number 000004261

When you create your data sets you can synchronize only 5000 records from each part of the query.  

  • For example, if you choose to synchronize "All Contacts" which would be all Contacts you have access to in, you would be able to synchronize 5000 Contacts to and from Outlook.
  • If you have access to more than 5000 Contacts, some of the Contacts will not Sync. .
  • Before using any of the workarounds below, keep in mind that synchronizing more than 5000 contacts will slow down your Outlook performance and might even crash outlook.
  • Every time user synchronizes, a group of 5000 Contacts are downloaded from the total number of records randomly since the total number of contacts is more than 5000.
  • You need to analyze what records you need in Outlook and set your criteria


  • By using the "Selected Contacts" option, you can potentially synchronize a higher number of records:
    • If you select the "Users Contact Records" option you could sync 5000 Contacts from this.
    • If you also select "Users Contact Records on Opportunities" and these Contacts are not the same as the Contacts owned by the sync user this would increase the data set to a potential 10000.  
  • Based on the filter options you select and the limit of 5000 records per query, there may still be Contacts that you do not sync to and from Outlook as they are above the query limit.  To work around this, use the "Filter By Additional Objects and Fields" filter to lower the size of the data set and sync a more streamlined group of Contacts.
  • To assist in creating data sets you can use the "Get Record Count" check to see how many records any user would sync based on the Data Set you have created.  Note if you have records in the queries that exceed the 5000 record limit, the ones that you sync will to some extent be random which is where the 'Filter by Additional Objects" is useful.
  • Keep in mind when creating Data Sets that the query mechanism also spiders records related to records in your Data Set and will sync them as well.  For example, if you are syncing Events in your Data Set, the Contacts related to these Events would also sync as part of your Contact sync. 
  • Records related to fields in your mappings will also sync. For example Contacts that Report To some of the Contacts you are syncing will also sync as part of your Data Set.  Spidering can only extend 3 levels deep.
NOTE:  In all these examples you need to have at least read access to any of these records to be able to synchronize them using Salesforce for Outlook.
  • If you have person accounts enabled in your organizations and have more than 5000 records in Salesforce, the Data Set works in a different manner.
    • The 5000 records limit is applied to every query (the 5000 limit is not necessarily on the number of records ultimately returned) and will run Account query first to get accounts that match any filter criteria, then will run Contact query to get contacts that are assigned to these accounts and match contact filter. So it may hit the 5000 limit and sync records randomly.
    • For example, in an organization with person accounts enabled when a user’s Outlook Configuration is set to sync Contacts as follows:
      • Applies to all Contacts in the data set: (already limits it to 5000)
      • ‘Field 1’ (a field on the Contact object) equals ‘value 1’
      • Contacts on Accounts: All Records
      • ‘Field 2’ (a field on the Account object) equals ‘value2’
  • Here is how the set of Contacts is built in this example:
  • Step 1. Select all the Accounts where ‘field 2’ equals ‘value2’
Since ‘field 2’is an Account field, and not a Contact field, if you have more than 5000 person accounts you hit the record limit per query set (5000 records). In this case we return random 5000 records that match criteria and some expected records might not be included.
  • Step 2. Selected Contacts related to the Person accounts selected on Step 1 where Contacts match the filter: ‘field 1’ equals ‘value 1
Since the user hits the 5000 records limit on step 1, so only 5000 person account records are randomly selected and therefore on step 2 you'll get less contacts than you would get if all the accounts matching criteria would be selected.

promote demote