Schedule Sync (Vercel Cron / Upstash)
Vercel cron
Section titled “Vercel cron”- Add a 
vercel.jsoncron entry: 
{  "crons": [{ "path": "/api/sync", "schedule": "0 * * * *" }]}- Deploy and verify the function triggers hourly.
 
Upstash QStash
Section titled “Upstash QStash”For retries and dedupe:
- Create a QStash URL targeting 
/api/sync. - Set the schedule in the Upstash console.
 - Provide 
QSTASH_CURRENT_SIGNING_KEYenvironment variables. 
Track progress
Section titled “Track progress”Otso records the last synced_at for each source so reruns are idempotent.