Scheduling in AdapTable
AdapTable's Scheduling powers both Scheduled Reports and Scheduled Alerts — automating exports and reminders without a backend job runner
AdapTable provides features that are designed to take AG Grid to the next level for power users - an excellent example of this is Scheduling
AdapTable's Scheduling allows users to configure when something should happen.
And, best of all, they can then reuse that same timing model - for both exports and alerts - without needing to leverage a server or backend process.
Important
- Both features share the same
Scheduleobject, either a recurring 5-field cron, or a one-off datetime - You do not need a server-side job runner — AdapTable evaluates schedules in the client
| Module | What runs when the Schedule fires |
|---|---|
| Export | A Report is exported (format + destination you choose) |
| Alert | A Scheduled Alert notifies the user (toast, System Status, Alert UI, etc.) |
In the Demo
- The demo configures four schedules in Initial State:
- Weekday Excel export — recurring cron (
30 17 * * 1-5) for the Current Layout system report - One-off CSV export — runs once (~90 seconds after load) for a custom JS Frameworks report
- Daily stand-up reminder — recurring Scheduled Alert (
0 9 * * *) - One-off demo alert — Scheduled Alert that fires with the same one-off time as the CSV export
- Weekday Excel export — recurring cron (
- We listen to Report Schedule Ran and write a System Status message when a report schedule fires
- Leave the demo open for ~90 seconds to see the one-off Alert toast and CSV download
- Suspend either one-off schedule if you want to explore the UI without waiting
- Change a cron expression (hour/minute) on the weekday Report or daily Alert and save
- Watch System Status after a Report Schedule runs
The Schedule Model
Every schedule uses the same Schedule object:
Note
This model is shared between Reports & Alerts, so you can learn it once and apply it everywhere
| Mode | How you configure it | Typical use |
|---|---|---|
| Recurring | IsOneOff: false + CronExpression(5 fields: minute hour day-of-month month day-of-week) | End-of-day Excel each weekday Daily stand-up reminder |
| One-off | IsOneOff: true + RunAt (ISO datetime) | “Export this layout once at 16:05” Timed reminder after Grid loads |
Hint
- Cron examples: weekdays at 17:30 →
30 17 * * 1-5; every day at 09:00 →0 9 * * * - One-off times are ideal for demos and ad-hoc operational prompts
Scheduled Reports
Report Schedules are persisted in Export Initial State (alongside your custom Reports).
When a Report Schedule fires, AdapTable exports the named Report using the configured:
- Report — system report (e.g. Current Layout) or a custom Report
- Format — e.g. Excel, CSV
- Destination — e.g. Download (or a custom destination)
In the Demo
- Open the Export toolbar / Settings Panel to inspect the two Report Schedules
- Suspend the one-off CSV schedule before ~90 seconds if you do not want a download
- After a report schedule runs, a success System Status is triggered by the Report Schedule Ran Event
{
Name: 'Weekday Excel export',
ReportName: 'Current Layout',
ReportFormat: 'Excel',
ExportDestination: 'Download',
Schedule: {
IsOneOff: false,
CronExpression: '30 17 * * 1-5',
},
}Scheduled Alerts
Scheduled Alerts fire when a schedule triggers.
Note
Unlike standard data-change or validation Alerts, Scheduled Alerts have no Rule or Scope
As with all Alerts, there are many presentation options and behaviours available, including:
- Toast notifications
- System Status messages
- Badges in the Alert Toolbar / Tool Panel / Status Bar
- Option to display suspend button in the notification
Caution
- Some behaviours that only make sense for cell-based data Alerts are not available
- For instance Scheduled Alerts cannot trigger highlight cell, jump to cell, undo edit etc.
In the Demo
- Open the Alert toolbar to see the daily reminder and the one-off demo Alert
- Wait ~90 seconds for the one-off toast (or suspend it first)
- Edit the daily Alert’s cron if you want to experiment with recurrence
{
Name: 'Daily stand-up reminder',
MessageHeader: 'Daily stand-up',
MessageText: 'Review the grid and confirm today’s priorities.',
MessageType: 'Info',
AlertProperties: {
DisplayNotification: true,
DisplaySystemStatusMessage: true,
},
Schedule: {
IsOneOff: false,
CronExpression: '0 9 * * *',
},
}Which Schedule Should I Use?
| Goal | Method |
|---|---|
| Automate a file export (Excel / CSV / …) on a clock | Scheduled Report |
| Remind users / raise an operational prompt on a clock | Scheduled Alert |
Hint
- Many teams use both types of Schedule together for some use cases
- e.g. a weekday End of Day Report Schedule, preceded by a Scheduled Alert as a reminder
FAQ
Do I need a server or job runner to use Scheduling? No. AdapTable evaluates schedules entirely in the client — there is no AdapTable server component and you do not need cron, Quartz, or a similar backend scheduler for these features
Does the application need to be open for a Schedule to fire? Yes. Because schedules run in the client, the grid session must be live (browser tab / desktop container open). If you need unattended overnight jobs when nobody has the app open, keep using your existing server-side scheduler and treat AdapTable Scheduling as the in-app layer for users who are already working in the grid
Can I use the same Schedule definition for Reports and Alerts?
Yes — that is the point of the shared Schedule model.
Configure timing once, then attach it to a Report Schedule or a Scheduled Alert as needed
Can users pause a Schedule without deleting it? Yes. Schedules can be suspended and resumed from the AdapTable UI, which is useful while you are configuring or demoing (or simply require no distractions)
Do I need to write cron expressions by hand. I dont know how to? No. The Schedule UI includes presets (e.g. Weekdays) and guides you through hour and minute, so most users never type a cron string. Developers can first create the Schedule in the UI, then copy resulting config into Initial State or code.