STACK with CrewAI

Why this matters

CrewAI builds agents the way org charts build people: a role, a goal, a set of tools, and a place in a process. The Researcher gathers data, the Writer drafts a doc from it, the Reviewer signs off before the Crew returns. That structure is the value. It lets you reason about multi-agent work the way you'd reason about a team. The flip side is that the structure mostly lives in code; the access policy, the audit, and the kill switch all sit outside it.

STACK is the access policy that wraps the org chart. Each Agent in the Crew gets its own passport, with scope narrowed to its role: the Researcher gets read-only access to your data warehouse, the Writer gets the publishing API, the Reviewer gets the document store. STACK's delegation model maps directly onto CrewAI's hierarchical Process: a Manager Agent holds a parent passport, the Workers it delegates to get child passports with scope narrowed downward. Every action lands in one Crew-level audit chain.

What it unlocks

  • Roles in CrewAI become scopes in STACK passports. The Researcher's tools shouldn't be the Writer's tools. With STACK, each role gets a passport with only the credentials and intents the role needs. The delegation in CrewAI's hierarchical Process matches STACK's delegation chain: a Manager Agent's passport narrows when it delegates to a Worker, and narrows again if the Worker delegates further. Up to 4 hops, scope-only-narrows. Mechanical match.
  • Tasks become intents. A Task in CrewAI has a description, an expected output, and an assigned Agent. Mint a STACK passport per Task with the intent set to the Task description ( research_competitor_pricing, draft_launch_email). Every credential retrieval, every outbound call, every detector fire on that Task is filterable in audit by intent. When crew.kickoff() returns and you want to know what each Task actually did, the trace is right there.
  • The shared Crew vault, instead of N agent-level secret blobs. A Crew touching Slack, GitHub, Stripe, your data warehouse, and a vector store would normally have credentials passed into each Agent's tool definitions or smeared across os.environ. With STACK, one credential is connected once on the STACK side; every Agent in the Crew can reach it through their role's passport; new Agents joining the Crew tomorrow inherit access through role assignment, not through code changes.

Wiring it up

Install CrewAI alongside the STACK Python SDK, register the Crew, and pass the STACK tool list to your Agents. Step-by-step setup, working code, and how Crew-level audit looks:

/docs/integrations/crewai

Last reviewed 2026-05-08.

stack | STACK with CrewAI