Recipe: Act on Matching Records on a Schedule

Some work isn't triggered by a single event — it's "every so often, find the records that look like this, and do something about each one." That's what the "On a schedule, for matching records" trigger is for.

Pick what to look for (tickets, subscription items, projects, or clients), set the conditions, choose how often to check, and your steps run once for every matching record.

What it does

When you choose this trigger you get three things to fill in:

  1. What to look for — the kind of record: Tickets, Subscription items, Projects, or Clients.
  2. How often — hourly, daily, weekly, or monthly (with a time, and a day for weekly/monthly).
  3. The conditions — the same "Only run if" builder you already know, now matching against the record's own fields.

Each run finds the matching records and runs your action steps once per record, with that record's fields available to the steps as {record.id}, {record.client_id}, and so on.

The date conditions

Because "over time" work is usually about ages and windows, the condition builder gains date-aware operators:

  • is older than … days / hours — e.g. a ticket whose last update is older than 2 days.
  • is within the next … days — e.g. a subscription renewing within the next 30 days.
  • was within the last … days — e.g. a project completed within the last 3 days.
  • is on (date or ±days) — a specific calendar day, or an offset like "3 days ago."

Recipe A — Escalate stale tickets

"Every day, find open tickets with no update in 2 days and notify the manager."

  1. Trigger → On a schedule, for matching records → look for Tickets, Daily at 08:00.
  2. Only run if: Status is open and Last update is older than 2 days.
  3. Step → Send Notification to staff: "Ticket #{record.id} has had no update in 2 days."

Recipe B — Remind before renewal

"Every day, find active subscriptions renewing within 30 days and give the client a heads-up."

  1. Trigger → Subscription items, Daily.
  2. Only run if: Subscription status is active and Next renewal is within the next 30 days.
  3. Step → Send Notification to the client, and optionally a step to flag the item.

Recipe C — Ask for feedback after a project

"Every day, find projects completed 3 days ago and send a feedback request."

  1. Trigger → Projects, Daily.
  2. Only run if: Status is completed and Completed at was within the last 3 days.
  3. Step → Send Notification with your feedback link.

Each record, once per episode

You don't want a stale ticket to page the manager every single hour. So each record is acted on once, then left alone — until it stops matching and matches again.

  • A ticket escalates once. If someone replies (its last update resets) and it later goes stale again, it escalates again — a fresh episode.
  • A subscription reminder fires once per renewal cycle. After the renewal, its next-renewal date moves out of the window, so the next cycle starts a new episode.

This happens automatically; there's nothing to configure.

Good to know

  • Bounded per run. Each run processes up to a set number of records (default 200, up to 500 — adjustable on the automation). If more match, the rest are picked up on the next run.
  • A record that errors is retried. If a record's steps fail outright, it isn't marked done, so it's tried again next run (and repeated failures trigger the failure alert). Records that failed are named in the run log for easy debugging.
  • Turn it off anytime. Disabling an automation mid-run stops it cleanly.
  • Clients as records lets you drive account-wide automations — for example, a weekly sweep over clients that have crossed a billable-hours threshold.

Was this page helpful?