Reminder Scheduler Node: Automating Date-Based Email Reminders
What it is
The Reminder Scheduler node monitors a dataset of records — such as contract expiry dates, document renewal deadlines, or project milestones — and automatically sends email reminders to designated recipients at configured intervals before each date arrives.
Once configured, the node runs continuously in the background for as long as the workflow is active. It checks the data source, calculates which records have upcoming dates, and sends reminder emails at each configured offset (for example, 30 days before, 7 days before, and on the day itself). When a row's date or email address changes in the source data, the node can detect the change immediately and recalculate the next reminder — no manual intervention needed.
The node is designed to work alongside a DB Query node, which fetches the dataset the scheduler monitors.
Why it's useful / Key benefits
- Never miss a critical deadline again. The scheduler runs 24 hours a day without anyone needing to check a spreadsheet or calendar. Every record with an upcoming date gets its reminder sent automatically.
- Multiple reminder points per record. Configure as many offsets as your process requires — 30 days before, 7 days before, 1 day before, and on the day — with each offset sending a separate email.
- Personalized emails using data from each row. The email subject and body support
{{row.column_name}}merge tags, so each reminder email includes the actual record name, deadline, and any other field from your data — with no manual personalization needed. - Adapts automatically when data changes. When a date is pushed back or an email address is updated in the source data, the change detection feature recalculates the reminders immediately — no need to restart the workflow or re-configure the node.
- Operational control. Workflow Database's Reminders tab shows the status of configured reminders and lets authorised operators view, edit, cancel, or delete records using the actions currently available for each status.
Before you start
- Administrator role required to configure this node.
- The workflow must contain a DB Query node upstream from the Reminder Scheduler node. The DB Query node fetches the records (rows) whose dates you want to monitor.
- You need to know the column names in your data source:
- A key column (unique identifier for each row, e.g.,
idorcontract_number) - A date column (the deadline or due date to watch, e.g.,
expiry_date,renewal_date) - An email column (the recipient email address for each row, e.g.,
owner_email,responsible_person)
- A key column (unique identifier for each row, e.g.,
- The workflow must be saved and Active before reminder scheduling begins.
- At least one email account must be configured in the platform's email settings.
How to use it — step by step
Step 1 — Add a DB Query node before the Reminder Scheduler
The Reminder Scheduler reads its data from the output of a DB Query node. That node must be connected and upstream.
- Open the workflow in the Visual Designer (from the Workflow Management screen, click Edit).
- Drag a DB Query node from the node sidebar onto the canvas and connect it into your workflow path.
- Double-click the DB Query node and configure it to fetch the records you want to monitor (e.g., a query that returns contracts with
id,name,expiry_date, andowner_emailcolumns). - Give the DB Query node a recognizable label, and note the Output Variable name it produces (e.g.,
db_rows). - Save the DB Query node.
Step 2 — Add the Reminder Scheduler node
- In the node sidebar, find the Reminder Scheduler node (under Logic or Advanced nodes).
- Drag it onto the canvas and connect it after the DB Query node.
Step 3 — Open the Reminder Scheduler settings
- Double-click the Reminder Scheduler node. A settings panel titled "Reminder Scheduler Node" opens.
Step 4 — Select the data source
If a DB Query node is connected upstream:
- Under Data Source, the Rows Variable dropdown shows the available upstream DB Query nodes. Select the one whose output variable contains your records (e.g., the node labeled "Contract Records" with output variable
db_rows). - The Source Table field auto-fills with the table name detected from the DB Query node. It is shown as read-only.
If no DB Query node is connected yet (manual entry):
- In the Rows Variable text field, type the output variable name from your DB Query node (e.g.,
db_rows). - In the Table field (under Source Table), type the exact database table name (e.g.,
contracts).
Step 5 — Map the columns
-
In the Column Mapping section, fill in:
Field What to enter Key Column The column that uniquely identifies each row. Example: idorcontract_number. Default:id.Date Column The column containing the date to monitor. Example: expiry_dateordeadline. Default:deadline.Email Column The column containing the recipient's email address. Example: owner_emailorcontact_email. Default:email. -
These column names must match the exact column names returned by your DB Query.
Step 6 — Configure reminder offsets
The Reminder Offsets section defines when (relative to the date column) each reminder email is sent. Each offset has:
- Label — a human-readable name shown in the audit log (e.g., "7 days before", "On the day").
- Days — how many days before the date to send this reminder. Use
0for the day of the deadline itself.
The default offsets are:
- 7 days before (label: "7d", days: 7)
- 1 day before (label: "1d", days: 1)
- On the day (label: "0d", days: 0)
To add a custom offset:
- In the Label field at the bottom of the offsets section, type a label (e.g., "2 weeks before").
- In the Days field, type the number of days before the date (e.g.,
14). - Click Add. The new offset appears as a tag in the list.
To remove an offset:
- Click the X on the offset's tag to remove it.
You must have at least one offset configured — the Save button is disabled until at least one exists.
Step 7 — Write the email template
-
In the Email Template section, fill in:
Subject — The email subject line. Use
{{row.column_name}}to insert values from the current row's data.Example:
Reminder: {{row.contract_name}} expires in {{row.days_remaining}} daysBody — The email body text. Use plain text with
{{row.column_name}}merge tags.Example:
Hello, This is a reminder that the contract {{row.contract_name}} is due to expire on {{row.expiry_date}}. Please take the necessary renewal action before the deadline. Regards, The RAPTIX Workflow SystemAny column name returned by the DB Query node can be used as
{{row.column_name}}.
Step 8 — Configure advanced settings
-
In the Advanced section:
Source Timezone — Select the timezone the dates in your data are stored in. This ensures reminders are sent at the correct time relative to the data's local timezone.
Available options: Africa/Cairo, UTC, America/New_York, America/Los_Angeles, Europe/London, Europe/Paris, Asia/Dubai, Asia/Riyadh, Asia/Kolkata.
Auto-install change detection trigger — When this checkbox is ticked (recommended), the system automatically installs a database change listener on the source table. This means:
- When a new row is inserted, its reminder schedule is created immediately.
- When a row's date or email changes, its reminder schedule is recalculated immediately.
- When a row is deleted, its pending reminders are automatically cancelled.
If you untick this option, changes are detected every 5 minutes (polling mode) instead of instantly.
Trigger workflow on: Three separate checkboxes control which types of row changes recalculate reminders:
Checkbox What it controls INSERT (new row added) New records automatically get their reminder schedule created. Enabled by default. UPDATE (row date or email changed) When the date or email changes, reminders are recalculated. Disabled by default (enable if your dates frequently change). DELETE (row removed — cancels reminder) When a row is deleted, its pending reminders are cancelled. Enabled by default.
Step 9 — Save the configuration
-
Click Save at the bottom right of the panel. The Reminder Scheduler node on the canvas updates with a bell icon.
-
Save the entire workflow using the Save button in the designer toolbar (or press Ctrl+S).
-
Confirm the workflow's status is Active in the Workflow Management screen. Reminders only run for Active workflows.
Monitoring reminders
Once the workflow is active:
- Open Workflow Database from the Workflow Management header, then select Reminders.
- Click the Reminders tab.
- You see a list of all configured reminder entries with their status (active/cancelled), timing configuration, and linked workflow.
- The Send History for each reminder shows which emails were sent, to whom, and when.
- To pause a specific reminder, select it and use the available action. To cancel it, use the cancel option.
Options & settings explained
| Setting | Section | What it does |
|---|---|---|
| Table | Source Table | The database table the scheduler monitors. Auto-filled from connected DB Query node, or entered manually. |
| Key Column | Column Mapping | Unique identifier column. Used to match rows across polling cycles. |
| Date Column | Column Mapping | The date field whose upcoming value triggers reminders. |
| Email Column | Column Mapping | The field containing the recipient email address for each row. |
| Rows Variable | Data Source | The variable name from the upstream DB Query node that contains the rows. |
| Offset Label | Reminder Offsets | Human-readable label for each reminder timing (shown in audit logs). |
| Offset Days | Reminder Offsets | Days before the date to send the reminder. 0 = on the day of the deadline. |
| Subject | Email Template | Subject line of the reminder email. Supports {{row.column_name}} merge tags. |
| Body | Email Template | Body text of the reminder email. Supports {{row.column_name}} merge tags. |
| Source Timezone | Advanced | Timezone of the dates in the data source. Affects when "today" is calculated. |
| Auto-install change-detection trigger | Advanced | When enabled, changes to the source table are detected instantly instead of every 5 minutes. |
| INSERT trigger | Advanced | Detect and schedule reminders for new rows added to the source table. |
| UPDATE trigger | Advanced | Detect and reschedule reminders when a row's date or email changes. |
| DELETE trigger | Advanced | Cancel pending reminders when a row is deleted. |
Tips & best practices
- Always enable the INSERT and DELETE triggers. Without INSERT detection, new records added after the workflow starts will not get reminders until the next polling cycle. Without DELETE detection, reminders continue sending even after the underlying record is gone.
- Enable UPDATE detection when deadlines can change. If your process allows users to extend deadlines (a common pattern in contract management), enable the UPDATE trigger so the reminder schedule recalculates automatically instead of sending stale reminders.
- Use the Source Timezone correctly. If your dates are stored in UTC but your users are in Cairo (UTC+2), select
Africa/Cairoso the system sends the "day of" reminder on the correct local date. - Test with a near-future date first. Before deploying to production, temporarily add a test row with a date one day in the future and a test email address to confirm that reminders arrive at the right time with the correct content.
- Keep the email body concise. Reminder emails are most effective when they are short and action-oriented. Include the key fields (record name, deadline, action needed) and nothing more.
- Use descriptive offset labels. Labels like "30 days before renewal" are more useful than "30d". They appear in Workflow Database's Reminders tab.
- Include a link or next steps in the body. If recipients need to take action, link directly to the relevant system, document, or Workflows workflow in the email body.
Frequently asked questions
Q: What happens if the reminder email fails to send? Failed sends can be investigated in Workflow Database using Reminders and Notifications. Check the error and retry count before deciding whether the workflow should generate another reminder.
Q: Can I send reminders to more than one person per record?
The Email Column field maps one email address per row. If you need to notify multiple people, either (a) store a comma-separated list in the email column and configure your email system to handle it, or (b) add multiple Reminder Scheduler nodes pointing to different email columns (e.g., primary_email and secondary_email).
Q: Will reminders still go out if the server restarts while they are scheduled? Yes. The reminder schedule is stored durably. After a server restart, the scheduler resumes from where it left off and sends any reminders that fell due during the downtime.
Q: What if a record's date passes and I add the record after the fact? Reminders are only sent for future dates. If a row is inserted with a date in the past, no reminders are sent for past offsets — only future ones still apply.
Q: Can I pause all reminders for a workflow temporarily? Yes. Set the workflow to Inactive in the Workflow Management screen. This pauses all activity for the workflow, including the scheduler. Reactivate the workflow to resume.
Q: What does "polling mode" mean and when should I use it? When the Auto-install trigger checkbox is unticked, the scheduler checks for changes every 5 minutes instead of instantly. Use polling mode when your database permissions do not allow installing triggers, or in environments where database-level triggers are restricted. The trade-off is a potential 5-minute delay before new or changed records get their reminder schedule updated.
Q: Can I have multiple Reminder Scheduler nodes in the same workflow? Yes. You can have multiple Reminder Scheduler nodes, each monitoring different data sources or using different column mappings and offsets — for example, one for contract renewals and another for equipment inspection dates.
Q: How do I remove an offset I no longer need? Open the Reminder Scheduler node settings, find the offset tag in the Reminder Offsets section, and click its X button. Save the node. Reminders that have already been sent for that offset are not affected.
