One file can hold the complete business system.
Here is one editorial desk end to end: writers submit drafts, AI reads them first, an editor approves, and the piece posts to Slack. Everything it runs on is written in a single .swirls file: where drafts are kept, the steps they move through, who is allowed to approve, and the screen the editors work on. This page builds it one piece at a time.
Triggers
A writer submits a draft.
A form is where the work begins. You point that form at the process that should handle it, and that is the entire connection. There is no service to stand up in between and no queue to wire together. If the work should start from another tool instead, or every morning at nine, those attach the same way.
Learn moreWorkflows
The work has to survive the wait.
Tidy up the submission, let AI read it, save what it found, then stop and wait for a person. The editor might take a day, or a week. Swirls remembers exactly where the work paused, so an approval picks it up from that point and carries on to publishing and the Slack post. Nothing gets lost and nothing runs twice.
Learn moreReview
Approve “Shipping the review queue”?
Agents
The agent gets one job and a written guide.
The assistant is given a single job and a short list of things it is allowed to do. Anything with fixed rules stays in the process, where it behaves the same way every time. The judgment calls, your house tone, when to credit a source, what counts as a problem, live in a written guide the assistant opens when it needs one. You edit that guide the way you would edit any other document.
Learn moreData
The desk has to remember things.
Describe the records you keep, a draft's title, its status, the notes AI left on it, and Swirls creates and runs the database for you. There is no server to set up and no password to pass around. The process, the assistant, and the editors' screen all read and write those same records.
Learn moreConnections
Reaching other tools is part of the same file.
Posting to Slack is written down like every other step: which service, which account, and what gets sent. Swirls keeps the login for that account, so no password or key ever goes in the file and nobody has to email one around. When something goes wrong, the Slack post shows up in the same history as the rest of the work.
Learn moreAccess
Roles decide who gets in and who can approve.
First say who counts as an editor, here anyone in the editorial department. Then say what editors get: the assistant, the one process it is allowed to run, and the right to approve a draft. Writers can submit through the form and see nothing else. These rules sit a few lines from the work they protect, so they get read when the rest of the file gets read.
Learn moreRole
editorial · department: editorial
Policy
Allow editorial to use editor_assistant with publish_article as its only tool.
App audience
Invite only, through your company sign-in. Approvals happen on one page, and nowhere else.
Apps
The people doing the work need a screen.
Three short page descriptions give the editors one: the queue of drafts, the approvals waiting on them, and a room where they can ask the assistant. Swirls hosts and runs it, so there is no second application to build, deploy, or keep in step with the first.
Learn moreOne file
The whole desk, in one file.
Storage, the form, the steps, the AI, the Slack post, the permissions, and the screen, in the order the desk needed them. It is a working file, checked by the Swirls compiler every time this page is built. Your coding agent writes the first draft, and you read it the way you would read a document.
Start with one process you already run.
It does not have to be an editorial desk. Onboarding, refunds, claims, procurement: whatever your team tracks in spreadsheets and chases down in chat is built from the same pieces, and it fits in one file the same way.