For a single provider call — including comparing across options — ai_call inside a logic block is enough (see AI Call, in Logic Blocks). Agent crews are for genuine multi-agent workflows: a deployable, multi-agent unit you invoke from a logic block with run_crew.
Agent crews
A crew is a multi-agent workflow you build on a canvas: several agents — each with a prompt and a model — wired together with logic nodes (condition, loop, human gate), plus guardrails and memory applied across the crew. You deploy a crew, give it a status, and invoke it as one unit.
- Agents carry a system prompt and a model.
- Guardrails constrain behaviour — allowed/blocked topics, write-tool approval gates, and more (schema-driven).
- Memory sets how prior turns are retained (e.g. a sliding window).
- Tool approval — write tools can require an approval gate before they run.
Deploy intercepts missing guardrails
Deploying a crew with no guardrails prompts you to add them first — a nudge to make agent behaviour intentional before it goes live.
run_crew — invoke a crew from a logic block
Crews compose with the rest of the platform via the run_crew step. The logic block handles structured data flow; the crew handles reasoning and multi-agent coordination — neither leaks into the other's concern.
{
"type": "run_crew",
"crewSlug": "customer-support-crew",
"input": "{{s1.output}}",
"timeoutMs": 120000,
"outputVar": "crewResult"
} Logic block: processComplexInquiry
s1: get_entity(Customer, id: {{input.customerId}})
s2: run_crew(crewSlug: "customer-support-crew", input: {{s1.output}})
s3: create_entity(SupportTicket, {
resolution: {{s2.outputSnapshot}}
}) Crews also fire from events
Because run_crew is a logic-block step, a crew can run from any trigger a logic block can — including an event-driven automation on an entity write.