Skip to content
Pyrana
Compare

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

What you get
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
Durable execution
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
How workflows are written
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
Agents
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
Human approval
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
Identity and authorization
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)
Audit
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
Context
Temporal
Not in scope
Pyrana (built on Temporal)
cortIQ: typed, classified Context Units with retrieved, injected, and cited accounting
Application UI
Temporal
Not in scope (Temporal UI is for operators)
Pyrana (built on Temporal)
App shell, declared pages with page context, copilot, and personal pages
Outputs
Temporal
Whatever your Activities write
Pyrana (built on Temporal)
Versioned, immutable, attributed resources; stale publishes refused
License and pricing
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.

ComponentOn Temporal directlyOn Pyrana (built on Temporal)
Durable workflowWorkflow in a Temporal SDK, with Activities for each side effectDeclarative workflow in the App configuration, running on Temporal workers
Drafting agentAgent framework made durable through a Temporal integration (for example the OpenAI Agents SDK)Agent bound to the App, with scoped tool bindings
Threshold ruleCode in the workflowTool approval policy over typed arguments
Finance approvalSignal or Update delivers the decision; the team builds the approver queue, eligibility rules, and UINamed approval lane; frozen invocation; eligibility at decision time
Durable waitWorkflow waits on a Signal or durable timerSame Temporal durability, included
Per-user authorizationThe team builds identity, roles, and per-record checksOne gate on every call: membership, profile, entitlement
Record of the requestThe team designs storage and versioningVersioned, attributed resource; stale publishes refused
AuditWorkflow event history; the team builds a business audit trail tied to usersExecution row and audit record written before dispatch
Request and approval screensThe team builds the frontendDeclared 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?
No separate Temporal project is needed. Pyrana's orchestration layer runs on Temporal workers as part of the platform, so every Pyrana workflow gets checkpoints, retries, durable waits, and horizontal scaling without anyone writing Temporal workflow code. Teams configure declarative workflows in the App configuration. A run that waits days for a finance approval survives restarts and deploys and resumes where it stopped.
Should I build agents on Temporal directly?
It depends on what you are building. If you are an engineering team building your own platform, or the workload is a backend process rather than a business application, Temporal is an excellent foundation, and its agent integrations make frameworks like the OpenAI Agents SDK durable. If the deliverable is an application with users, approvals, and audited outputs, you will also build identity, authorization, approvals, context, and UI, which Pyrana already provides.
What is durable execution for AI agents?
Durable execution means a program's progress is recorded as it runs, so after a crash or deploy it resumes from the last completed step instead of starting over. For agents, it means completed model and tool calls are not repeated, failed calls retry under a policy, and an agent can wait hours or weeks for a human decision without holding a process open.
Is the Temporal Agent Harness the same as the Pyrana Harness?
No. The Temporal Agent Harness is an early Temporal project, announced in August 2026 as earlier than public preview, that wraps agent SDKs in Temporal workflows and adds tool-call approval policies. The Pyrana Harness is Pyrana's runtime and orchestration layer, which runs on Temporal and sits inside a full application platform with identity, authorization, context, and pages.
Does Temporal integrate with the OpenAI Agents SDK?
Yes. Temporal's OpenAI Agents SDK integration for Python reached general availability on March 23, 2026. The agent loop, tool selection, and handoffs run inside a Temporal Workflow, and model calls run as Activities, so they retry durably and are not repeated during replay. Temporal also offers integrations for Pydantic AI, the Vercel AI SDK, LangGraph (public preview), and Google ADK.

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.

  1. Temporal documentation: Understanding Temporal · checked October 12, 2026
  2. Temporal documentation: OpenAI Agents SDK integration · checked October 12, 2026
  3. Temporal blog: Production-ready agents with the OpenAI Agents SDK + Temporal · checked October 12, 2026
  4. Temporal documentation: LangGraph integration · checked October 12, 2026
  5. Temporal blog: Build durable AI agents with Pydantic AI and Temporal · checked October 12, 2026
  6. Temporal blog: Building durable agents with Temporal and AI SDK by Vercel · checked October 12, 2026
  7. Temporal blog: Announcing new Temporal capabilities from Replay 2026 · checked October 12, 2026
  8. Temporal blog: Temporal Agent Harness, an early look at durable agent infrastructure · checked October 12, 2026
  9. Temporal pricing · checked October 12, 2026
  10. 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.