Skip to main content

Standalone Activity

SUPPORT, STABILITY, and DEPENDENCY INFO

Standalone Activities are available as a Pre-release feature in Temporal Cloud and in a special release of the Temporal CLI.

See limitations below.

What is a Standalone Activity?

If you need to orchestrate multiple Activities, use a Workflow. But if you just need to execute a single Activity, use a Standalone Activity.

Standalone Activities are Temporal’s job queue - the simplest way to run durable, retryable tasks on Temporal.

Standalone Activity vs. Workflow - Standalone Activities execute a single function reliably as a top-level primitive, while Workflows orchestrate multiple Activity stepsStandalone Activity vs. Workflow - Standalone Activities execute a single function reliably as a top-level primitive, while Workflows orchestrate multiple Activity steps

A Standalone Activity is a top-level Activity Execution started directly by a Client, without using a Workflow. This results in fewer Billable Actions in Temporal Cloud than using a Workflow to run a single Activity. If your Activity Execution is short-lived, you will also notice lower latency, since there are fewer Worker round-trips.

You write your Activity Functions the same way for both. In fact, the same Activity Function can be executed as a Standalone Activity and as a Workflow Activity with no code changes.

Use cases

Standalone Activities can be used for durable job processing use cases such as sending an email, processing a webhook, syncing data, or executing a single function reliably with built-in retries and timeouts.

Key features

  • Execute any Temporal Activity as a top-level primitive without the overhead of a Workflow
  • Native async job processing model: schedule -> dispatch -> process -> result
  • No head-of-line blocking - a slow job doesn’t block the dispatch of other Tasks
  • Arbitrary length jobs with heartbeats for liveness and checkpointing progress
  • At-least-once execution by default with native retry policy and timeouts
  • At-most-once execution if retry max attempts is 1
  • Addressable - get an Activity ID / Run ID and get the result, cancel, and terminate
  • Deduplication - with conflict policy: (USE_EXISTING, ...), reuse policy: (REJECT_DUPLICATES, ...)
  • Separate ID space from Workflows - Standalone Activities are a different kind of top-level execution
  • Priority and fairness - multi-tenant fairness, weighted priority tiers, and safeguards against starvation of lower-weighted tasks
  • Visibility - list Activity Executions and view status, retry count, and last error
  • Manual completion by ID (or token): ignore activity return and wait for external completion
  • Activity metrics - including counts for success, failure, timeout, and cancel
  • Dual use - execute Activities within a Workflow or standalone with no Worker code changes

Observability

All existing Activity metrics apply to Standalone Activities. This includes counts for scheduled, started, completed, failed, timed out, and canceled activities.

You can use List Filters to query Standalone Activity Executions by type, status, task queue, and other attributes using the SDK or the temporal activity list CLI command.

CountActivities returns the total number of Standalone Activity Executions matching a filter, analogous to counting Workflow Executions. This is the total count of executions (running, completed, failed, etc.) - not the number of queued tasks.

Pre-release limitations

The pre-release of Standalone Activities is recommended for experimental use only and has some known limitations.

General limitations:

  • Not suitable for production use cases during Pre-release
  • Delete, pause, reset, and update options are not supported yet
  • The TerminateExisting conflict policy is not supported yet

Temporal Cloud limitations:

  • Standalone Activities are free for evaluation purposes during Pre-release, so we reserve the right to limit usage if it exceeds a reasonable amount
  • 1 day max retention for Standalone Activities
  • We recommend enabling Standalone Activities on a new namespace for dev/test experimental use only

Temporal CLI support

During Pre-release, Standalone Activities require a special release of the Temporal CLI.

Download and extract for your platform:

macOS (Apple Silicon)
curl -L https://github.com/temporalio/cli/releases/download/v1.6.2-standalone-activity/temporal_cli_1.6.2-standalone-activity_darwin_arm64.tar.gz | tar xz
macOS (Intel)
curl -L https://github.com/temporalio/cli/releases/download/v1.6.2-standalone-activity/temporal_cli_1.6.2-standalone-activity_darwin_amd64.tar.gz | tar xz
Linux (arm64)
curl -L https://github.com/temporalio/cli/releases/download/v1.6.2-standalone-activity/temporal_cli_1.6.2-standalone-activity_linux_arm64.tar.gz | tar xz
Linux (amd64)
curl -L https://github.com/temporalio/cli/releases/download/v1.6.2-standalone-activity/temporal_cli_1.6.2-standalone-activity_linux_amd64.tar.gz | tar xz

Verify the installation:

./temporal --version
# temporal version 1.6.2-standalone-activity (Server 1.31.0-151.2, UI 2.47.2)

Move the binary to your PATH or run it from the current directory as ./temporal.

The temporal activity subcommand supports Standalone Activities with commands including: start, execute, result, list, count, describe, cancel, and terminate.

The Temporal Dev Server has Standalone Activities enabled by default in this special CLI release for local testing.

danger

If you see Standalone activity is disabled when running commands, you are using the standard Temporal CLI instead of the pre-release version above. The standard brew install temporal or brew upgrade temporal does not include Standalone Activity support during Pre-release.

Temporal Cloud support

Contact your account team to enable Standalone Activities in Temporal Cloud as a Pre-release feature.