Implementation Considerations


  • Professional Edition. Professional Edition is supported only when using Invocable by Automation Calculation Mode (labeled as Process Builder in version prior to 2.21) or the manual or scheduled Recalculations as these do not require an Apex Trigger deployment. See How and When DLRS Calculates for additional information. Ignore prompts to setup the Remote Site for Metadata API callouts, as this will not be needed.
  • Check Existing Apex Tests. This tool dynamically deploys Apex Triggers and Apex tests, please make sure your Sandbox and Production org tests are all fully working before you attempt to use this tool. Otherwise usage of this tool will be blocked until you resolve such errors. If you have an org with triggers on the sObject that will contain the roll up result, installation into sandbox is VERY HIGHLY recommended so that after Lookup Rollup Summary records are added/enabled, you should rerun all testmethods to ensure nothing has broken as your before/after update triggers on the parent sObject will re-execute.
  • Existing Tests on Parent Objects. This tool will update the indicated fields on your Parent objects when it senses activity on Child objects. Ensure any Apex Triggers you have written on your Parent objects are written with best practices around bulkification in mind. If in doubt be sure to perform significant testing.
  • Realtime vs. Scheduled. This tool can become resource intensive when combined with other declarative and development based automations. It provides several realtime and scheduled options including Scheduled Apex and Flow Scheduled Actions. If you are running into platform limitations consider using one of the scheduled options available. See How and When DLRS Calculates for additional information.

Usage Information and Known Issues

  • Platform SOQL Limits. This tool uses SOQL Aggregate queries and is subject to platform limitations.
  • Deployment issues into Production. This tool dynamically deploys a small trigger and test class to the org. This is subject to the same rules and compliances as a regular human developer. The generated test class can in some cases be too simplistic to get code coverage, requiring at present a developer to assist with the deployment, especially to production. There is more details on how to look for this scenario and how to workaround it, as well as future thoughts here.
  • Volume Considerations. For each rollup, there is a maximum of 50,000 child relation records that can be summarised each time child record/s insert/update/delete operations are made (which may process several configured rollups). The rollup processes children to rollup by their parent record relationship and an optional further filter if provided. Meaning so long as this relationship does not result in more than 50,000 child records per parent parent record it will be successful. Take a look at this blog post which describes some new configuration settings (see bottom of blog post) to help calibrate the tool when running the Scheduled or Calculate jobs to help work within the 50,000 row limit.
  • Indexing Fields. For performance reasons ensure the fields used are indexed (lookups are by default) and also any fields used in the filter criteria. This can be very important as without this, a full table scan will occur when the platform executes the SOQL and cause performance issues. For more information from Salesforce please see here and here.
  • Realtime Mode and Formula Fields. When using the Realtime mode, certain Formula field expressions need more consideration. If your formula field references other fields defined on the object the formula field is defined on, please state the fields these formulas reference in the Relationship Field Criteria fields (the tool does not monitor changes in formula fields). If your formulas reference fields on related records (via lookup fields) see this blog. If your formula field uses formula functions that are date sensitive like YEAR the tool will not auto recacluate in realtime (as no field has changed). To work around this, either switch to Scheduled mode or in Realtime mode use a Workflow Field Update to copy the formula field value to a physical field and reference that.
  • Sandbox Testing. While the tool can be installed and enabled directly in production, sandbox testing is still strongly recommended.
  • INVALID_SESSION_ID: Invalid Session ID found in SessionHeader: Illegal Session faultcode=sf:INVALID_SESSION_ID faultactor=. This can occur when you’re using the Manage Child Trigger button or editing rollups via the Manage Lookup Rollup Summaries tab. Solution is to navigate to Set-up > Session Settings > disable the ‘Lock sessions to the IP address from which they originated.’ Salesforce documentation notes the following ‘This option can inhibit various applications and mobile devices.’. Note this issue only applies while configuration changes are being made with the tool, especially via the Manage Lookup Rollup Summaries (see release notes v2.0). Once rollups are configured this issue does not apply during rollup calculations.
  • Schedule Mode Setup. This is not so much a know issue, but a known source of confusion with the current tool. If you want to use the schedule mode features please read this first

Back to top

Declarative Lookup Roll-Up Summaries is a tool built and maintained by a community of volunteers through the Open Source Commons program. This is not a Salesforce-owned product. If you need support, go to the Trailblazer Community Group.