LoCrew Docs

Flows

Steps

Reference for every LoCrew flow step: Agent, HTTP request, Send message, Condition, Human approval and Join branches, with every field, default, exit and what the step outputs.

Every step has a Name (up to 120 characters) and, apart from the start step, a Type of step. Start steps are covered in Triggers.

#Agent

One of your agents carries out a task.

FieldDefaultNotes
AgentAny of your agents. The panel shows its runtime and access level. Flows never change an agent's permissions.
TaskWhat this agent should do in this step. Up to 20,000 characters. Required.
Give it the output ofTick earlier steps whose output it should receive, up to 16. Only ticked steps are passed on, marked as data it must not take orders from.
Reply formatTextText or JSON. JSON lets later steps use individual fields.
Fields in the replyJSON only. Up to 32 named fields, each with a type (string, number, boolean, list, object) and a description. What the agent is asked to reply shows the exact instructions.
Time limit (minutes)Agent's own1 to 360. The agent's own limit and the global limit always apply too.
Attempts1 (no retry)Up to 5. Retries happen only after a reported failure or a timeout, never after an unknown outcome.
First retry after (seconds)2Doubles each time, up to a minute.

What the agent receives: a prompt naming the flow and step, the flow-wide instructions if any, its task, any reviewer feedback if work was sent back, and each ticked input between markers that tell it to treat the content as untrusted data. Inputs over 40,000 characters are cut.

Output: text (the full reply). With JSON, json.field for each declared field.

Failure cases: a JSON reply that misses a declared field or has the wrong type fails the attempt: The reply did not match the fields this step asks for: … It is retried if you allowed attempts, and the reply is kept for inspection. A deleted agent, a budget refusal or a lost runtime login are never retried.

The run's private conversation has agent-to-agent hand-offs turned off, so an agent in a flow cannot wake other agents.

#HTTP request

Sends one request from this computer. Fully documented in HTTP requests.

Output: json.values.name for each kept value, json.status, json.ok, json.body, and text (the response as text).

#Send message

Posts a message as the flow to a channel or DM. It is shown as the flow, never as you or an agent, and it does not wake anyone: @names in it are plain text.

FieldNotes
Post toA channel or DM.
MessageMarkdown with {{step.path}} values. Up to 8,000 characters; longer messages are cut with a note.

If the step runs again (a retry or a resumed run), the message is not posted twice. One step posts to one fixed destination.

Output: json.messageId and json.conversationName.

#Condition

Chooses the Yes or No exit by checking earlier output. It never follows instructions written in that output.

FieldNotes
Take “Yes” whenevery rule holds (default) or any rule holds.
Rules (up to 16)Each reads one earlier step: its reply (text) or a JSON field (for example verdict or items.0.score), then a Comparison and, where needed, a Value.
ComparisonHolds when
is / is notThe value equals (or does not equal) yours, compared as trimmed text. A missing value "is not" anything.
containsText contains yours (case-sensitive), or a list has an item equal to yours.
is greater than / is less thanBoth sides are numbers.
existsThe value is present.
is emptyMissing, blank text, an empty list or an empty object.
is true / is falseA boolean, or the text true / false.

Field paths can go up to 8 levels deep and use names and list positions only.

Output: json.result (true or false). The path not taken is skipped.

#Human approval

The flow pauses here until you approve or reject in Runs. It keeps waiting if LoCrew restarts. Approving a step never approves file changes: agents still ask for those.

FieldDefaultNotes
What are you approving?Review before continuingUp to 200 characters.
Notes for the reviewerUp to 4,000 characters.
Show the output ofEarlier steps shown to you while you decide.

Exits: Approved and Rejected. If you reject and nothing is connected to Rejected, the run ends Rejected. Connect Rejected back to an earlier step to send the work back.

Output: json.decision (approved or rejected) and json.feedback (your optional feedback).

How to decide: Approving a run.

#Join branches

Waits for every incoming branch to finish.

When a branch failsEffect
Stop the flow (default)If any branch fails, the run fails with that step's error ("…" failed: …).
Continue with the branches that succeededThe flow carries on with what succeeded.

If every branch was skipped, the join is skipped. A join needs at least two incoming branches.

Output: text, each completed branch under a heading with its name.

#Limits for a whole flow

LimitValue
Steps per flow500
Connections per flow2,000
Inputs per step16
Agent steps per run, retries included200
HTTP requests per run, retries included200
Steps running at once2, or Max agents working at once if lower
Times one arrow may send work back per run10

Documentation for LoCrew 0.1.1, an early-development release. Found something wrong? Open an issue.

LoCrew is source available under the PolyForm Perimeter License 1.0.1. Last updated .