Skip to content
English
  • There are no suggestions because the search field is empty.

Send a monthly status digest

Send a recurring email on the 1st of every month — not on weekdays, not on a cron, just "the first of the month, every month". For admins or facilities leads who want a fixed monthly cadence without juggling cron expressions.

What this workflow does

  • A Schedule trigger fires every day at 09:00 local time.
  • A Time Of Day condition narrows that down to the 1st of every month — same window, but only if today is the 1st.
  • A Send Email action goes out with a templated subject.

The combination lets you run any daily schedule and only act on specific calendar days, without writing a cron expression.

The finished workflow on the canvas: a Schedule trigger connected to a Time Of Day condition. The condition's true port goes into a Send Email action; the false port is unconnected.

Prerequisites

Build it

1. Create the workflow

From the Workflows list click New workflow, name it Monthly status digest, and open the editor.

2. Add the schedule trigger

  1. Click Add nodeTriggersSchedule.
  2. Set schedule type to Every N days.
  3. Fill in:
    • Timezone — your office's IANA zone, e.g. Europe/Oslo.
    • Days1 (every day).
    • Trigger at hour9.
    • Trigger at minute0.

The trigger now fires daily; the next step gates it to the 1st of each month.

3. Add a Time Of Day condition

  1. Click Add nodeConditionsTime Of Day.
  2. In the inspector:
    • Timezone — same as the trigger, e.g. Europe/Oslo.
    • Begin08:55:00. Slightly before 09:00 to absorb scheduler jitter.
    • End09:05:00.
    • Days of week — leave empty. Empty means "any day".
    • Days of month[1]. The list is what does the gating.
    • Months of year — leave empty.

Wire an edge from the Schedule trigger to the Time Of Day's input.

The Time Of Day inspector with Timezone Europe/Oslo, Begin 08:55:00, End 09:05:00, Days of week empty, Days of month [1], Months of year empty.

4. Add the email action

  1. Click Add nodeActionsSend Email.
  2. Settings:
    • To — your recipient list, one per row.
    • Subject — paste:
      Monthly status — {{ dateInZone "January 2006" now "Europe/Oslo" }} 
    • Body — pick Plain text or HTML and write whatever you want sent.
  3. Wire an edge from the true port of the Time Of Day condition to the email action's input.

Leave the false port unconnected — on every other day of the month, the workflow ends silently after the condition.

5. Test it

  1. Click Run workflow.
  2. The Schedule trigger opens with an empty payload — leave it as {} and click Run.
  3. If today is the 1st, you'll see the email go out. If it isn't, the Time Of Day condition routes to the unconnected false port and the run ends as a no-op.

To exercise the email path on a non-1st, temporarily change Days of month to today's date, run, then change it back to [1] before saving.

6. Enable it

Click Save, turn on Enabled, and save with a short message ("First-of-month digest at 09:00 Oslo"). From the next 1st of the month at 09:00, the email goes out automatically.

Variations

  • Bi-monthly (the 1st and the 15th). Set Days of month to [1, 15].
  • Quarterly. Set Days of month to [1] and Months of year to [January, April, July, October].
  • Last weekday of the month. Time Of Day can't express "last" — use a daily Schedule + an If condition templating today's date and the month length, or split into two workflows. This is a real gap; tell us if you hit it.
  • Different timezones per recipient. Time Of Day's timezone is single-valued. If your recipients span zones, build one workflow per zone.

When it doesn't fire

If a 1st rolls around and the email doesn't go out:

  1. Open the Executions tab. The Schedule trigger should show a green run regardless — if it's missing entirely, the workflow isn't Enabled or the trigger's timezone is wrong.
  2. If the trigger fired but the condition routed to false, expand the condition's step in the trace. Make sure Days of month contains 1 (not 01 or 1.0) and the timezone matches the trigger's.
  3. The window 08:55–09:05 is intentionally narrow. If your scheduler is delayed by more than five minutes, widen the window. The condition itself is light, so a broader window is harmless.

Related