Documentation

Schedule (cron)

Trigger a pipeline at regular intervals — daily, weekly, or an arbitrary cron expression.

Schedule (cron)

The schedule channel triggers a pipeline according to a defined calendar. It's the equivalent of a cron, but driven from the admin panel and logged like every other exchange.

Why this channel

Not all pipelines are reactive (to an email, a call, a webhook). Many are proactive: daily report, weekly follow-up, hourly check of an external system. That's what the schedule channel covers.

Configuration

  1. Administration → Schedule → New task.
  2. Choose:
    • Target pipeline
    • Calendar — build it visually with the CronBuilder (daily, weekly, days and hours), or enter a classic cron expression (0 8 * * 1-5 = 8am on weekdays) or a shortcut (@daily, @hourly). No knowledge of cron syntax required.
    • Timezone — by default, the organization's timezone. Configurable per task.
    • Objective — a free label (e.g. briefing_hebdo, alerte_impayes) passed to the pipeline to route it.
    • Static payload — arbitrary JSON passed as input to the pipeline.

One pipeline, several objectives. The same pipeline can be triggered by several scheduled tasks, each with a different objectif. Conditions (filter) at the start of the pipeline then steer execution according to the objective received — for example a weekly briefing on Monday and a daily alert in the same template (see CFO IA).

What the pipeline receives

On each trigger, an exchange is created with:

  • schedule.task_id — identifier of the scheduled task
  • schedule.objectif — the configured objective label (for multi-task routing)
  • schedule.scheduled_at — planned timestamp
  • schedule.actual_at — actual timestamp (in case of drift)
  • schedule.payload — the configured static JSON (if present)

Tolerance & catch-up

If betool is unavailable at the moment of a trigger (maintenance, incident), the task is caught up automatically on restart, within the tolerance window you configure (1 hour by default).

Beyond the window, the trigger is marked as missed in the history and is not replayed — a missing report is better than a late and out-of-sync one.

Typical use cases

  • Daily report at 8am — an agent that queries several systems, summarizes and sends a brief by email.
  • Hourly sync — a pipeline that pulls new items from an external system, passes them to a classifier agent, and pushes the results into your CRM.
  • Weekly check — an agent that audits the state of an infrastructure and flags discrepancies.
  • D+7 follow-up — on leads submitted a week ago and still without a response.

Best practices

  • Avoid on-the-minute starts — many systems pulse at 0 * * * *. Prefer 7 * * * * to spread the load.
  • Log tasks that have nothing to do. A task that runs but does nothing (because there are no items to process) must trace this explicitly. Otherwise, you won't be able to tell "all is well" from "the task no longer runs".
  • Alert on missed tasks. See Credits & metering → Alerts.