Before you start
JB Case Scheduler is free and installs from AppExchange as a managed package. Before you install, check the following.
- Licences. Your org needs Service Cloud on the Enterprise or Unlimited edition, or a Developer edition.
- Omni-Channel. The app can hand scheduled cases back to Omni-Channel queues, so Omni-Channel should be enabled if you route cases that way.
- Who installs and configures. The person who installs the package and runs the settings needs the full System Administrator profile. The settings and the reactivation schedule need permissions beyond a standard user, including access to all records.
- Flow User. Every user who will schedule cases needs the Flow User checkbox ticked on their user record. The person doing the setup needs it too.
- Sandbox first. Install in a sandbox before production. That gives you room to test scheduling and reactivation, and to read the considerations for admins below, before the package touches live cases.
Install the package
- Open the JB Case Scheduler listing on AppExchange and choose Get It Now.
- Log in with the System Administrator account of the org you want to install into, starting with a sandbox.
- Complete the AppExchange installation steps.
Configure JB Case Scheduler
Work through these steps in order. Steps 1 to 4 are done once by the administrator. Steps 5 and 6 are repeated for every user who schedules cases.
1. Assign yourself the administrator permission set
In Setup, open Permission Sets, select JB Case Scheduler Administrator and assign it to your own user.
You can clone the permission set and assign your copy instead. If you do, remember that when we update the permission set in a new release, your copy does not change. You will need to add the changes by hand.
2. Create the settings
Open the JB Case Scheduler app from the App Launcher. It appears once your permission set is active. Click the blue Create Settings button.
The button starts a guided series of screens that creates all the settings the app needs. Follow the screens to the end.
This step creates a custom setting (Case Scheduler settings) and a queue named JB_Case_Scheduler. The app uses that queue as the temporary owner of a case while it waits for its scheduled date.
3. Schedule the reactivation process
Still in the JB Case Scheduler app, click Schedule Now.
This starts the process that checks whether any scheduled cases are due to come back. After each run, the process schedules itself to run again after the interval you set in the settings. Nothing comes back to your agents until this step is done.
4. Add the Schedule Case component to the Case record page
The component that lets agents schedule a case is a Flow. You add it to the Lightning record page for Case.
- Open a Case record, choose Edit Page from the Setup gear, or open the page in Lightning App Builder.
- Drag a Flow component onto the page.
- In the component properties, select JB Case Scheduler - Schedule Case as the flow.
- Tick the checkbox Pass all field values from the record into this flow variable. This step is required.
- Save and activate the page. Repeat for every Case record page your organisation uses.
5. Assign the user permission set
In Setup, open Permission Sets, select JB Case Scheduler User and assign it to every user who needs to schedule cases.
You may clone it and assign your copy, as with the administrator permission set. You will then have to apply our future changes to your copy yourself.
Check that each of these users has both the Flow User and the Service Cloud User checkbox ticked on their user record.
6. Assign package licences (production orgs only)
In a production org, every user who schedules or administers cases also needs a licence for the package.
- In Setup, search for Installed Packages.
- Select the JB Case Scheduler package.
- Choose Manage Licenses and add your users.
Sandboxes skip this step.
Test it
Open a case and schedule it with the new component. Check that the case moves to the JB_Case_Scheduler queue. After the scheduled time has passed and the reactivation process has run, it should return to the chosen owner. If something does not behave as expected, see the FAQ or request information.
Optional: show the scheduling fields
The package adds several fields to the Case object. Depending on how your team works, you may want to add them to your Case page layouts or list views.
| Field | What it holds |
|---|---|
| Schedule Reason | The reason the agent gave when scheduling the case, if any |
| Scheduler Name | The name of the agent who scheduled the case |
| Follow Up Datetime | The date and time the case is scheduled to come back |
| Follow Up Active | Whether the case is currently scheduled for reactivation |
| Follow Up Owner Name | The name of the user or queue that receives the case when it comes back |
| Follow Up OwnerId | The ID of that user or queue |
Considerations for admins
Read these before you roll the app out to agents.
- Settings need a System Administrator. The settings step creates the Case Scheduler custom settings and the JB_Case_Scheduler queue. Only a System Administrator can run it.
- Custom field limits. The package adds several fields to the Case object. Salesforce limits the number of custom fields per object, so check your headroom.
- Any case-enabled queue is a valid target. At the moment agents can send a case back to any queue that supports the Case object.
- Case status does not change. The app changes only the owner of the case, to the waiting queue and back. It never changes the status. If you use entitlements, milestones or escalation rules, adjust that logic so scheduled cases do not escalate before their scheduled date. The fields listed above give you the data points to filter on.
- Omni-Channel time tracking. When a case comes back to a user, or to a queue that is not an Omni-Channel queue, Omni-Channel time tracking does not register it.
- Queue position. When a case comes back to an Omni-Channel queue, it joins the back of that queue. If these cases need priority, send them to a queue with a higher priority or configure secondary routing priority in Omni-Channel.
- Chatter posts. Scheduling a case creates a Chatter post on the case. Bringing it back, whether an agent or the automation does it, creates another. If you run Digital Experiences, include these posts in whatever logic you use to control which posts customers can see.
- Timing of the reactivation run. Reactivation runs as a batch process that reschedules itself at the interval you set in the settings. It reschedules after the batches have finished, and it runs asynchronously. The next run may start slightly later than the interval suggests. This happens when a large number of cases is processed or when asynchronous processing in your org is delayed.
Uninstall
Uninstalling removes the package, its fields and the data in those fields. If you want to keep the scheduling history, export the Case fields listed above before you start.
- Stop the scheduled job. Open the JB Case Scheduler app from the App Launcher. In the JB Case Scheduler - Schedule cleanup component, choose Unschedule next runs. If the component shows Schedule Now instead, no job is scheduled and you can skip this step.
- Deactivate the package flows. In Setup, open Flows. You cannot open a managed flow directly. For each of the four flows below, open the drop-down on the right, choose View Details and Versions, and deactivate the active version.
- JB Case Scheduler - Schedule Reactivation
- JB Case Scheduler - Schedule Case
- JB Case Scheduler - Settings
- JB Case Scheduler - Get Case Enabled Queues
- Uninstall the package. In Setup, open Installed Packages, find the JB Case Scheduler package and choose Uninstall. Follow the confirmation steps Salesforce shows you.
If there is something we could have done better, tell us through the request information page. It helps us improve the app.
Stuck on a step? Check the FAQ or ask us directly.