Skip to main content

Temporal Go SDK developer guide - getting started

Build Status Coverage Status Go reference

The Temporal Go SDK provides a framework for Temporal Application development in the Go language. The SDK contains the following tools:

  • A Temporal Client to communicate with a Temporal Cluster
  • APIs to use within your Workflows
  • APIs to create and manage Worker Entities and Worker Processes

Get the SDK#

Add the Temporal Go SDK to your project:

go get -u go.temporal.io/sdk@latest

Or clone the Go SDK repo to your preferred location:

git clone git@github.com:temporalio/sdk-go.git

Are there executable code samples?#

You can find a complete list of executable code samples in the samples library, which includes Temporal Go SDK code samples from the temporalio/samples-go repo. Additionally, each of the Go SDK Tutorials is backed by a fully executable template application.

Where is the Go SDK technical reference?#

The Temporal Go SDK API reference is published on pkg.go.dev

Run a local Temporal Cluster#

Use docker-compose to quickly install and run the Temporal Server locally to test the system while developing Workflows.

Make sure both Docker and docker-compose are installed.

Then clone the temporalio/docker-compose repository and run docker-compose up from the root of that repo:

git clone https://github.com/temporalio/docker-compose.gitcd  docker-composedocker-compose up

When the Temporal Server is running, Workflow Executions can be invoked. The Temporal Server can be kept running in the background while applications are built. Workflow Execution details can be viewed in the Temporal Web UI via your browser: localhost:8088.

The preceding steps start the Temporal Server using a default configuration.

To try other configurations (different dependencies and databases), or to try a custom Docker image follow the temporalio/docker-compose README.

Get notified of updates