Overview
The Frontend Service is the primary entry point for:- Workflow lifecycle operations (start, signal, query, terminate)
- Activity execution management
- Namespace management
- Task queue operations
- Workflow history queries
- Search and visibility operations
- Schedule management
- Batch operations
temporal.api.workflowservice.v1 package.
Service Architecture
The Frontend Service:- Accepts requests from Temporal SDKs and CLI
- Performs authentication and authorization checks
- Applies rate limiting policies
- Routes requests to History, Matching, and Worker services
- Handles datacenter redirection for global namespaces
- Provides both gRPC and HTTP/gRPC-Web endpoints
Core Operations
Workflow Execution
StartWorkflowExecution
Starts a new workflow execution.Namespace to start the workflow in
Unique identifier for the workflow (client-specified)
Type of workflow to execute
Task queue for workflow tasks
Input arguments for the workflow
Maximum execution time for the workflow
Maximum run time for a single workflow run
Timeout for workflow task processing
Policy for reusing workflow IDs
Retry policy for the workflow
Cron schedule for recurring workflows
Memo data attached to the workflow
Custom search attributes
Unique identifier for the workflow run
GetWorkflowExecutionHistory
Retrieves the history of a workflow execution.Namespace of the workflow
Workflow execution identifier (workflow_id and run_id)
Maximum events per page
Pagination token
Long poll for new events
Filter for history events
Workflow history events
Token for next page
Whether history is from archival storage
DescribeWorkflowExecution
Retrieves detailed information about a workflow execution.Namespace of the workflow
Workflow execution identifier
Workflow configuration
Execution state and metadata
Currently pending activities
Pending child workflow executions
Workflow Control
SignalWorkflowExecution
Sends a signal to a running workflow.Namespace of the workflow
Target workflow execution
Name of the signal
Signal input data
Identity of the signal sender
Unique request ID for idempotency
QueryWorkflow
Queries the state of a workflow execution.Namespace of the workflow
Workflow execution to query
Query definition with name and arguments
Conditions under which query should be rejected
Result of the query
Query rejection details if rejected
UpdateWorkflowExecution
Sends an update to a workflow execution.Namespace of the workflow
Target workflow execution
Update request with name and arguments
Policy for waiting for update completion
Update outcome if completed
Reference for polling update status
TerminateWorkflowExecution
Terminates a workflow execution.Namespace of the workflow
Workflow to terminate
Reason for termination
Additional termination details
Identity of the terminator
CancelWorkflowExecution
Requests cancellation of a workflow execution.Namespace of the workflow
Workflow to cancel
Identity of the requester
Unique request ID
ResetWorkflowExecution
Resets a workflow execution to a previous state.Namespace of the workflow
Workflow to reset
Reason for reset
Event ID to reset to
Unique request ID
New run ID after reset
Task Operations
PollWorkflowTaskQueue
Polls for a workflow task.Namespace to poll from
Task queue to poll
Worker identity
Worker binary checksum
Opaque task token
Workflow execution information
Workflow type
History events for processing
RespondWorkflowTaskCompleted
Completes a workflow task with commands.Task token from poll response
Workflow commands to execute
Worker identity
Sticky task queue attributes
Whether to return a new task immediately
Protocol messages
New workflow task if requested
PollActivityTaskQueue
Polls for an activity task.Namespace to poll from
Task queue to poll
Worker identity
Task token
Parent workflow
Activity identifier
Activity type
Activity input
RecordActivityTaskHeartbeat
Records a heartbeat for a long-running activity.Activity task token
Progress details
Worker identity
Whether cancellation has been requested
RespondActivityTaskCompleted
Completes an activity task with a result.Activity task token
Activity result
Worker identity
RespondActivityTaskFailed
Marks an activity task as failed.Activity task token
Failure details
Worker identity
Namespace Operations
RegisterNamespace
Registers a new namespace.Namespace name
Namespace description
Owner email address
Retention period for closed workflows
Cluster replication configuration
Custom namespace data
DescribeNamespace
Retrieves namespace information.Namespace name
Namespace metadata
Namespace configuration
Replication settings
UpdateNamespace
Updates namespace configuration.Namespace to update
Updated namespace metadata
Updated configuration
Updated replication settings
ListNamespaces
Lists all namespaces.Maximum namespaces per page
Pagination token
List of namespaces
Token for next page
Visibility and Search
ListWorkflowExecutions
Lists workflow executions with optional filtering.Namespace to search
Maximum executions per page
Pagination token
SQL-like search query
List of workflow executions
Token for next page
ScanWorkflowExecutions
Scans workflow executions (similar to List but with different consistency guarantees).Namespace to scan
Maximum executions per page
Pagination token
Search query
List of workflow executions
CountWorkflowExecutions
Counts workflow executions matching a query.Namespace to count in
Search query
Number of matching executions
Task Queue Management
DescribeTaskQueue
Retrieves information about a task queue.Namespace of the task queue
Task queue to describe
Type of task queue (workflow or activity)
Whether to include status information
Active pollers
Task queue status
Configuration
Frontend Service configuration is defined in the server config file:Authentication & Authorization
The Frontend Service supports:- JWT-based authentication
- Custom authorizers via plugin
- Claim mappers for extracting permissions
- Per-namespace access control
Rate Limiting
Rate limiting is applied per:- API method
- Namespace
- User identity