Skip to main content
The AI Composer is the text-to-workflow agent in ModuleX. You describe what you want in plain English, and it builds an editable workflow on the canvas for you — adding nodes, wiring them together, and setting up inputs as it goes. You stay in control the whole time. The Composer pauses to ask you questions when it needs a decision or a credential, streams its work live, and never makes its changes permanent until you approve them.

Build by describing

Type a request like “summarize new support emails and post them to Slack” and watch the workflow take shape on the canvas.

You approve every change

Composer edits are pending until you save them. Don’t like the result? Revert in one click and the workflow returns to where it was.

What the Composer does

The Composer is an AI agent that edits a workflow’s graph for you. Instead of dragging nodes onto the canvas yourself, you tell it the outcome you want and it assembles the steps. As it works, it can:

Add and connect nodes

It adds any of the nine node types — for example an LLM node, a tool node, or a knowledge node — and wires them in the right order.

Set up inputs

It defines the inputs your workflow accepts so the steps have the data they need to run.

Use your integrations

It looks at the integrations your organization has connected and picks the right tools for the job.

Test as it builds

It can do a test run of the workflow while building so it can catch problems early.
The Composer edits the workflow live, but those edits are held as pending changes until you decide what to do with them (see Save and revert).

See it in the builder

This page explains the concept. To use the Composer hands-on inside the canvas, see AI Composer in the builder.

Composer vs Assistant

ModuleX has two AI agents, and they are easy to mix up. They share the same underlying chat engine, but they do different jobs.
Use the Composer when you want to build something reusable you can run again and again. Use the Assistant when you want to get a one-off task done now in a conversation.
Both agents pause the same way when they need your input, which is covered next.

When the Composer asks you a question

The Composer doesn’t guess on important decisions. When it needs a choice, a piece of text, or access to a connected service, it pauses and asks. This is called human-in-the-loop (HITL). While it is waiting, the conversation stays open and nothing changes until you respond. You can also skip most questions if you’d rather the Composer decide.
The Composer offers a short list of options and you pick one (or several). For example, choosing which model provider to use for a step.
A simple confirmation before it does something — for instance, before running a sensitive action while test-building.
A short written answer, such as the exact wording for a message or the name of a channel.
If a step needs a service you haven’t connected yet, the Composer asks you to connect it. For services that use OAuth, this opens the provider’s sign-in flow, and the Composer continues on its own as soon as you finish — you don’t need to re-send your request.
Only one question can be open per conversation at a time, and only the person who was asked can answer it. If you start a new request while a question is still open, the Composer asks you to answer the open one first.
For the developer-facing detail on how pause-and-resume works over the API, see Human-in-the-loop resume. The same idea also exists as a workflow step you can place yourself — the Interrupt node.

Save and revert

Composer changes are never silently committed. After the Composer finishes a turn, its edits sit on the canvas as pending changes, and an action bar gives you two choices.
1

Describe what you want

Send your request. The Composer streams its work and applies edits to the canvas as it goes.
2

Review the pending changes

When the turn finishes, the workflow shows the Composer’s edits with a pending-changes action bar. Nothing is locked in yet.
3

Save or revert

Save keeps the changes and updates the workflow’s saved snapshot. Revert restores the workflow to its last saved snapshot and discards the edits.

Save

Confirms the Composer’s edits and refreshes the saved snapshot of your workflow. This becomes the new baseline for the next revert.

Revert

Restores the workflow to the snapshot from before this turn and clears the pending changes — a clean undo of the Composer’s latest edits.
You can keep iterating without committing: send another request, see the new result, and only save once you’re happy. Each save sets the baseline that a later revert will return to.

Building a turn programmatically

Most people use the Composer through the builder. If you’re working from code, a Composer turn starts with a single call that creates or continues a chat and kicks off the agent. The response gives you a stream URL you can follow to watch the build live. Every request needs your API key and your organization context — see Authentication.
A successful response confirms the turn is running and tells you where to stream it:
Response
From there you follow the stream_url to watch the agent’s steps, answer any human-in-the-loop questions it raises, and then confirm with save or revert.
The Composer runs on managed AI usage, so it consumes credits — one credit per turn, plus the cost of the AI it uses. If your organization is out of credits or over a limit, the call is refused before any work begins with a billing response (a 402, 403, or 429). See Usage gating & limits and Errors & status codes for the exact shapes.
The Composer is available to organization owners and admins. The previous member role has been retired, so any account that can open the Composer can also use it. See Organizations, roles & membership.

Known limitations

A few related behaviors are not fully wired today. We list them here so you don’t build a flow that depends on them.
Deleting nodes one at a time is fully supported and syncs to everyone editing the canvas with you. When collaborating, delete nodes individually — confirming each — rather than in a single bulk action. See Realtime co-editing & external sync.
When the Composer asks for a credential and you connect a service via OAuth, the connect-and-continue flow works. To refresh an expired OAuth credential, reconnect the integration — that re-runs the sign-in flow and issues fresh tokens. See Managing credentials.

Next steps

Use the Composer in the builder

Open the Composer panel on the canvas and build hands-on.

Build a workflow with Composer

A step-by-step walkthrough from prompt to running workflow.

Meet the Assistant

The chat agent that gets one-off tasks done without a workflow.

How human-in-the-loop works

The developer-facing detail on pausing and resuming a turn.