First Steps
Use a generated task for an independent job such as an email, thumbnail, or webhook. For a function-first, multi-step process, use the hosted workflow quick start.
The task shape
A task definition describes its name and input. A generated task reference gives application code a typed enqueue method; the worker runs the registered handler:
producer -> broker -> worker -> result backend
See Tasks and
Producer API for current definition and
registration APIs. Keep generated code and the stem_builder dependency on
the same version. Do not mix snippets from a source checkout with a published
release.
Reliability and local development
Task delivery and execution are at least once. A retry, lease expiry, or crash can run a handler again. Make handlers idempotent and pass a stable idempotency key to external systems. Task retry policy controls delivery attempts; it is separate from a workflow action's logical retry policy.
Use an in-memory client for tests and demos only: its state is not restart-durable. A broker and result backend are separate choices. Move to a persistent configuration with Choosing a backend.
For a user-facing foreground workflow, see the stem_flutter bindings and
Next Steps.