Working together · Frameworks and runtimes
Pyrana and Temporal
Pyrana's Harness runs on Temporal. What durable execution gives agents, what Temporal provides, and what an application platform adds on top of it.
Eric Tarnowski · Co-founder and President, Pyrana · Last reviewed October 12, 2026
The short answer
Temporal is a durable execution platform: workflows written as code that survive crashes, retry failed steps, and wait minutes or months for a signal. Pyrana's Harness runs on Temporal, so every Pyrana workflow, including one waiting for an approval, already has durable execution; you do not need to build or wire Temporal yourself to use Pyrana. Build on Temporal directly when you are engineering your own platform or a system that is not a business application. Use Pyrana when you want identity, authorization, approvals, context, pages, and versioned outputs already built above that durable core.
Temporal is the durable execution layer. Pyrana is an application platform built on it. They sit at adjacent layers, and Pyrana includes Temporal.
Use Temporal directly when
- Your engineering team is building its own platform or product, and durable execution is one of many components it will own.
- The workload is not a business application with users: payment pipelines, infrastructure provisioning, data processing, or backend sagas.
- You want full control over workflow code in Go, Java, Python, TypeScript, .NET, or another supported SDK.
- You have already chosen an agent framework (OpenAI Agents SDK, Pydantic AI, LangGraph) and need only to make it durable.
- You are prepared to build identity, per-user authorization, approvals, audit, and the application UI yourself.
Use Pyrana when
- The deliverable is a business application where people and agents work over the same pages, data, and outputs.
- Approvals must be bound to exact business actions, with arguments frozen under a hash and revalidated before dispatch.
- Every call must be authorized as a specific person or principal and recorded before it runs.
- Agents need curated company knowledge with provable citations.
- You want durable execution without writing workflow code or operating it as a separate project.
At a glance
Temporal Durable execution platform | Pyrana (built on Temporal) Agentic application platform | |
|---|---|---|
| What you get | Durable workflows as code, with SDKs, a server, and Temporal Cloud | Agentic applications: pages, targets, agents, workflows, and versioned resources in one App configuration |
| Durable execution | Core capability: event history, replay, retries, durable timers | Included: workflows run on Temporal workers; a run waiting for an approval survives a restart or deploy |
| How workflows are written | Deterministic code in a supported SDK; side effects in Activities | Declarative workflows in the App configuration; agent configuration in plain language |
| Agents | Integrations make agent frameworks durable (OpenAI Agents SDK GA; others in preview) | Agents belong to an App, inherit its rules, and fan out per entity and group |
| Human approval | Primitives: Signals and Updates deliver a decision to a waiting workflow | Tool approval policies over typed arguments; frozen invocation; named lanes; eligibility at decision time |
| Identity and authorization | Namespace access, SSO, and roles for operators of Temporal; application authorization is yours to build | One check on every call: tenant, App membership, access profile, scope entitlement (OpenFGA) |
| Audit | Full event history per workflow execution; Cloud audit logging | Execution row and audit record written before dispatch, per call, across every door |
| Context | Not in scope | cortIQ: typed, classified Context Units with retrieved, injected, and cited accounting |
| Application UI | Not in scope (Temporal UI is for operators) | App shell, declared pages with page context, copilot, and personal pages |
| Outputs | Whatever your Activities write | Versioned, immutable, attributed resources; stale publishes refused |
| License and pricing | MIT-licensed server; Temporal Cloud billed per Action plus storage | Commercial; enterprise platform pricing |
- Temporal
- Durable workflows as code, with SDKs, a server, and Temporal Cloud
- Pyrana (built on Temporal)
- Agentic applications: pages, targets, agents, workflows, and versioned resources in one App configuration
- Temporal
- Core capability: event history, replay, retries, durable timers
- Pyrana (built on Temporal)
- Included: workflows run on Temporal workers; a run waiting for an approval survives a restart or deploy
- Temporal
- Deterministic code in a supported SDK; side effects in Activities
- Pyrana (built on Temporal)
- Declarative workflows in the App configuration; agent configuration in plain language
- Temporal
- Integrations make agent frameworks durable (OpenAI Agents SDK GA; others in preview)
- Pyrana (built on Temporal)
- Agents belong to an App, inherit its rules, and fan out per entity and group
- Temporal
- Primitives: Signals and Updates deliver a decision to a waiting workflow
- Pyrana (built on Temporal)
- Tool approval policies over typed arguments; frozen invocation; named lanes; eligibility at decision time
- Temporal
- Namespace access, SSO, and roles for operators of Temporal; application authorization is yours to build
- Pyrana (built on Temporal)
- One check on every call: tenant, App membership, access profile, scope entitlement (OpenFGA)
- Temporal
- Full event history per workflow execution; Cloud audit logging
- Pyrana (built on Temporal)
- Execution row and audit record written before dispatch, per call, across every door
- Temporal
- Not in scope
- Pyrana (built on Temporal)
- cortIQ: typed, classified Context Units with retrieved, injected, and cited accounting
- Temporal
- Not in scope (Temporal UI is for operators)
- Pyrana (built on Temporal)
- App shell, declared pages with page context, copilot, and personal pages
- Temporal
- Whatever your Activities write
- Pyrana (built on Temporal)
- Versioned, immutable, attributed resources; stale publishes refused
- Temporal
- MIT-licensed server; Temporal Cloud billed per Action plus storage
- Pyrana (built on Temporal)
- Commercial; enterprise platform pricing
What durable execution is
Durable execution means a program's progress is recorded as it runs, so a crash, a deploy, or a lost machine does not lose the work. When the program restarts, it resumes from the last completed step. Temporal is the best-known implementation: a workflow is ordinary code, every step's result is written to an event history, and after a failure a new worker replays the code against that history to rebuild state and continue.
The Temporal model in brief
Temporal separates work into Workflows and Activities. A Workflow is "your business process defined in code." Activities are the steps that touch the outside world: API calls, database writes, emails, and model calls. Temporal supervises Activities with retry policies and timeouts, so a failed call retries with backoff, and an Activity whose worker dies is rescheduled on another. Workers run in your infrastructure and poll task queues for work. Workflow code must be deterministic, because Temporal reruns it to rebuild state; anything nondeterministic belongs in an Activity.
Why agents need it
An agent run is a long chain of slow, failure-prone, nondeterministic calls. Without durability, a timeout on step 40 can mean paying for steps 1 to 39 again, or leaving a half-finished action in a business system. Durable execution gives agents three things they otherwise lack: completed steps that are never repeated, retries under a policy, and waits that can last as long as the business needs.
Waiting for a person
The wait matters most. A purchase request above a threshold may sit in a finance queue over a weekend. A Temporal workflow can wait on a durable timer that lasts "minutes or months," or wait for a Signal or Update that delivers the decision, without holding a process open. When the decision arrives, the workflow continues on whatever worker is available.
Retries and restarts
Model providers rate-limit, tools time out, and deploys restart workers. Under Temporal, each of those becomes a retried Activity rather than a failed run. Temporal's own integrations follow the same pattern: the agent's orchestration runs as a deterministic Workflow, and model and tool calls run as Activities.
What Temporal provides
Temporal provides the durable core: SDKs in several languages, the MIT-licensed Temporal server for self-hosting, and Temporal Cloud as a managed service. Workflows can receive Signals and Updates, answer Queries, start child workflows, run on schedules, and wait on durable timers. Temporal Cloud bills per Action (workflow, activity, timer, signal, query, and schedule operations) plus active and retained storage, with SAML SSO and audit logging.
Temporal's AI integrations
Temporal has invested heavily in agent durability. The OpenAI Agents SDK integration for Python reached general availability on March 23, 2026: the agent loop, tool selection, and handoffs run inside the Workflow, and model calls run as Activities. Integrations also exist for Pydantic AI, the Vercel AI SDK, LangGraph (public preview), and Google ADK, announced at Replay 2026 in May. Replay 2026 also brought Workflow Streams in public preview for streaming LLM responses. In August 2026 Temporal published an early look at the Temporal Agent Harness, "earlier than public preview," which wraps agent SDKs in workflows and adds tool-call approval policies.
What an application platform adds
Temporal makes a program durable. It does not decide who the program is acting for, whether that person may see the record, which approver is eligible, what the agent should know, or where people do their work. Pyrana builds those layers above its Temporal-based orchestration: identity, authorization, approvals bound to actions, context, pages, and versioned outputs. Each is something a team building directly on Temporal would design and own.
Identity and authorization
Temporal's access controls govern who can operate namespaces and workflows. Application authorization is the application's job. In Pyrana, every call passes one eight-step gate before anything runs: identity and idempotency key, active App version, target and caller checks, exact resource versions, one authorization check (membership, access profile, entitlement on the entity), and an execution row and audit record written in one transaction before dispatch. The gate fails closed. The user's principal also passes through to Snowflake and Databricks row-level security.
Approvals bound to actions
Temporal gives you the primitive: a workflow waits, and a Signal or Update delivers a decision. Pyrana supplies the policy around it. A tool approval policy over typed arguments (thresholds, membership, existence, compound rules) decides which invocations need a person. The platform freezes the operation, exact arguments, scope, and evidence under a hash and queues it to a named lane. Reviewer eligibility is checked at decision time; the frozen invocation is revalidated before dispatch; dispatch is idempotent, so a retry reuses the receipt.
Context, pages, and versioned outputs
Pyrana adds cortIQ, which supplies agents with typed, classified Context Units and records what was retrieved, injected, and cited in each run. It adds the application surface: an App shell, declared pages that hand exact page context to the agent, a copilot, and personal pages. And it adds durable storage for outputs: versioned, immutable, attributed resources, where a stale publish is refused rather than overwriting someone else's work.
Do I need Temporal if I use Pyrana?
Not as a separate project. Pyrana's orchestration layer runs on Temporal workers as part of the platform. Workflows are declarative and live in the App configuration; nobody on the application team writes Temporal workflow code. Temporal workers provide durability and horizontal scaling, with separate worker pools for data fetching, file extraction, and the code interpreter. A run that waits for an approval survives a restart or deploy and resumes.
Should I build on Temporal directly?
Sometimes, yes. If your team is building its own platform, or the workload is a backend process with no users in the loop, Temporal is a strong foundation and its agent integrations remove much of the durability work. The fair question is what else the deliverable needs. A business application with approvals and audited outputs also needs identity, per-user authorization, approval policy, context, a UI, and versioned storage, and those take longer to build and maintain than the durable core.
What it takes to ship the same application
The reference application: a person or agent drafts a purchase request; amounts above a threshold need a finance approver; the request waits durably for the decision; everything is recorded.
| Component | On Temporal directly | On Pyrana (built on Temporal) |
|---|---|---|
| Durable workflow | Workflow in a Temporal SDK, with Activities for each side effect | Declarative workflow in the App configuration, running on Temporal workers |
| Drafting agent | Agent framework made durable through a Temporal integration (for example the OpenAI Agents SDK) | Agent bound to the App, with scoped tool bindings |
| Threshold rule | Code in the workflow | Tool approval policy over typed arguments |
| Finance approval | Signal or Update delivers the decision; the team builds the approver queue, eligibility rules, and UI | Named approval lane; frozen invocation; eligibility at decision time |
| Durable wait | Workflow waits on a Signal or durable timer | Same Temporal durability, included |
| Per-user authorization | The team builds identity, roles, and per-record checks | One gate on every call: membership, profile, entitlement |
| Record of the request | The team designs storage and versioning | Versioned, attributed resource; stale publishes refused |
| Audit | Workflow event history; the team builds a business audit trail tied to users | Execution row and audit record written before dispatch |
| Request and approval screens | The team builds the frontend | Declared pages, copilot, and App shell |
Using them together
Pyrana already uses Temporal, so the relationship is foundational rather than an integration project. Where a team also runs its own Temporal workflows, the two connect through ordinary interfaces: a Temporal workflow can call a Pyrana App through its API or App MCP server as a service principal, passing the same gate as any other call, and a Pyrana agent can call a service fronting a Temporal workflow through a REST or MCP tool source. Pyrana's view is that Temporal is the right durable core; the application platform is what sits above it.
When not to choose Pyrana
- You are building your own platform and want to own every layer, including workflow code.
- The workload is backend infrastructure or data processing with no people in the loop.
- You have already committed to an agent framework and need only durability, which Temporal's integrations provide.
- You need low-level control over workers, task queues, and SDK behavior that a platform abstracts away.
Questions buyers ask
Do I need Temporal if I use Pyrana?
Should I build agents on Temporal directly?
What is durable execution for AI agents?
Is the Temporal Agent Harness the same as the Pyrana Harness?
Does Temporal integrate with the OpenAI Agents SDK?
Related
Concept
Agent framework vs runtime vs application platform
Agent frameworks build the agent, runtimes host it, and application platforms add users, permissions, approvals, and context. What each layer gives you.
Concept
Build vs buy for agentic applications
What a custom-built agentic application needs beyond the agent, how to estimate build, maintenance, and per-application cost, and when building or buying wins.
Comparison
Pyrana vs OpenAI Agents SDK
The OpenAI Agents SDK is a code-first agent framework; Agent Builder shuts down November 30, 2026. How it compares with Pyrana's agentic application platform.
Comparison
Pyrana vs LangGraph
LangGraph orchestrates stateful agents; LangSmith traces, evaluates, and deploys them. Pyrana builds governed agentic applications. How to choose between them.
Sources and review
Facts about other products come from their own documentation, checked on the dates shown. Product names are trademarks of their owners and are used only to identify those products; no affiliation or endorsement is implied. Statements about fit are Pyrana's view. Last reviewed October 12, 2026. Spot something out of date? Tell us and we will correct it.
- Temporal documentation: Understanding Temporal · checked October 12, 2026
- Temporal documentation: OpenAI Agents SDK integration · checked October 12, 2026
- Temporal blog: Production-ready agents with the OpenAI Agents SDK + Temporal · checked October 12, 2026
- Temporal documentation: LangGraph integration · checked October 12, 2026
- Temporal blog: Build durable AI agents with Pydantic AI and Temporal · checked October 12, 2026
- Temporal blog: Building durable agents with Temporal and AI SDK by Vercel · checked October 12, 2026
- Temporal blog: Announcing new Temporal capabilities from Replay 2026 · checked October 12, 2026
- Temporal blog: Temporal Agent Harness, an early look at durable agent infrastructure · checked October 12, 2026
- Temporal pricing · checked October 12, 2026
- Temporal server repository and MIT license (GitHub) · checked October 12, 2026
Changes
- October 12, 2026 · Published.
Bring your hardest process.
We will show you the governed application it becomes, on your stack.