Portal Community

Area as a Boundary

Think of an Area as a "department" within your Octopus deployment:

Area Lifecycle

1
Create Area Admin creates an area via the agents-app or API. Assigns a name, description, and initial configuration.
2
Create Agents One or more agents created within the area. Each agent has its own persona, tools, and knowledge base.
3
Index Knowledge Documents uploaded and indexed into each agent's vector collection.
4
Assign Tools Tool groups assigned to agents within the area. Area-specific tools are not visible to other areas.
5
Grant User Access User groups mapped to the area. Users with access see the area's agents in the chat-app.

Area Data Model

CREATE TABLE Octopus_Areas (
    AreaId      UNIQUEIDENTIFIER NOT NULL DEFAULT NEWSEQUENTIALID(),
    TenantId    UNIQUEIDENTIFIER NOT NULL,
    Name        NVARCHAR(200)    NOT NULL,
    Description NVARCHAR(MAX)    NULL,
    IsActive    BIT              NOT NULL DEFAULT 1,
    CreatedAt   DATETIME2        NOT NULL DEFAULT SYSUTCDATETIME(),

    CONSTRAINT PK_Areas PRIMARY KEY (AreaId)
);

CREATE TABLE Octopus_AreaAgents (
    AreaId  UNIQUEIDENTIFIER NOT NULL,
    AgentId UNIQUEIDENTIFIER NOT NULL,
    CONSTRAINT PK_AreaAgents PRIMARY KEY (AreaId, AgentId)
);

CREATE TABLE Octopus_AreaUsers (
    AreaId      UNIQUEIDENTIFIER NOT NULL,
    UserGroupId UNIQUEIDENTIFIER NOT NULL,
    CONSTRAINT PK_AreaUsers PRIMARY KEY (AreaId, UserGroupId)
);

Single Area vs. Multi-Area

ScenarioRecommended Setup
Small deployment, one teamSingle area — simpler management
Department-specific agents, users must not cross-readMultiple areas with strict user group assignment
Public chatbot + internal assistantTwo areas: Public (no auth) and Internal (auth required)
Enterprise with 10+ departmentsOne area per department; area admins for each