Scheduling Integrations
Retrieve allows you to schedule your integrations to run automatically at specific times or intervals using cron expressions. This powerful scheduling system gives you complete control over when your data synchronization occurs.
What is a Cron Expression?
A cron expression is a string consisting of five fields that define when a job should run. Each field represents a unit of time:
* * * * *Special Characters
* * * * * = Every minute0 9,17 * * * = 9 AM and 5 PM daily0 9-17 * * * = Every hour from 9 AM to 5 PM*/15 * * * * = Every 15 minutesCommon Schedule Examples
⏱️ Frequent Intervals
*/5 * * * *Every 5 minutes*/15 * * * *Every 15 minutes*/30 * * * *Every 30 minutes0 * * * *Every hour (on the hour)📅 Daily Schedules
0 0 * * *Every day at midnight0 9 * * *Every day at 9:00 AM30 14 * * *Every day at 2:30 PM0 9,17 * * *Daily at 9 AM and 5 PM📆 Weekly Schedules
0 9 * * 1Every Monday at 9:00 AM0 9 * * 1-5Weekdays at 9:00 AM0 0 * * 0Every Sunday at midnight0 18 * * 5Every Friday at 6:00 PM📊 Monthly Schedules
0 0 1 * *First day of every month at midnight0 9 15 * *15th of every month at 9:00 AM0 0 1 1 *January 1st at midnight0 0 * * 1Every Monday at midnightCron Expression Builder & Validator
Valid Cron Expression
Runs every 15 minutes
Best Practices
Consider API Rate Limits
Avoid scheduling too frequently if your source or destination systems have rate limits. For example, Shopify REST API has a 2 requests/second limit.
Match Business Hours
Schedule syncs during off-peak hours to minimize impact on system performance. For example, run large product imports at night.
Use Incremental Sync
When possible, use timestamp-based filters (orders_last_pull, products_last_pull) to only sync new or updated data rather than full syncs.
Test Before Production
Always test your cron schedule in a development environment first. Use the validator above to ensure your expression does what you expect.
Monitor Job Performance
Regularly check job history to ensure integrations are completing successfully. Adjust frequency if jobs are taking longer than the interval between runs.
Timezone Considerations
⚠️ Important: All cron schedules run in UTC timezone
When setting your schedule, remember that cron expressions execute in UTC (Coordinated Universal Time), not your local timezone.
Example: If you want a job to run at 9:00 AM EST (UTC-5), you would set the cron to 0 14 * * * (2:00 PM UTC).
Quick Conversion:
- EST (UTC-5): Add 5 hours to your desired time
- PST (UTC-8): Add 8 hours to your desired time
- CET (UTC+1): Subtract 1 hour from your desired time
- IST (UTC+5:30): Subtract 5.5 hours from your desired time
Troubleshooting
🔴 Issue: Integration not running at expected time
Cause: Timezone mismatch or incorrect cron expression.
Solution:
- Verify your cron expression using the validator above
- Remember schedules run in UTC - convert your local time to UTC
- Check the "Next Scheduled Runs" in the validator to confirm timing
🔴 Issue: Jobs running too frequently
Cause: Cron expression interval is shorter than job execution time.
Solution:
- Review job history to see average execution time
- Adjust cron frequency to allow jobs to complete before next run
- Consider batch processing or pagination for large datasets
🔴 Issue: "Invalid cron expression" error
Cause: Syntax error in cron expression.
Solution:
- Use the validator tool above to identify the specific error
- Ensure you have exactly 5 fields separated by spaces
- Check that values are within valid ranges (0-59 for minutes, 0-23 for hours, etc.)
- Try one of the example schedules and modify it for your needs