Temporal
Temporal logoTemporal · Feature trail

Sandbox Orchestration Harness

4 posts · Dec 2024 – Oct 2026

What this trail covers

Temporal provides a robust foundation for Agentic AI workflows, offering durability, scalability, and flexibility. This includes features like scheduled execution, human-in-the-loop support, and multi-language integration. The platform acts as a centralized orchestrator for coordinating API calls, services, and data sources, enabling complex, long-running AI agents that can persist and evolve. The Temporal Agent Harness provides an outer layer of control and durability for AI agents, integrating with existing inner agent SDKs. It offers durable execution for agent interactions, a "turn"-based model for managing complex interactions, strongly typed agent interfaces for composition, and controls around tool execution, including approval policies. It also introduces a "code mode" for executing model-generated Python code in secure, durable sandboxes. This post codifies base templates and demonstrates how to run the Pi coding agent on Temporal, enabling recovery across machines while preserving its session format and allowing for automatic failover of interrupted tasks.

All Temporal trails
  1. Inside the Google ADK and Temporal integrationThis post details the integration of Google ADK with Temporal, enabling each LLM call and tool call within an ADK agent to run as a separate Temporal Activity. This brings Temporal's durable execution and retry capabilities to every step of the agentic loop, rather than just at the boundary. Key contributions include: - `TemporalModel`: A wrapper that reroutes LLM calls through Temporal Activities, allowing configuration of timeouts and retries. It handles model serialization by moving the model name and recreating it on the activity side. - `activity_tool`: A helper for defining tools as Temporal Activities, automatically handling retries, backoff, and heartbeating. It also supports defining Nexus operations or child Workflows as tools. - Deterministic Time and UUID: A PR to Google ADK introduced `google.adk.platform.time` and `google.adk.platform.uuid` abstractions that can be swapped with Temporal's deterministic `workflow.now()` and `workflow.uuid4()` within Temporal Workflows. - MCP Support: Integration with MCP allows dynamic tool discovery at runtime, with each tool call running as a Temporal Activity, providing visibility and retries. The integration handles tool context serialization by taking a focused snapshot of the context needed by the tool. - Worker Setup: A single-line `GoogleAdkPlugin()` addition to the Temporal client handles sandbox passthrough, Pydantic serialization, and deterministic time/UUID replacements.