Schedules
Schedules run your workflows automatically on a recurring basis.
Creating a schedule
Section titled “Creating a schedule”- Go to Schedules > New Schedule
- Set a name, frequency, time, and timezone
- Optionally select a specific workflow (or leave blank for automatic domain-based routing)
- Optionally filter by URL tags
- Save and enable
Frequencies
Section titled “Frequencies”| Frequency | Cron equivalent | Description |
|---|---|---|
| Hourly | 0 * * * * | Every hour on the hour |
| Daily | 0 9 * * * | Every day at a specific time |
| Weekly | 0 9 * * 1 | Once a week on a specific day |
| Monthly | 0 9 1 * * | Once a month on a specific day |
| Custom | Any valid cron | Full cron expression control |
How scheduling works
Section titled “How scheduling works”- The scheduler polls every 30 seconds for due schedules
- For each due schedule, it resolves matching URLs (by tag filters)
- Each URL is matched to a workflow by domain routing
- Jobs are created and published to the queue with per-org fairness
- The schedule’s
nextRunAtis updated to the next occurrence
Tag filters
Section titled “Tag filters”Schedules can filter which URLs they process using tags. A schedule with tagFilters: ["electronics", "domain:amazon.com"] processes URLs that have ANY of those tags.
A schedule with no tag filters processes all URLs in your library.
Workflow routing
Section titled “Workflow routing”If a schedule has no explicit workflowId, URLs are matched to workflows by domain:
- URL
https://amazon.com/product/123has tagdomain:amazon.com - Workflow with route
domain:amazon.commatches - If no domain match, the default (
*) workflow is used
Manual trigger
Section titled “Manual trigger”Trigger a schedule immediately from the dashboard or API without waiting for the next run:
curl -X POST https://dashboard.justcrawl.io/api/v1/schedules/SCHEDULE_ID/trigger \ -H "Authorization: Bearer YOUR_API_KEY"Enable / disable
Section titled “Enable / disable”Toggle a schedule on or off without deleting it:
curl -X PATCH https://dashboard.justcrawl.io/api/v1/schedules/SCHEDULE_ID/toggle \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"isEnabled": false}'