Temporal Cloud Pricing
Temporal Cloud is a consumption-based service. You pay only for what you need, when you need it. Our pricing reflects your use of actions, storage, and support. It is flexible, transparent, and predictable so you know your costs and never pay for unused capacity.
This page introduces the elements of Temporal Cloud pricing for actions, storage, and services/support. It gives you the information you need to estimate costs for your implementation. For more accurate estimates, reach out to our team.
Action pricing
What is an Action?
Actions serve as the primary unit of consumption-based pricing for Temporal Cloud. Temporal Actions are the building blocks for Workflow Executions. When you execute a Temporal Workflow, its Actions create the ongoing state and progress of your Temporal Application.
Actions are collected and billed monthly for each Namespace. The base rate is $25 per one million Actions per month (across all Namespaces). You will be billed for a prorated portion of the Actions you use. If you use fewer than one million Actions per month, your bill for Actions will be less than $25 for that month.
Actions | $25 per one million (prorated) |
---|
Temporal Cloud also offers a credit system. Credits provide an additional discount schedule for billable Actions and storage. Credits do not expire.
The credits applied to a Temporal Cloud Account include volume-based discounts for each Namespace. Pricing may not be uniform per Namespace. For example, under one credit commitment, a Namespace may use up to 300 million Actions priced at $23.25 per million Actions. Another Namespace with over 300 million Actions benefits from a reduced rate of $18.80 per million Actions for any Actions beyond the 300 million mark.
The following table outlines the tiers for the credits system:
Actions (Per Million Actions per Namespace) | Cost |
---|---|
Up to 300M | $23.25 |
Over 300M up to 1.5B | $18.80 |
Over 1.5B up to 7.5B | $14.10 |
Over 7.5B up to 30B | $10.50 |
Over 30B up to 150B | $7.90 |
Over 150B | $5.90 |
The following operations result in Actions:
Workflows
- Workflow started. Occurs via client start, client Signal-With-Start, Continue-As-New, or Child Workflow start. If a Workflow start fails, an Action is not recorded.
- Workflow reset. Occurs when a Workflow is reset. (Actions that occur before a Reset are counted even if they are no longer visible in Event History.)
- Timer started.
Includes implicit Timers that are started by a Temporal SDK when timeouts are set, such as
AwaitWithTimeout
in Go orcondition
in TypeScript. - Search Attribute upsert requested.
Occurs after a Workflow starts and invokes
UpsertSearchAttributes
. - Signal sent. Includes sending a Signal from a client or from within a Workflow to another Workflow.
- Query received. Queries aren't recorded in Event History. An operation such as viewing the call stack in the Temporal Cloud UI results in a Query.
- Side Effect recorded. For a mutable Side Effect, an Action occurs only when the value changes. (Be aware that some SDKs don't support Side Effects.)
- NEW: Workflow Update. [Workflow Updates] is a primitive that combines a Signal and Query together for a single Action.
Child Workflows
- Child Workflows spawned. The parent Workflow spawning a Child Workflow results in one Action.
- Child Workflows executed. Execution of the Child Workflow results in one Action.
Activities
- Activity started or retried. Occurs each time an Activity is started or retried.
- Local Activity started.
All Local Activities associated with one Workflow Task count as a single Action.
That's because Temporal Cloud counts all RecordMarkers from each Workflow Task as one action, and not N actions.
Please note:
- Each additional Workflow Task heartbeat after counts as an additional Action.
- Local Activities retried following a Workflow Task heartbeat count as one Action (capped at 100 Actions).
- Activity Heartbeat recorded. A Heartbeat call from Activity code counts as an Action only if it reaches the Temporal Server. Temporal SDKs throttle Activity Heartbeats. The default throttle is 80% of the Heartbeat Timeout. Heartbeats don't apply to Local Activities.
Schedules
Schedules allows you to "schedule" a Workflow to start at a particular time. Each execution of a Schedule will accrue three actions:
- Schedule Start. This accounts for two actions.
- Workflow started. This is a single action to start the target workflow.
Export
Workflow History Export enables you to export closed Workflow Histories to a cloud storage sink of your choice.
- Workflow exported. Each Workflow exported accrues a single action.
Reach out to our team to get more information or to help size your number of Actions.