Workflow composer

A React block (a whole screen) in Beamline's AI workspace app.

A workflow drafted from a sentence and finished by hand. The prompt drafts steps that arrive one by one on the graph (a draft cut short keeps what came and says where it stopped; a failed one says nothing was drafted). Each step is checked on the graph (how many things it needs) and changed in the inspector: required fields; a filter written in words whose reading is a proposal (each condition editable, ambiguous words and resolved dates said with their zone and now) that becomes the conditions in use only when applied, with the sample count following the conditions in use; variables with upstream sources tried in order and a typed fallback, a source from a later step or of the wrong type named, and a sample run showing each source's value, the one used, and when the fallback steps in. Publish is off until nothing is left to fix; a version is called live only after the app says so, and a refusal keeps the draft with nothing running from it.

Use it for

  • A CRM or ops tool where an assistant drafts a workflow the person checks and publishes.
  • Filters written in plain words that must become visible, editable conditions before they act.

Not for

Anatomy

  • bar: the workflow, draft or live version, things to fix or ready, Publish
  • prompt: describe it, Draft it or Draft again, how many steps arrived, stop or failure notes, ideas
  • graph: the steps with how many things each needs
  • inspector: the step's fields; a filter's phrase, Make conditions, the proposal (how words were read, dates and zone, editable conditions, Use these conditions) and the conditions in use with the sample count; variables with their sources, sample values, fallback and problems

States

  • empty prompt, drafting, partly drafted, drafting failed
  • filter: suggestions, reading, proposal ready, ambiguous word, no sample matches, reading failed, proposal differs from the conditions in use
  • variable: bound, missing upstream output, wrong type, fallback used, no value and no fallback
  • invalid draft, publishing, publish refused, published
  • narrow room: columns stack

Keyboard

  • Tab reaches the prompt, each step on the graph (arrows move between steps) and every field; Enter applies a button

Motion

Drafted steps arrive one by one, the step being drafted marked running; nothing else moves. Nothing runs at rest.

Props

PropTypeDefaultDescription
defaultWorkflow (required)Workflow—The workflow as it starts (an empty draft, or one being finished).
onWorkflowChange((w: Workflow) => void)—
onGenerate((prompt: string, onStep: (step: DraftStep) => void) => Promise<void>)—Drafts steps from a prompt, one at a time through `onStep`; reject to stop (the steps so far stay).
onInterpret((phrase: string, ctx: FilterContext) => Promise<FilterProposal>)—Turns a filter phrase into proposed conditions.
onPublish((w: Workflow) => Promise<number>)—Publishes the draft; resolve with the live version, reject to keep it a draft.
filterContext (required)FilterContext—Fields, sample records, zone and "now" for filter steps.
sampleRun (required)SampleRun—Values from one sample run, for trying variables.
ideasstring[]—Prompts offered to start from.
defaultPromptstring—
defaultStepstring—
classNamestring—Classes on the documented visual root; no override by default.
styleCSSProperties—Inline styles on the documented visual root; no overrides by default.
refRef<HTMLDivElement>—Receives the documented native target or imperative handle; omitted by default.

Built from

Dependencies

lucide-react

Import

import { WorkflowComposer } from "@beamline/workflow-composer";

Get it

Workflow composer is part of Beamline UI. Install the parts you need in your React app as compiled packages or editable source. Get Beamline · Connect your agent

More in AI workspace

  • AI agent workspace: Threads, a conversation that opens on the thread's earlier turns (each with its trace, the tools the agent called, a cited answer and any table it…
  • Agent runs monitor: Every run of your agents in one place: success rate, run time, tokens and spend; the last runs as a strip of status blocks; a live table where running…
  • Agent monitor: Agents in production and on test. Monitor shows every agent or one over 24 hours, 7 or 14 days: runs, tokens, estimated cost and average run time counted…
  • Conversation history: Past conversations with an assistant, ready to pick up again: the list by day with bookmarks and unsent drafts, a search through every message that…
  • Knowledge base manager: What your assistant knows and whether it is fresh: sources with live sync status (syncing with progress, out of date, failed with the reason and Retry)…
  • Reading library: A read-it-later library: saved views that are live filters (a query with every unreadable part named, the number that matches now, saved with a name; a…
  • Artifact workbench: Where the things an assistant makes are checked before they leave: every document, piece of code, small app and data result from a conversation, each…
  • AI image studio: Write a prompt, pick a shape, a style and how many, and watch the variations generate side by side; each one opens full screen and can be upscaled or…
  • Voice agent: A voice agent in three layouts on one session: a workspace with the agent's orb large on a stage (the line being said shows under it, questions to ask…
  • Model playground: Try one prompt on up to three models side by side: pick each model with its price and speed in view, set the system prompt, temperature and length once…
  • Model inspector: A design model's objects without needing the 3D view: the model tree, where objects with the same name are told apart by id and path; the selected…
  • Model issues: Issues pinned to the objects of a design model. The queue says the scope beside every count (open in the project, on the loaded models, on this version)…
  • Agent builder: An agent's configuration beside an assistant that proposes tools. Ask for what the agent should do and the assistant's proposal lists each tool with why…
  • Data binding: Bind an object's properties to a view model. Each property says whether it is bound, incomplete or mismatched. A binding takes its source from the…

Part of Beamline UI: polished, editable React components and complete screens for custom applications. Build your own style from any look; tokens, fonts, radii, motion; not only colours.