temporal-serverless

Deploy and operate Temporal Workers on AWS Lambda via the Worker Controller Instance.

5.3k|765|Updated Mar 4, 2026
One-click install
npx skills add https://github.com/openai/plugins --skill temporal-serverless
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: temporal-serverless
Source: https://github.com/openai/plugins/tree/main/plugins/temporal/skills/temporal-serverless
Command: npx skills add https://github.com/openai/plugins --skill temporal-serverless

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve?

Deploying Temporal Workers traditionally requires long-lived processes and manual scaling infrastructure. This Skill guides the full deployment and operation of Temporal Workers on serverless compute (AWS Lambda), where Temporal invokes the Worker on demand through the Worker Controller Instance (WCI) and it scales to zero when idle.

Core Features & Use Cases

  • Guided deployment workflow: An eight-step, five-stage process covering scoping, credential and permission preflight, Worker authoring, Lambda packaging and deployment, IAM invocation-role setup, Worker Deployment Version registration, and end-to-end verification.
  • Multi-SDK support: Covers Go, Python, and TypeScript serverless Worker packages, including install commands, entry points, versioning behaviors (Pinned/AutoUpgrade), and Lambda-tuned concurrency and shutdown defaults.
  • IAM and CloudFormation assets: Ships ready-to-deploy CloudFormation templates for the Temporal Cloud and self-hosted invocation roles, with External ID handling and collision checks.
  • Diagnostics and troubleshooting: Decision trees for cases where the Lambda is never invoked or is invoked but Tasks do not complete, including WCI Workflow inspection and Task Queue binding checks.
  • Use Case: A platform engineer wants to run a bursty order-processing Workflow without maintaining always-on Workers. The Skill walks them through packaging the Worker as a Lambda function, granting Temporal invocation permissions, registering the Worker Deployment Version, and verifying a Workflow executes end to end.

Quick Start

Ask the assistant to deploy a Temporal serverless Worker on AWS Lambda for your Namespace, and it will scope the SDK, credentials, and naming prefix before creating any resources.

Frequently Asked Questions about temporal-serverless

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy a Temporal Worker on AWS Lambda?

Install the SDK's serverless Worker package, write the Worker with a Worker Deployment Version and versioning behavior, package and deploy the Lambda function, create the IAM invocation role via the CloudFormation template, then register the Worker Deployment Version and set it current.

Why is my Temporal serverless Lambda not being invoked?

Check Validate Connection in the Temporal UI, confirm the Worker Deployment Version is set as current, and verify the Task Queue binding with describe-version. A common cause is a failed first invocation, often due to the default 3-second Lambda timeout being too short for the Worker to connect and poll.

Which Temporal SDKs support serverless Workers on Lambda?

Go, Python, and TypeScript are supported. Go uses the separate go.temporal.io/sdk/contrib/aws/lambdaworker module, Python ships lambda_worker inside the temporalio package, and TypeScript uses the separate @temporalio/lambda-worker npm package.

Does Temporal serverless support Google Cloud Run?

No. AWS Lambda is the only supported compute provider, currently in Public Preview for all Temporal Cloud customers. GCP Cloud Run is not supported, and the Lambda material should not be adapted to other providers.

What are the limitations of Temporal serverless Workers?

Activities must finish within the Lambda invocation limit (15 minutes maximum) minus the shutdown buffer, though Workflow duration is unbounded across invocations. Eager Activities are always disabled, and each Workflow requires a Pinned or AutoUpgrade versioning behavior.

Why does my Lambda get invoked repeatedly with no Workflow progress?

This invocation loop indicates the deployment name or build ID in the Worker code does not exactly match the Worker Deployment Version configuration. Compare your code values against the WCI Workflow ID and temporal worker deployment describe output, then fix and redeploy.