floo.app.toml and they are synced on every deploy.
Declare in config
Add[cron.<name>] sections to floo.app.toml:
Fields
Deploy and verify
Push to GitHub or runfloo redeploy. Cron jobs are synced on every deploy, new jobs are created, changed jobs are updated, removed jobs are deleted.
Manually trigger a job
Test a job without waiting for its schedule:Common schedule expressions
How it works
- You declare
[cron.<name>]infloo.app.toml - The CLI sends cron definitions to the API during deploy
- floo creates, updates, or deletes cron job records to match the declarations
- Jobs run inside the specified service’s container image with the same environment variables
DATABASE_URL, REDIS_URL, and other env vars as the service they run in.
Failure handling
Cron jobs do not retry. Each scheduled run executes once; if the command exits non-zero or exceeds itstimeout, that run is marked failed. The next scheduled run is the only recovery; there is no retry or backoff.
For runs where a miss matters, make the command idempotent and handle retries inside it, and alert on failure: floo logs query --app my-app --cron <job> shows the cron output with [cron:<job>] attribution, and agent webhooks can route repeated failures to your agent or on-call.
Agent workflow
CLI Reference
See the exact
floo cron list and floo cron run flags, JSON shape, and --preflight behavior.