Trigger.dev tasks live in sable-agents-demo/trigger/*.ts and are the production scheduler for
connector refreshes, reports, document lifecycle, and health watchdogs. This page indexes every
task; four groups get their own deeper page.
| Task id | Cadence |
|---|
sable.fathom.reconcile | 15 */4 * * * |
sable.granola.poll | 5,35 * * * * |
sable.asana.sync | 25 */2 * * * |
sable.toggl.hours | 55 */4 * * * |
sable.calendar.freebusy | 40 * * * * |
sable.drive.refresh (+ .continue) | not scheduled — retired (#217); kept invokable by hand |
sable.email.ingest | */10 * * * * |
sable.email.drain | 35 */2 * * * |
| Task id | Cadence |
|---|
sable.report.morning | weekdays, 06:00 America/New_York |
sable.report.eod | weekdays, 16:30 America/New_York |
sable.learning.daily | weekdays, 17:00 America/New_York |
sable.report.deliver | invoked by the above, not independently scheduled |
| Task id | Cadence |
|---|
sable.document.reconcile-ingest-jobs | */15 * * * * |
sable.document.storage-purge-sweep | */10 * * * * |
sable.document.storage-purge | invoked per tombstone, not on a schedule |
sable.document.backfill-index-batch | invoked, not scheduled |
sable.feedback.retention | daily, 15 3 * * * |
| Task id | Cadence |
|---|
sable.report.watchdog.morning | weekdays, 06:45 America/New_York |
sable.report.watchdog.eod | weekdays, 17:15 America/New_York |
Approvals, chat, portfolio, and smoke
Not scheduled — invoked on demand:
| Task | Purpose |
|---|
sable.approval.execute | Claims and executes an approved Asana/Calendar write, replacing the emergency-fallback direct asana-act call path |
sable.chat | The durable Trigger chat agent (chat.agent), using a Trigger-managed prompt (sableChatSystemPrompt) rather than an inline string |
sable.portfolio.ingest-baseline, sable.portfolio.daily | Portfolio workbook import and daily reconciliation |
sable.smoke | The minimal live-environment check described in Observability |
Where the code lives
sable-agents-demo/trigger/*.ts — one file roughly per task group.
sable-agents-demo/trigger/queues.ts — the two shared queues (sable-connectors,
sable-connector-writes) most connector and write tasks run through, controlling concurrency
independently of scheduling.
sable-agents-demo/trigger/lib/ — shared helpers (supabase.ts, edge.ts, env.ts,
document-runtime-deps, portfolio-workbook, etc.).