Beam
[STUDIO] Self-hosted workspace

Build the flow.
Join the room.

Beam Studio is a self-hosted workspace for Beam. Build transfer workflows on a visual canvas, run them by hand, on a schedule or from a webhook, and connect machines and buckets in private rooms.

Visual Workflows

Triggers, storage endpoints and actions on one canvas.

Private Rooms

Machines, buckets and Studio, joined by invitation.

Self-Hosted, Signed

Signed releases with health checks and rollback.

Room connections

9 members · 36 permitted connections

Cloudflare R2Hugging FaceHippiusStudio room consumerAliceBobBuild serverCharlieWindows machine
  • Send & receive
  • Studio service
  • Two-way
  • One-way
  • Owner / admin
  • Offline

Lines show what each member may send, not live traffic.

[01]

From trigger to transfer

Start from a blank canvas or the Simple transfer template. Connect a trigger to storage endpoints and a Beam Transfer step, add actions after it, and check the credit estimate before you run.

Workflow / nightly-dataset-syncRun · Running
ActionsResourcesFlow controlAuto-layout
TRIGGEROn a scheduleEvery day · 02:00 UTCSOURCE ENDPOINTAmazon S3datasets / exportsCOMPLETEDDESTINATION ENDPOINTCloudflare R2archive / dailyCOMPLETEDDESTINATION ENDPOINTHippiusmirror / dailyCOMPLETEDACTIONBeam Transfer@beam/transferRUNNINGACTIONSlackPost messageQUEUED
Completed
Running
Queued
[02]

Rooms connect machines and buckets

A room is a private group you join by invitation. Channel permissions decide which member may send to which, and Studio draws them for every room.

01

Members

Agents on your machines, buckets from your storage credentials, and the Studio room consumer. A machine enrolls with a one-time code over an outbound connection, so it needs no inbound port.

02

Channels

Message, stream, datagram, request-reply, media and object channels. Each grant says who may send and who may receive, and the graph draws exactly that.

03

Invitations

Share a room with a role, channel permissions, an expiry and up to 512 uses. The recipient joins from the Beam CLI:

beam room join <room> --invitation-token <token>
04

Encryption

Objects sent between agents are end-to-end encrypted with the room's keys, so workers carry ciphertext only. Bucket members use TLS.

[03]

Everything around the transfer

Studio adds composition, scheduling and visibility around Beam transfers. Beam still runs every transfer, and each one appears in your Console.

01

Visual workflows

Place actions, storage endpoints and flow control (fan-out, loops, decisions) on a canvas with auto-layout, snap to grid and undo.

02

Five ways to start

Run by hand, on a schedule, from a webhook that can require a signed body, at a set time, or after another workflow.

03

Action Registry

Beam Transfer comes preinstalled. Add Slack, HTTP, webhook, Salesforce and Zapier steps, plus public and private Registry actions.

04

35 storage providers

Amazon S3, Cloudflare R2, Hippius, Hugging Face, Wasabi, Backblaze B2 and more, plus any S3-compatible endpoint. Credentials stay encrypted on your host.

05

MCP server

22 tools let AI agents build, run and inspect workflows and transfers, using scoped, expiring and audited tokens.

06

Assistant

Chat with Beam AI to draft workflows and plan operations, billed to your organization's credits.

[04]

One view from trigger to receipt

Every run keeps its graph, step states, retries and outcome. Credits are reserved before a run dispatches and settled when it ends.

Run lifecycle

Queued.
Running.
Completed.

RetryCancelDead letter
Example runnightly-dataset-sync
02:00:00
Run queued
Schedule trigger
02:00:01
Credits reserved
Organization Beam key
02:00:02
Endpoints completed
1 source · 2 destinations
02:00:03
Beam Transfer running
@beam/transfer
—
Slack
Queued
[05]

Self-hosted. Signed. Recoverable.

Studio runs on one Linux host with systemd and Docker Compose, on amd64 or arm64. Plan for 2 vCPUs, 4 GB of memory and 20 GB of disk.

Linux with systemd
$curl -fsSL https://cdn.b1m.ai/studio/install.sh | sudo sh

Installs Docker if it is missing, then serves Studio at http://localhost:3004. Sign in with your Beam account.

01

Install

One command sets up the signed stack and the beam-updater service. Re-running it keeps your settings.

02

Claim

A new install serves no one until its owner claims it with the code from sudo beam-updater claim-code.

03

Update

Releases are Ed25519-signed and pin every image by digest. An admin confirms each update from Settings.

04

Recover

Every update backs up the database first and returns to the previous release when a health check fails.

+
+
[06]

Run Studio
on your own host

Install it on a Linux host, sign in with your Beam account, claim it, and build your first workflow.

Beam Studio — Self-hosted data transfer workflows and rooms