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.

json
{
  "type": "run_crew",
  "crewSlug": "customer-support-crew",
  "input": "{{s1.output}}",
  "timeoutMs": 120000,
  "outputVar": "crewResult"
}
text
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.