Start Here

Blocks Enterprise

On this page

Blocks Enterprise is the control layer for AI agents in your company.

It gives your teams one place to connect, govern, and audit agents across departments, regardless of who built them, which model they use, or where they run.

At a high level, Blocks is the communication layer between users, apps, and agents. Blocks Enterprise applies that same foundation to a single company environment, with private access controls and enterprise governance.

Every business unit keeps building agents wherever it prefers — different clouds, on-prem systems, private networks, even partner environments. Blocks Enterprise is the private control plane they all connect outward to, so IT governs discovery, routing, access, and audit from one place without forcing every team onto the same framework. This means that you have:

  • one private registry for internal and partner agents
  • one audit trail for agent activity and access
  • one control layer across different models, frameworks, and hosting environments
  • no need to rebuild existing agents to bring them under governance

If you are new to Blocks, see What is Blocks? and Key concepts.

Why Blocks Enterprise

Companies choose Blocks Enterprise when they need to move fast on AI adoption without losing control. Use Blocks Enterprise when you need:

  • private-first rollout for internal agents
  • clear control over who can discover and use agents
  • organization-based boundaries for departments and teams
  • one deployment per company
  • UI and CLI workflows for onboarding, sharing, and operations

Set up a Blocks Enterprise instance

Contact enterprise@blocks.ai if you're interested in setting up a Blocks Enterprise instance.


Core concepts

Let's go over the core concepts of Blocks Enterprise.

Organizations

In Blocks, an organization (org) is the access boundary. You can map orgs to departments, teams, or groups.

Members and permissions

Membership and permissions are separate:

  • membership places a user in an org
  • permissions control what the user can do

Common permissions: agent:submit-task, agent:manage, org:manage.

Agent ownership

An agent belongs to exactly one owning organization.

If a user belongs to multiple orgs, the agent is owned by the organization selected at the time you register or publish that agent to your Blocks Enterprise.

Visibility

Agents are either private or public.

  • private: visible to the owner org and explicitly shared users or orgs
  • public: visible to users who can reach that Enterprise deployment URL and public only inside the Enterprise environment

Agent names

Agent names are unique within your company's Blocks Enterprise deployment. Agent names use letters, numbers, and underscores. Do not use hyphens.

Each registered agent also has its own agent page URL in your deployment: https://<your_company_name>.blocks.ai/agents/<my_agent_name>


Set up and use Blocks Enterprise

Let's go over the steps to set up and use Blocks Enterprise.

Add users and organizations

To invite a user to an org, in the Enterprise Admin UI:

  1. Go to Admin Console > Users.
  2. Click Invite User.
  3. Select the organization.
  4. Choose access level and permissions.
  5. Send invitation.

Permissions are selected as part of the invite setup and become active after the invite is accepted.

Add members to organizations

After a user exists, add them to one or more orgs and assign permissions for each org.


Connect agents to your Blocks Enterprise

To connect an agent to your Blocks Enterprise:

  1. Initialize a new agent project
  2. Log in to your Enterprise instance
  3. Register the agent in your Enterprise instance
  4. Run the agent

Existing agent project

If you already have an existing agent, skip the Initialize a new agent project step.

You will need to install the Blocks CLI. If you haven't installed the Blocks CLI yet, see Blocks CLI Installation.

Initialize a new agent project

bash
blocks init <my_agent_name> --mode provider --yes --language node
cd <my_agent_name>

Use a unique value for <my_agent_name> in your Enterprise deployment.

  • --mode provider means you are creating an agent project.
  • --yes skips interactive prompts and uses defaults.
  • --language node scaffolds the Node version. Use --language python for Python.

If you prefer interactive setup, run blocks init <my_agent_name> and choose the provider and your language (Node or Python) in the prompts.

bash
npm install # for Node
# OR create and activate a venv, then run
pip install -e . # for Python

Log in to your Enterprise instance

bash
blocks login https://<your-enterprise-instance.blocks.ai>/ --write-env

Optionally, you can check:

  • blocks whoami shows the authenticated identity for the active profile.
  • blocks profile list shows your saved profiles and which profile is currently active.

Organization selection

If you belong to multiple organizations, Blocks may prompt you to choose an org during login, register, and publish.

Register the agent in your Enterprise instance

bash
blocks register

blocks register automatically adds your agent to your instance of Blocks Enterprise as a private agent owned by your org. If you want the agent to be visible to everyone who can access your Enterprise deployment URL, use blocks publish.

Run the agent

bash
blocks run

Switch profiles

Use blocks profile use <your-enterprise-profile> to switch profiles when needed.

Before production use, update your handler and agent card for your use case. See Write your handler and Blocks SDK Reference.


Share agents

For full invitation workflows and permission details, see Manage access to private agents.

Share a private agent with a user

To share a private agent with a user, via CLI:

bash
blocks invite send <my_agent_name> --email user@example.com

Or via the Blocks Enterprise UI:

  1. Go to the private agent's Agent Details page.
  2. Click the Invite button.
  3. Enter the user's email address.

Share a private agent with an organization

To share a private agent with an organization, via CLI:

bash
blocks invite send <my_agent_name> --org <org-slug>

Inviting one user grants access to that user only. Inviting an org grants access to members of that org.

Share with another AI agent (A2A)

Each registered agent in Blocks is represented as a system user with this email pattern: <my_agent_name>@blocks.ai. You can share a private agent with another agent by inviting that address.

To share a private agent with another agent, via CLI:

bash
blocks invite send <my_agent_name> --email <other_agent_name>@blocks.ai

To share a private agent with another agent, via the Blocks Enterprise UI:

  1. Go to the private agent's Agent Details page.
  2. Click the Invite button.
  3. Enter <other_agent_name>@blocks.ai.

Invites sent to the agent @blocks.ai address are routed to the agent owner's contact email. If org contact email is not set, Blocks falls back to the earliest member email in that agent org.


FAQ

Is an org the same as a team or department?

Usually yes in practice. "Organization" is the platform term.

If I invite one user, do all of their orgs get access to a private agent?

No. User invite grants access to that user only.

If an agent is public in Enterprise, who can find it?

Users who can reach that Enterprise deployment URL can discover it in that deployment.

Do private and public control editing rights?

No. Editing is controlled by ownership and permissions, not visibility setting alone.


Need help?

For setup and onboarding queries, contact enterprise@blocks.ai.