Mass Action Scheduler
Declaratively schedule Process Builder, Flows, Quick Actions, Email Alerts, Workflow Rules, and Apex to process records from Reports, List Views, and SOQL queries.
- Declarative - no code necessary, never write Batch Apex again for queries that can be expressed in a report or list view and actions that can be expressed in a declarative alternative
- On Platform - everything happens in Salesforce so no exporting or uploading data
- Timely - run actions manually or schedule hourly, daily, weekly, or any time in between
Inspired by Marie Chandra's idea Ability to Schedule when Process Builder Triggers.
Inspired by Narender Singh's idea Ability to schedule flows, workflows and processes in process builder.
No more waiting for records to be updated or creating clever workarounds to cause records to be updated to cause these actions to fire.
Documentation and Discussion
- For discussion and feedback post in the community group or raise well defined issues and ideas via the Issues feature.
- Watch my Automation Hour webinar introducing the tool and demos.
- Read the wiki page for further documentation on Mass Action Scheduler.
- Read the FAQ page to help troubleshoot technical issues.
Identify the records you want to process with list views, tabular reports, or a SOQL query.
|Data Sources||When to Use|
|List Views||Simple filters. For up to 50 million records.|
|Reports||Complex filters like Cross Filters. For up to ~10 thousand records.|
|SOQL||You know exactly what you want to query and don't want to create a list view or report. For up to 50 million records.|
Almost any process automation you configure can be scheduled.
|Process Builder||Processes that start when invoked by another process|
|Flows||Auto-launched flows (no screens). Any that can be called from Process Builder|
|Quick Actions||Create a Record, Update a Record, and Log a Call types|
|Workflow Rules||Active rules|
|Apex||Classes annotated with @InvocableMethod|
Flexible options for scheduling when a configuration runs.
|Scheduling Options||When to Use|
|Manual||Run on-demand from UI via button|
|Automated||Run a configuration from Process Builder, Flow, or Apex|
|Simple Schedule||Easily pick the hours, days, and months to run repeatedly|
|Advanced Schedule||Custom scheduling needs that require a cron expression|
What you can do with Mass Action Scheduler
I'm sure you will think of all kinds of ideas how you can use this app. Here are a few ideas:
- Run a process monthly, maybe to create a record or callout to an external system
- Run data correction actions daily
- Automatically add leads and contacts to campaigns based on report or list view criteria
- Send emails on a periodic basis
- Create "infinite" flows that continuously loop on a schedule
- Perform field updates without exporting or importing data
For walkthroughs please check out the examples in the wiki.
There are a few items you need to setup before installing and using this app.
- You will need to use Lightning Experience because we are using Lightning Components.
- You will need to enable My Domain because we are using Lightning Components.
- From Setup, enter
sessionin the Quick Find box, then click Session Settings.
- For a technical explanation on why this is needed, read my blog post.
- From Setup, enter
Please see the instructions in the wiki for screen shots and step-by-steps.
Packaged Release History
Mass Action Scheduler is an open source project. It's an independent project with its ongoing development happening in the evenings and weekends.
Maintaining and developing new features takes a considerable amount of time. If your business has found value in my projects, please consider showing
your support by contributing to my virtual tip jar on PayPal. Thank you!
Release 2.0 (current)
Due to Lightning Experience web page caching, please log out and log back in after installing the package for UI changes to appear.
Installing the Source Code (Developers)
This repository is organized using Salesforce DX. You may install the source code from GitHub and make any desired adjustments. You are responsible for ensuring unit tests meet your org's validation rules and other requirements.
First, clone the repository.
git clone https://github.com/douglascayers/sfdx-mass-action-scheduler.git
Change directory into the project folder.
Create a new scratch org.
sfdx force:org:create -a mas -s -f config/project-scratch-def.json
Push the source metadata into your scratch org.
Assign the permission set to your user.
sfdx force:user:permset:assign -n Mass_Action_Admin
Open the scratch org and enjoy!
sfdx force:org:open --path //lightning/o/Mass_Action_Configuration__c/list
Doug Ayers develops and maintains the project.
Appiphony for developing the Strike Wizard component.
Salesforce Foundation for developing tools for querying Salesforce Reports API.
Shinichi Tomita for developing jsforce library for easy use of Salesforce APIs.
jQuery for developing jQuery library.
The source code is licensed under the BSD 3-Clause License