Quick Start
TL;DR
- Create an account and an organization. The org scopes everything.
- Connect a cloud with a scoped, revocable role. No access keys.
- Run a workflow from an AI assistant over MCP, the console, or an SDK. Same engine, same catalog.
- Optional: turn on Lumen for observability, deploy an app, or build one on Orkestia.
The fastest path is to connect an AI assistant to https://mcp.orkestia.dev/mcp and let it walk you through steps 2 and 3.
get_workflow_schema.The shape of the journey
Orkestia is a privacy-first orchestrator. It holds workflow state and observability data. Cloud execution stays in your accounts. Apps you host on Orkestia (App Host + App Data) are an opt-in data and hosting plane — still isolated by identity, never a DSN in the frontend.
- 1. Account + org
- 2. Connect a cloudscoped role
- 3. Run a workflowassistant / console / SDK
- 4. (optional)Enable Lumen
- 5. (optional)Deploy or build an app
- 1. Account + org→2. Connect a cloud
- 2. Connect a cloud→3. Run a workflow
- 3. Run a workflow→4. (optional)
- 3. Run a workflow→5. (optional)
Prerequisites
| You need | Why |
|---|---|
| An Orkestia account and organization | Every run, connection, and resource is scoped to an org |
| A cloud account you control | Workflows execute there. Orkestia never holds custody of code or data |
| Permission to create a role in that account | The connection is a cross-account role, not access keys |
| (Optional) An MCP-capable assistant or an API token | To run workflows by talking, or from code |
1. Create your account and organization
Sign up with email or social login, then create an organization or accept an invite into one. The org is your tenancy boundary: it scopes connections, runs, Staff governance, Lumen data, and end-user identity.
Full walkthrough: User onboarding · Settings
2. Connect a cloud
Orkestia talks to your cloud through a cross-account role, never stored access keys. You create a role whose trust policy lets Orkestia's principal assume it. Orkestia then uses short-lived credentials per operation. Delete the role and access is revoked instantly. Every action shows up in your own audit log.
- Your IAM role+ trust policy
- Orkestia principal
- Orkestia principal→ AssumeRole (STS) →Your IAM role
- Your IAM role→ temporary credentials →Orkestia principal
AWS is the reference connection. Once linked, every AWS-backed capability reuses it. GCP, Azure, Magalu Cloud, and Kubernetes follow the same delegation pattern with provider-native grants. See Cloud connections and DNS providers.
With an AI assistant
This is the canonical MCP flow, and the server enforces it through rule://prerequisites-first:
whoami()
get_workflow_schema("connection.setup") → has_prerequisites: true, prerequisite_variants: ["aws", "gcp", …]
get_workflow_prerequisites("connection.setup", variant="aws")
→ a setup guide with Orkestia's principal ARN already filled in
# you create the role in your account, then hand back role_arn + external_id
start_workflow("connection.setup", { "provider_type": "aws", "role_arn": "…", "external_id": "…" })
watch_workflow(workflow_id) → COMPLETED
Prompt to paste:
Set up an AWS connection for my organization. Fetch the prerequisites first and show me exactly what to create. Do not start the workflow until I give you the role ARN and external ID.
Manually
Step by step (console, CloudFormation, or Terraform): AWS connections · DNS: DNS providers · Multi-cloud runners: Runners
3. Run your first workflow
In Orkestia, everything is a workflow: an event-sourced, resumable state machine with a typed input schema. Pick one capability and run it any of three ways.
Connect your assistant to the Orkestia MCP server (https://mcp.orkestia.dev/mcp) and talk. The assistant follows the same loop every time:
whoami() → confirm identity; org resolved server-side
list_workflow_namespaces() → what's available
list_workflow_types(prefix="…") → candidates in one namespace
get_workflow_schema(type) → required inputs, read_only, has_prerequisites
get_workflow_prerequisites(type) → only if has_prerequisites is true
start_workflow(type, initial_data)
watch_workflow(workflow_id) → follow to COMPLETED or FAILED
Good first prompts:
List the workflow namespaces my org can use and pick three safe read-only workflows to try.
Run a read-only workflow that lists my AWS S3 buckets and summarise the result.
Show me the schema for aws.s3.create_bucket. Do not run it.
Setup for Claude, ChatGPT, Cursor, and Claude Code: Connect an AI assistant. Tool reference: MCP integration.
Browse capabilities by namespace, open one, and start a run from a generated typed form. The run view shows live state transitions and, with Lumen, full observability. Best for first-time exploration.
Each workflow becomes a typed function. Full install and API: SDKs.
npm i @ltinteg/workflows-sdk
pip install ltinteg-workflows-sdk
import { LtIntegWorkflowsClient, github } from "@ltinteg/workflows-sdk"
const client = new LtIntegWorkflowsClient({
baseUrl: "https://workflow-api.orkestia.dev",
token: process.env.ORKESTIA_TOKEN // org-member Bearer; org resolved server-side
})
const run = await github.startValidateToken(client, { /* typed inputs */ })
const output = await run.wait()
console.log(run.workflowId, run.stateName)
import os
from ltinteg_workflows_sdk import LtIntegWorkflowsClient
from ltinteg_workflows_sdk.github import auth
client = LtIntegWorkflowsClient(
"https://workflow-api.orkestia.dev",
token=os.environ["ORKESTIA_TOKEN"],
)
run = auth.start_validate_token(client, token="ghp_…")
print(run.workflow_id, run.terminal_status)
For your app's users, never embed the org token in a browser. Use @orkestia/auth to run the PKCE flow and pass session.token into the same workflow client.
REST works too: POST https://workflow-api.orkestia.dev/api/workflows/start with Authorization: Bearer …. Never pass organization_uuid.
workflow_type, schema, and prerequisites from the workflow reference or, for assistants, from get_workflow_schema and get_workflow_prerequisites before starting a run.Deeper: Workflows · Building with DGI · Virtual workflows
4. (Optional) Turn on Lumen
Lumen is a separate host (https://lumen-api.orkestia.dev) from the workflow API. It is off until provisioned (403 LUMEN_NOT_PROVISIONED). An org admin enables a plan under Governance → Observability (Lumen), mints a lumk_ ingest key, then POSTs JSON to /api/logs/ingest or installs the collector. Lumen also has its own MCP server at https://mcp-lumen.orkestia.dev/mcp for triage.
Contract: Enable · Send data · Query API · Lumen MCP
5. (Optional) Deploy an app, or build one on Orkestia
App Enablement
Build on Orkestia: "Sign in with Orkestia", App Data, and end-user-scoped compositions. An assistant can provision the identity app in one call by following rule://orkestia-auth-setup.
Where to go next
Key Benefits
What teams get from Orkestia, each benefit mapped to the mechanism that produces it, privacy by architecture, an event-sourced engine, AI leverage with control, governed agent fleets, self-healing runners, and apps on top
Architecture Overview
How Orkestia splits into a control plane that orchestrates and a customer cloud that executes, where the MCP server sits, and the privacy boundary between the planes
