Temporal 101 with Go (101_go)

In this course, you will explore the basic building blocks of Temporal: Workflows and Activities. You’ll use these building blocks along with Temporal's Go SDK to develop a small application that communicates with an external service. You'll see how Temporal helps you recover from failures and explore Temporal's execution model and event history. You'll use the Temporal Web UI and Temporal’s command-line tools to explore and interact with your Workflows, and you'll use what you've learned to add new features to your existing workflow.

When you've completed the course, you'll be able to:

- Configure an environment for developing Temporal Applications
- Use Temporal to describe and implement a business process
- Interpret Temporal's workflow execution model
- Use Temporal’s tooling to manage the lifecycle of your application


To be successful in this course, you should have experience writing backend applications that rely on external APIs.

This course uses the Go programming language. Previous Go experience is helpful, but not required.

Programming Language: Go

  • About this Course
  • Welcome
  • Format and Duration
  • Course Outcomes
  • Exercise Environment Orientation
  • (Optional activity) Setting up a local development environment
  • Course Conventions
  • Getting Help
  • What is Temporal?
  • Introducing Temporal
  • What is a Workflow?
  • Workflow Examples
  • Architectural Overview
  • Options for Running a Temporal Cluster
  • Temporal SDKs
  • Temporal Command-Line Interface: tctl
  • Developing a Workflow
  • Writing a Workflow Definition
  • Input Parameters and Return Values
  • Initializing the Worker
  • Executing a Workflow
  • Executing a Workflow from the Command Line
  • Hands-On Exercise #1: Hello Workflow
  • Exercise #1 Recap: Hello Workflow
  • Executing a Workflow from Application Code
  • Viewing Workflow Execution History
  • Viewing Workflow History with tctl
  • Viewing Workflow History from the Web UI
  • Hands-On Exercise #2: Hello Web UI
  • Modifying an Existing Workflow
  • Making Changes to a Workflow
  • Restarting the Worker Process
  • Developing an Activity
  • What Are Activities?
  • Registering Activities
  • Executing Activities
  • Handling Activity Failure
  • How Temporal Handles Activity Failure
  • Activity Retry Policy Example
  • Hands-On Exercise #3: Farewell Workflow
  • Understanding Workflow Execution
  • About this Example
  • Code Walkthrough
  • Conclusion
  • Essential Points
  • Hands-On Exercise #4: Finale Workflow
  • Parting Words
  • For More Information
Completion rules
  • All units must be completed