Organization & Project
Organization
An Organization is the top-level tenant. Every other entity in AgentMesh — projects, workers, connections, registry resources, agent profiles — belongs to exactly one organization.
Two things are deliberately org-scoped, not project-scoped:
- Agent Profiles — a "Backend Engineer" profile is defined once per org and reused across every project in that org, not redefined per project.
- Connections — a Git/Jira/Slack/Confluence credential is registered once per org (e.g.
acme-git), then mapped into whichever projects need it.
This matters when you're deciding where to configure something: if it's "policy" (who can do what, how), it belongs at the org level. If it's "this specific codebase," it belongs at the project level.
Each org carries a Subscription Plan (Free / Pro / Enterprise) that caps workers, team members, and runs/month — assigned by a platform admin, not self-service.
Project
A Project is a unit of delivery inside an org — typically one codebase or one product. A project has:
- A short key (e.g.
PAYMENTS) used in workflow instance execution keys and branch names. - Zero or more repositories, mapped in via
ProjectRepository. - Zero or more connection bindings, mapped in via
ProjectConnection(Jira, Confluence, a memory provider, etc.). - Its own Workflows (BPMN process definitions) and the Workflow Instances / Runs they produce.
A project does not define its own agent profiles — it selects which of the org's agent profiles to use for each workflow task (see Agent Profiles).
Why the split matters in practice
The PAYMENTS project in the ACME organization is a concrete example:
- The org
ACMEowns a Git connectionacme-git(GitLab) and a memory connectioncognee. - The project
PAYMENTSmaps the repositorypayments-apifrom that connection, at the aliaspayments-api. - The project also binds the
cogneeconnection under the aliasmemory-main, because an agent profile it uses declaresruntime.memory_connection_key: memory-main. - Agent profiles like
profile-java-devare defined once at theACMEorg level and reused by any project in that org that needs a Java developer —PAYMENTS' Java delivery workflow just references it by key.