SWIRLS_

From intent to primitives

Say what you want in plain language; this table tells you which Swirls primitives build it.

Every Swirls system is a handful of primitives wired together. This page maps common intents to the primitives that express them. It works in both directions: humans use it to find the right blocks, and agents use it to turn a natural-language request into a .swirls file.

Run things

You wantPrimitives
Run a procedure the same way every timeworkflow
Run something every Monday at 9amschedule + trigger + workflow
Start a run when another app calls uswebhook + trigger + workflow
Start a run when someone fills in a formform + trigger + workflow
Do one step for every item in a listmap node, or while for repeat-until (node types)
Run independent steps at the same timeparallel node (node types)
Pause until a person approvesreview
Retry, skip, or fall back when a step failsfailure policies
Call one workflow from anotherworkflow node (node types)

Add judgment

You wantPrimitives
A step that requires judgment, not exact rulesagent + an agent node in the workflow
Chat with an AI that can use our proceduresagent with workflows as tools
The agent answers in Slack or Linearagent + channel + connection
A chat assistant on our own websiteagent + web channel, see Embed agent chat
Restrict what tools the agent uses for routine workagent profile (agents)
Let an agent delegate subtasksagent team (agents)

Keep state

You wantPrimitives
Save what a workflow produced and reuse itstream
Shared files between workflows and agentsdisk
Read or write our existing databasepostgres + postgres nodes
Give an agent a workspace it can exploredisk

Talk to other services

You wantPrimitives
Call an API with a key we holdsecret + auth + http node
Post to Slack, Linear, Discord, LinkedIn, or Microsoft without managing keysconnection + http node
Send email from a workflowemail node (node types)
Scrape a web pagescrape node (node types)
Validate inputs and outputs between stepsschema

Control who gets in

You wantPrimitives
Only finance can use the bookkeeping agentrole + policy
Map our org chart onto the systemrole per group + policy grants
The execs reach everything, everyone else nothingallow exec -> agent * in a policy
Our employees sign in with our own identity providerOIDC federation + role mapping
Protect a public form with a passwordbasic auth on the form
Verify webhook calls with a shared secretwebhook secret: + header: (resources)

A worked example

"When a customer submits the contact form, summarize it with AI, post it to the sales Slack, and keep a record. Only the sales team can run the follow-up workflow manually."

Five intents, six primitives, one file you can review in a pull request.

On this page