Go ActivityOptions reference
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package and use `WithActivityOptions()` to apply it to the instance of `workflow.Context`.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package and use `WithActivityOptions()` to apply it to the instance of `workflow.Context`.
Add custom Search Attributes to Workflow Executions at start time
todo
Configure tracing
To cause a Workflow Execution to Continue-As-New, the Workflow function should return the result of the `NewContinueAsNewError()` API available from the `go.temporal.io/sdk/workflow` package.
Wrap your custom functionality around the default Data Converter.
Use the `NewClient()` API available in the `go.temporal.io/sdk/client` package to create a new `Client`.
First, enable Sessions on the Worker via the Worker Options and then use the `CreateSession` API to create a Context object that can be passed to the calls to spawn Activity Executions.
To customize the Workflow Type set the `Name` parameter with `RegisterOptions` when registering your Workflow with a Worker.
To customize the Workflow Type set the `Name` parameter with `RegisterOptions` when registering your Workflow with a Worker.
A Query type, also called a Query name, is a `string` value.
Structs should be used to define Signals and carry data.
The only required parameter is `context.Context`, but Activities can support many custom parameters.
A Go-based Activity Definition can return either just an `error` or a `customValue, error` combination.
A Go-based Workflow Definition must accept `workflow.Context` and may support multiple custom parameters.
A Go-based Workflow Definition can return either just an `error` or a `customValue, error` combination.
Develop an instance of a Worker by calling `worker.New()`, available via the `go.temporal.io/sdk/worker` package.
Create a new instance of a Worker by calling `worker.New()`, available via the `go.temporal.io/sdk/worker` package.
In the Temporal Go SDK programming model, a Workflow Definition is an exportable function.
In the Temporal Go SDK programming model, a Workflow Definition is an exportable function.
In the Temporal Go SDK programming model, an Activity Definition is an exportable function or `stuct` method.
In the Temporal Go SDK programming model, an Activity Definition is an exportable function or `stuct` method.
Emit metrics
Use the SideEffect API from the `go.temporal.io/sdk/workflow` package to execute a Side Effect directly in your Workflow.
Use the Future returned by `ExecuteWorkflow` API call to retrieve the result.
Use the Future returned from the `ExecuteActivity` API call to retrieve the result.
Use the `SetQueryHandler` API to set a Query Handler that listens for a Query by name.
Use the `GetSignalChannel()` API from the `go.temporal.io/sdk/workflow` package to get the Signal Channel.
todo
Use, the `RecordHeartbeat` API to report that the execution is alive and progressing.
List Workflow Executions using the Client
Log from a Workflow
The `RegisterWorkflow()` and `RegisterActivity()` calls create an in-memory mapping between the Workflow Types and their implementations.
How to remove Search Attributes from a Workflow
Use the `WorkflowReplayer` API to replay an existing Workflow Execution from an Event History to replicate errors.
Use the `CancelWorkflow` API to cancel a Workflow Execution using its Id.
Use the `QueryWorkflow()` API to send a Query to a Workflow in Go.
Use the `SignalWorkflow()` method on an instance of the Go SDK Temporal Client to send a Signal to a Workflow Execution.
A Signal can be sent from within a Workflow to a different Workflow Execution using the `SignalExternalWorkflow` API from the `go.temporal.io/sdk/workflow` package.
Use the `SignalWithStartWorkflow()` API on the Go SDK Temporal Client to start a Workflow Execution (if not already running) and pass it the Signal at the same time.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `CronSchedule` field, and pass the instance to the `ExecuteWorkflow` call.
Set a custom logger
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `ID` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `HeartbeatTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Set the Namespace field on an instance of the Client Options.
Create an instance of `ChildWorkflowOptions` from the `go.temporal.io/sdk/workflow` package, set the `ParentClosePolicy` field, apply the options to the instance of `workflow.Context`, and pass the context to the `ExecuteChildWorkflow` call.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `ScheduleToCloseTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `ScheduleToStartTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `StartToCloseTimeout` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowExecutionTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `RetryPolicy` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowRunTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `WorkflowTaskTimeout` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `ActivityOptions` from the `go.temporal.io/sdk/workflow` package, set the `RetryPolicy` field, and then use the `WithActivityOptions()` API to apply the options to the instance of `workflow.Context`.
Used to set all Child Workflow Execution specific options
Create an instance of `Options` from the `go.temporal.io/sdk/client` package and pass it the call to create a new Temporal Client.
Options to control optional connection params
Used to set local activity specific parameters that will be stored inside of a context
Use the `ConnectionOptions` API available in the `go.temporal.io/sdk/client` package to connect a Client with mTLS.
Create an instance of `RegisterOptions` from the `go.temporal.io/sdk/workflow` package and pass it to the `RegisterWorkflowWithOptions` call when registering the Workflow Type with the Worker
Create an instance of `StartWorkflowOptions` from the `go.temporal.io/sdk/client` package, set the `TaskQueue` field, and pass the instance to the `ExecuteWorkflow` call.
Create an instance of `Options` from the `go.temporal.io/sdk/worker` package, set any of the optional fields, and pass the instance to the `New` call.
Use the `ExecuteChildWorkflow`, available from the `go.temporal.io/sdk/workflow` package, to spawn a Child Workflow Execution in Go.
Use the `ExecuteWorkflow()` method on the Go SDK `Client`, which is available via `Dial()` in the `go.temporal.io/sdk/client` package.
Use the `ExecuteActivity()` API call available from the `go.temporal.io/sdk/workflow` package.
In advanced cases, you may want to dynamically update these attributes as the Workflow progresses.
A Query is sent from a Temporal Client to a Workflow Execution and is identified by its name.
Use the `SignalWorkflow()` method on and instance of the Go SDK Temporal Client to send a Signal to a Workflow Execution.
Add the Temporal Go SDK to your project.