Skip to main content
Two ways to schedule:

One-shot delayed

From any mutation or action:

Recurring (cron)

In convex/crons.ts:

Common uses

Reminder emails

Schedule from the booking creation mutation.

Nightly report

Aggregate yesterday’s data into a dailyMetrics table.

Cleanup

Delete soft-deleted rows after 30 days.

Renewal reminders

“Mark subscription as renewing 24h before period end.”

Cancelling a scheduled run

Background jobs

Job-table pattern for longer work.

Inngest

For complex multi-step workflows.

Actions

What schedules typically call.
Last modified on April 18, 2026