# Core concepts

> The OpenAgent object model: workspaces, businesses, services, doors, agents, workflows, and how they fit together.

Everything in OpenAgent hangs off one tree. Understanding it makes the rest of the docs read easily:

```text
Workspace                 you, your team, billing, API keys
└── Business              one company's whole front office
    ├── Services          the doors + desks you've added
    │   ├── Website chat      (has its own AI agent)
    │   ├── AI receptionist   (has its own AI agent)
    │   ├── WhatsApp · Instagram · Messenger · SMS
    │   ├── CRM · Help desk · Scheduler
    │   └── …
    ├── Agents            the AI brains the services share
    ├── Knowledge         what the AI knows (business-wide)
    ├── Workflows         trigger → steps automations
    ├── Contacts          every person, deduplicated
    ├── Campaigns         outbound on top of services
    └── Back office       the AI that works ON the business
```

## Workspace

The account level: members, roles, billing, and API keys. An owner-operator has one workspace with one business. An **agency** has one workspace with a business per client — each client's numbers, members, and billing kept separate. See [Members & roles](/docs/workspace/members).

## Business

One company's complete front office. Everything a customer touches — and everything the company knows about its customers — is scoped to the business: its knowledge, its contacts, its boards, its workflows, its phone numbers.

## Service

A capability you add to a business. Service types: `chatbox` (website chat), `receptionist` (AI phone), `whatsapp`, `instagram`, `messenger`, `sms`, `crm`, `helpdesk`, `scheduler`, `calendar`. Some services are **doors** (customers come through them); others are **desks** (they organize what came in).

## Agent

The AI brain behind a door. Website chat and the receptionist each get a backing agent automatically when you add the service. An agent owns its persona, voice, tools, and guardrails, and draws on the business's shared knowledge. One agent can carry many [conversation flows](/docs/workflows/overview) routed by "use this when…" conditions. See [Agents](/docs/ai/agents).

## Door vs. desk

| Doors (customers arrive) | Desks (work gets organized) |
| --- | --- |
| Website chat, AI receptionist, WhatsApp, Instagram, Messenger, SMS | CRM (boards & deals), Help desk (tickets), Scheduler (bookings), Contacts |
| Each door has an agent answering on it | Each desk receives from every door |
| Workflows are **siloed per door** — a flow belongs to the channel it was written for | One inbox, one board, one contact list — shared across all doors |

## Workflow

A graph of steps the AI follows — either **routed into conversations** on a door ("use this flow when the caller wants to book") or **fired by a trigger** (a call goes unanswered, a form is submitted, a card moves). Workflows are versioned: you edit a draft, test it, then publish. See [Workflows](/docs/workflows/overview).

## Contact

A person, deduplicated across every door — matched by phone, then email, then external ID. Contacts refill themselves from sheets, CRMs, and webhooks; DND is one switch on the person; every deal carries first-touch attribution. See [Contacts](/docs/crm/contacts).

## Back office

The other half of the product: an AI operator that works **on** the business — "chase everyone who never heard back", "reconcile Stripe against the board", "send me a Monday report". It runs with connections to [235 integrations](/docs/integrations/overview), pauses for approval before anything changes, and can repeat on a schedule. See [Back office](/docs/backoffice/overview).
