# Use optional workflow capabilities

Workflow extensions add approved specialist handlers and reusable processes to a workspace. Administrators manage their availability; builders use the active capabilities through the same workflow authoring experience.

An extension is a controlled capability offering. Selecting it does not mean you can upload arbitrary executable packages into the workflow editor.

## Build with an extension

1. Confirm that the required extension family and version are available.
2. Choose its handler or recipe from the workspace's active offerings.
3. Read its inputs, configuration, outputs, and execution restrictions.
4. Validate the completed workflow.
5. Use a controlled durable run when stateless dry-run preview is unsupported.
6. Inspect run provenance before publishing the process to an app.

A template or imported app can require a particular extension version. Missing, inactive, or incompatible dependencies prevent installation or execution instead of being silently replaced by a similarly named handler.

## Understand lifecycle effects

An active extension can be used for new authoring and runs. Draining removes it from new use and refuses new runs while allowing already admitted work to finish. Deactivation or uninstall can remain blocked while retained active work still needs the extension.

Queued and running work retain the exact admitted dependency versions. Upgrading the workspace default does not rewrite those runs. A published app can likewise retain its selected versions across later workspace upgrades.

If a version's required code is unavailable, execution should fail safely rather than use a newer version with potentially different behavior. Administrators need to preserve approved historical dependencies while retained executions still require them.

## Resolve availability problems

If a handler disappears or a workflow reports an extension restriction, confirm the intended version with an administrator. Do not replace the handler merely to make validation pass if the workflow depends on its output contract.

If an old app release cannot start after uninstall, its exact dependency selection may need to be restored before it can run again. History remaining visible does not guarantee new execution is available.

See [workflow extension administration](/docs/administration/workflow-extensions), [publication](/docs/workflows/publish-workflows), and [versions](/docs/workflows/versions).
