Schedule a Job
The Snippbot Scheduler lets you run agent tasks on a recurring or one-time basis. You can define schedules using standard cron expressions, plain-English interval phrases, or a specific date and time. Jobs can be chained so that one triggers another, and conditional logic lets you skip runs based on dynamic criteria.
Concepts
Section titled “Concepts”Schedule Types
Section titled “Schedule Types”| Type | Description | Example |
|---|---|---|
cron | Standard 5-field cron expression | 0 9 * * 1 (Mondays at 9am) |
every | Human-readable recurring interval | every 30 minutes |
at | One-time future execution | 2026-04-01T08:00:00Z |
What the Scheduler Does
Section titled “What the Scheduler Does”- Parses both cron expressions and natural language schedules
- Assigns each job to an agent and a goal (the instruction the agent follows)
- Runs jobs in the background without blocking the UI
- Automatically pauses a job after too many consecutive failures
- Supports job chains (run job B after job A completes)
- Evaluates
only_ifconditions before each run
Creating a Job
Section titled “Creating a Job”-
Open the Schedule page — click Schedule in the left sidebar of the Snippbot UI
-
Click New Job — the job creation dialog opens from the top-right corner
-
Choose a schedule type — select one of:
- Cron — enter a standard 5-field cron expression
- Interval — enter a natural language phrase such as
every 2 hours - One-time — pick a specific date and time from the date picker
-
Set the task
- Agent — select which agent will execute the job from the dropdown
- Goal — type the instruction the agent should follow each time the job runs (e.g. “Check for new GitHub issues labeled ‘bug’ and post a summary to Slack”)
-
Configure advanced options (optional)
- Job name — a human-friendly label for the job
- Only run if — a condition expression that must be true before the job fires (see Conditions)
- Chain to — another job to run immediately after this one succeeds (see Job Chains)
- Enabled — toggle to start the job enabled or paused
-
Review and save — click Save Job. The job appears in the Schedule page with its next scheduled run time.
All job management is done from the Schedule page in the sidebar. When creating a new job, fill in:
- Name — a human-friendly label for the job
- Prompt — the instruction the agent should follow each time the job runs
- Schedule type — Cron, Interval, or One-time
- Schedule value — the cron expression, interval phrase, or date/time
The agent defaults to “snipp” if not specified. You can view all existing jobs, their next run times, and run history directly from the Schedule page.
Cron Expression Reference
Section titled “Cron Expression Reference”| Expression | Meaning |
|---|---|
* * * * * | Every minute |
0 * * * * | Every hour (on the hour) |
0 9 * * * | Every day at 9:00am |
0 9 * * 1 | Every Monday at 9:00am |
0 9 * * 1-5 | Weekdays at 9:00am |
*/30 * * * * | Every 30 minutes |
0 0 1 * * | First day of every month at midnight |
0 6,18 * * * | Every day at 6am and 6pm |
Fields are in order: minute hour day-of-month month day-of-week.
Natural Language Parsing
Section titled “Natural Language Parsing”Snippbot parses common English interval phrases for the every schedule type:
| Phrase | Equivalent cron |
|---|---|
every minute | * * * * * |
every 5 minutes | */5 * * * * |
every 30 minutes | */30 * * * * |
every hour | 0 * * * * |
every 2 hours | 0 */2 * * * |
every day at 9am | 0 9 * * * |
every Monday at 10am | 0 10 * * 1 |
every weekday at 8:30am | 30 8 * * 1-5 |
every Sunday at midnight | 0 0 * * 0 |
Job Chains
Section titled “Job Chains”A job chain runs one job immediately after another completes successfully. This is useful for multi-step pipelines where the second job depends on output from the first.
To create a chain in the UI, set the Chain to field in the job creation dialog to the job that should run after completion.
To create a chain in the UI, set the Chain to field when creating or editing a job on the Schedule page. Select the job that should run after the current one completes successfully.
Conditions
Section titled “Conditions”The only_if field accepts a condition expression evaluated before each run. If the condition is falsy, the run is skipped and counted as a no-op (not a failure).
Condition Examples
Section titled “Condition Examples”| Expression | Behavior |
|---|---|
env.MARKET_OPEN == "true" | Only runs when the MARKET_OPEN env var is "true" |
time.weekday in [1,2,3,4,5] | Only runs on weekdays |
time.hour >= 9 and time.hour < 17 | Only runs during business hours |
file.exists("/tmp/trigger.flag") | Only runs if a trigger file exists |
Auto-Pause on Failure
Section titled “Auto-Pause on Failure”If a job fails on consecutive runs, Snippbot automatically disables it to prevent runaway retry loops:
- After 3 consecutive failures, the job is paused and
enabledis set tofalse - A banner appears in the Schedule page indicating why the job was paused
- Fix the underlying issue, then re-enable the job by clicking the Enable toggle next to the paused job in the Schedule page
Job Details
Section titled “Job Details”Each job on the Schedule page shows its full configuration and run history. Click on any job to see all its details, including name, prompt, schedule, status, run history, and advanced options. The job detail view provides a comprehensive look at all configured fields.