Skip to content

Schedules

Schedules run your workflows automatically on a recurring basis.

  1. Go to Schedules > New Schedule
  2. Set a name, frequency, time, and timezone
  3. Optionally select a specific workflow (or leave blank for automatic domain-based routing)
  4. Optionally filter by URL tags
  5. Save and enable
FrequencyCron equivalentDescription
Hourly0 * * * *Every hour on the hour
Daily0 9 * * *Every day at a specific time
Weekly0 9 * * 1Once a week on a specific day
Monthly0 9 1 * *Once a month on a specific day
CustomAny valid cronFull cron expression control
  1. The scheduler polls every 30 seconds for due schedules
  2. For each due schedule, it resolves matching URLs (by tag filters)
  3. Each URL is matched to a workflow by domain routing
  4. Jobs are created and published to the queue with per-org fairness
  5. The schedule’s nextRunAt is updated to the next occurrence

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.

If a schedule has no explicit workflowId, URLs are matched to workflows by domain:

  1. URL https://amazon.com/product/123 has tag domain:amazon.com
  2. Workflow with route domain:amazon.com matches
  3. If no domain match, the default (*) workflow is used

Trigger a schedule immediately from the dashboard or API without waiting for the next run:

Terminal window
curl -X POST https://dashboard.justcrawl.io/api/v1/schedules/SCHEDULE_ID/trigger \
-H "Authorization: Bearer YOUR_API_KEY"

Toggle a schedule on or off without deleting it:

Terminal window
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}'