Schedules

Set up one-off and recurring schedules so your bot runs itself.

Overview

A schedule is how a bot keeps running without you. You can schedule a one-off run at a specific future time, or a recurring run on a cadence (hourly, daily, weekly, monthly). A single bot can have multiple schedules if you want it to run on more than one cadence.

Schedules are set up from the Schedule button on the bot page.

Shared fields

Every schedule has:

  • Name. A short label that shows up in the schedule list and on run history.
  • Timezone. The timezone the schedule is interpreted in. Pick the zone the human who cares about the output lives in, not the zone your servers run in.
  • Status. Either active or paused. A paused schedule does not fire; flip it back to active when you are ready.
  • Input data (optional). The same input data you could pass to a manual run, applied to every run the schedule triggers.
  • Files (optional). Files attached to every run the schedule triggers.

One-off schedules

Use a one-off schedule when you want the bot to run once at a specific future time and then stop. The only extra field is:

  • Run at. The date and time the run should fire, in the schedule’s timezone.

Once the run completes, the schedule is done. It will not fire again.

Recurring schedules

Use a recurring schedule for anything that should keep happening. A recurring schedule has:

  • Start at. The date and time of the first run, in the schedule’s timezone.
  • Recurrence rule (RRULE). The cadence. BotHound builds this for you from a friendly picker, but it is stored as an RRULE string under the hood.

Frequency options

  • Hourly. Every N hours from the start time.
  • Daily. Every N days from the start time.
  • Weekly. Every N weeks, on the days you pick (Mon, Tue, etc.). Useful for “weekdays” or “every Monday and Thursday”.
  • Monthly. Every N months, on a specific day of the month.

Common patterns

  • Every morning at 8am. Frequency: daily, interval: 1. Start at: tomorrow at 08:00 in your timezone.
  • Weekdays at 9am. Frequency: weekly, interval: 1, days: Mon, Tue, Wed, Thu, Fri. Start at: the next weekday at 09:00.
  • Every Monday. Frequency: weekly, interval: 1, days: Mon.
  • First of the month. Frequency: monthly, interval: 1, day of month: 1.
  • Every other week. Frequency: weekly, interval: 2, days: whichever you pick.

When a schedule fires

When the schedule’s next run time is reached, BotHound kicks off a run just like a manual one, using the schedule’s input data and files. The run shows up in the bot’s run history with a schedule trigger source. If the run fails, the schedule still fires on its next cadence; a failing run does not pause the schedule automatically.

Editing and pausing

You can edit any field on a schedule at any time. Pausing a schedule stops it from firing without deleting it, which is handy during a freeze or while you are rebuilding the bot.

What is next