Blog

Notes from the team building Swirls.

Release notes, engineering deep-dives, and how we think about agentic workflows, straight from the team writing the code.

Prompt or process? Why operational agents need to be declarative

A prompt is a useful starting point for an agent, but operational work needs a durable, reviewable system with declared state, permissions, approvals, and failure paths.

swirlsagentsworkflowsdeclarativeoperations

The integration catalog is live

Browse 120+ typed provider actions for Slack, GitHub, Linear, and Microsoft Graph, and install them with swirls add. The catalog grows on request: the OAuth framework underneath brokers any provider.

swirlsintegrationscatalogconnectionsactionsoauth

Every tool is a workflow

Swirls now has agents. An agent is a block in a `.swirls` file, and its tools are workflows — so every tool call runs as a checkpointed execution under the runtime, not as a function call around it.

swirlsagentstoolsworkflowschannels

Ridding ourselves of API keys

Swirls now exchanges JWTs from your identity provider for short-lived access tokens. No more long-lived API keys and no more guessing which user did what.

swirlsauthoidcidentity

Anatomy of a `.swirls` file

One .swirls file from the Swirls team's own GTM stack, read top to bottom. An OIDC-federated identity, a schedule, a graph with a scoped-delegated HTTP call, a durable Postgres-backed stream, and a trigger. One file. Five primitives. No long-lived API tokens. This is what a deployable agent looks like.

swirlsagentsarchitecture

Introducing Swirls

A declarative language and durable runtime for agentic workflows. Define forms, webhooks, AI steps, and human review in a single .swirls file. Then deploy in one command.

ProductCompany

Start building today.

Start with one task. Build the system around it. Run it for one client, then every client.