Skip to content

Providers

Providers are pluggable backends wired through Config. They let the same workflow code use different storage, notifications, logging, and scheduling without changing task logic.

Families

Provider Purpose
Storage Persists task context and checkpoints (memory, file, S3, GCS, …).
Notify Sends alerts or summaries (default no-op, Telegram, …).
Log Structured logging for runs.
Scheduler Drives recurring execution (default, cron with dotflow[scheduler]).

You pass instances into Config, for example Config(storage=StorageFile(path=".output"), scheduler=SchedulerCron(...)). Built-in providers use core dependencies; cloud and cron integrations often need pip extras—see Use integrations and the Overview hub.

Why it matters

  • Durability: storage + checkpoints enable resume after failure.
  • Observability: log and notify providers surface failures and retries.
  • Operations: swap file storage in development for S3 or GCS in production with one config change.

References