Platform Agents Security Pricing Docs
Read as
Book a walkthrough

Platform

Author it three ways. Run it one way.

Build a workflow on the canvas, as JSON or in Python. Every version runs on the same engine, with approvals, the audit trail and long pauses built in rather than switched on.

Three renderings of one workflow definition. Audit-by-construction, optional HITL gates at any step and durability through any pause are properties of the engine, not features you switch on.

Canvas for operationsJSON for reviewPython for engineers
Scroll to see it
One engineOne definition, whichever view you edit
  • Same schemas
  • Same runs
  • Same audit

01Authoring

Same workflow. Three ways to author.

Operations draw it, reviewers read it, engineers write it. Watch it being built on the canvas, then switch view. It is one definition, and it versions with your code.

Drag activities onto the canvas, edit the JSON directly or write it in Python. The definition is one object; every view is a rendering of it.

Refund claimsrefund_claims · v12
Canvas and JSON in syncSchema check passedSaved as v12Simulation · illustrative data

CanvasLive

Drag, wire and configure. Every node is the same activity, with the same schema and the same validation.

JSONLive

Diffable and reviewable. The definition sits in version control next to the rest of your code.

PythonTo confirm

Decorators that compile to the same definition, for teams who want to test locally before deploying.

02Primitives

What you build with.

Ready-made steps for the work in between: reading documents, calling systems, asking a person, paying out. Each one is typed, retried and recorded. New steps are added on request.

Eleven categories of typed, retried, audited activities. Compose them, wrap them or author your own; new activities and whole categories are added on request.

77Activities
11Categories
28SaaS connectors
Activity catalogue
Agents

AI-native execution loops with explicit budgets, sub-workflows as tools and approval gates.

  • agent.run
  • mcp.call_tool
  • + MCP server
Control flow

Pause for a person. Branch, retry and gate, with the engine enforcing the rules.

  • human.approval
  • control.if_else
  • control.for_each
  • + parallel, retry
OCR

Structured data out of invoices, receipts, IDs, business cards and any document.

  • ocr.invoice
  • ocr.receipt
  • ocr.passport
  • ocr.document
  • + 3 more
AI / LLM

Classify, extract, summarise, translate and decide, with any LLM provider.

  • ai.classifier
  • ai.extract
  • ai.summarize
  • ai.translate
  • + 2 more
HTTP

Typed requests, signed webhooks, retries and backoff you don’t have to write.

  • http.request
  • http.webhook
  • + 2 more
Notify

Slack, Teams, email and Telegram. Every send is kept in Communications.

  • notify.slack
  • notify.teams
  • notify.email
  • notify.telegram
File ops

Convert, split, merge, zip and hand off files, with lineage attached.

  • file.convert_pdf
  • file.zip
  • + 4 more
Data

Transform, validate against a schema, reshape and join between steps.

  • data.transform
  • data.validate_schema
  • + 3 more
Database

Query and write to Postgres, MSSQL and MySQL with scoped credentials.

  • db.postgres_query
  • db.mssql_exec
  • + 2 more
Cloud

Object storage and blob operations across AWS, Azure and GCP.

  • cloud.s3_put
  • cloud.blob_get
  • + 3 more
SaaS apps

28 connectors, including Stripe, HubSpot, Salesforce, Google Workspace and Microsoft 365.

  • saas.stripe_refund
  • saas.hubspot_sync
  • + 26 more
11 categoriesNames as they appear in the product

03Durability

Pause for an hour. Pause for a month.

A run can wait days for a decision. While it waits it holds no worker and no place in the queue. If a server stops or we ship a release, it carries on where it stopped.

Per-turn dispatch means pause, resume and crash recovery share one primitive: the run’s state lives in the engine’s store, and a worker only ever holds one turn at a time. A two-day wait for an approver is the same code path as a 40-millisecond retry.

Read the durability reference
Started by the storefront webhook
Worker stopped. Resumed on another
Paused. Waiting for Daniel
Engine restarted. Run untouched
New release shipped. Run keeps v12
Approved by Daniel, from the email link
Resumed at step 5 of 7
Complete. Filed to the audit trail
  1. Started by the storefront webhook
  2. Worker stopped. Resumed on another
  3. Paused. Waiting for Daniel
  4. Engine restarted. Run untouched
  5. New release shipped. Run keeps v12
  6. Approved by Daniel, from the email link
  7. Resumed at step 5 of 7
  8. Complete. Filed to the audit trail
run_01JX7 · refund_claims v12 · recovered 3 times, lost nothingIllustrative run
Per-turn dispatch

A worker claims one turn, commits and lets go. Nothing is held open across a wait.

Crash-equivalent

A stopped worker and a two-week pause are the same state change to the engine.

Free waiting

Paused runs use no worker, no thread and no concurrency place.

Deploy-safe

Ship mid-run. Definitions are versioned, so in-flight runs finish on the version they started on.

04Control plane

Operate it at scale.

Six views, each one click from the workflow that produced what you are looking at. No separate monitoring vendor to wire up.

Lyhnis
Illustrative data

05Status

What’s live on this page.

Every capability above carries its label. If it isn’t live, it says so.

8of 11 capabilities live

Checked against the product in September 2026

See every security claim
  • Visual canvasDrag, wire and configure. Every node is a real activity.Live
  • JSON definitionsDiffable and versioned with your code.Live
  • 77 activities in 11 categoriesTyped, retried and recorded.Live
  • Approval at any stepA named person decides, with a deadline.Live
  • Pauses of any length hold no workerA waiting run takes no place in the queue.Live
  • In-flight runs finish on their versionShip a release mid-run without breaking it.Live
  • Run inspector, audit log, files and lineageOne click from any job.Live
  • MonitoringPrometheus-backed, alertable anywhere.Live
  • Python authoringDecorators that compile to the same definition.To confirm
  • Approve buttons inside Slack or TeamsDecisions happen on the email link.Not offered
  • Self-serve sign-upPilots are set up with you.Not offered

06Begin

Two ways in. One engine.

Engineers start from the API. Operations start from the canvas. Both reach the same runs.

For engineers

Start from the API.

Every workflow is callable over a REST API described by one OpenAPI spec, or as a tool through the MCP server.

# start a run (illustrative)
POST /api/v1/workflows/refund_claims/runs
{ "claim": "CLM-2291", "amount": 240.00 }

202 { "run": "run_01JX9", "status": "RUNNING" }
For operations

Start from the canvas.

Place your steps and your approval gates, then run. We set up the workspace with you during the pilot.

30-minute call

See your process
on the canvas.

Bring one process that moves money. We’ll draw it with you, live.