BlogsTemporalWorkflow Updates

Workflow Updates

Workflow Updates

1
posts
2025

Workflow Updates provide a new mechanism for clients to send messages to Workflows, wait for their completion, and receive a result. This addresses limitations of existing Query and Signal messages by allowing the handler to perform arbitrary work, execute Activities and Child Workflows, and mutate Workflow state, while also returning a result. This enables lower-latency use cases and more efficient communication patterns compared to Signal+Query polling. Updates can also include validators to reject invalid messages before they are persisted to history, and can be combined with Local Activities for further latency optimization. Design patterns include mutating local state, executing Activities/Child Workflows, and waiting for specific Workflow states.

2025

Announcing a new operation: Workflow Update

1/14/2025

Introduces Workflow Updates as a Generally Available feature. Explains the limitations of existing Query and Signal messages and how Updates overcome them by allowing handlers to perform arbitrary work (including Activities and Child Workflows), mutate state, and return results. Details the technical implementation differences between Updates and Signal+Query polling, including how Updates defer history writes until after delivery to the Workflow. Outlines three design patterns for using Updates: mutating local state, executing Activities/Child Workflows and receiving results, and waiting for the Workflow to reach a certain state. Provides code examples in Python, Java, and Go, and links to documentation and samples for various languages.