Product
AI architecture — Operator & Inbox AI
SoConnective is AI-native, and that AI is delivered through two distinct, deliberately separated surfaces. They are not the same assistant with two skins, and conflating them leads to incorrect mental models of cost, configuration, and capability. Both are powered by Anthropic's Claude (default model claude-opus-4-8) accessed over REST.
| AI Operator | Inbox AI | |
|---|---|---|
| What it is | A built-in, platform-wide assistant | An installable marketplace module |
| Scope | One assistant across the whole platform | Configured per account |
| API key | A single platform key | The account's own key (BYOK) |
| Job | Onboard, configure, and report inside the active account | Draft and assist message content in the Inbox |
| Where it lives | The dashboard assistant surface | The Inbox |
| Conversation model | Agentic tool-use loop, keeps history | Per-thread assistance, not a live chat |
AI Operator
The AI Operator is a single platform-wide assistant available inside every account, powered by one platform API key. It is deliberately not a chatbot — it does not do small talk and does not discuss anything outside the product.
Its job is onboarding, configuration, and reporting inside the currently-active account. It knows where everything goes: it installs the right marketplace modules and starter packs, connects platforms, explains where to find things in the product, and reports on the state of the account.
Agentic tool-use loop
The Operator runs a real agentic tool-use loop. On each turn it can call tools, read their results, and continue reasoning until the task is done. Every tool is tenant-scoped (it only ever touches the active account's data) and permission-scoped (it cannot perform an action the current user is not allowed to perform).
The tool set spans both day-to-day CRM operations and account configuration:
| Category | Tools |
|---|---|
| CRM data | contacts, tasks, deals, appointments |
| Reporting | reports on the account's own data |
| Configuration | install_module, apply_starter_pack, create_custom_field |
Because apply_starter_pack and install_module are the same install paths used by manual setup, the Operator can never drift from how a human would configure the account — there is one definition and two entry points (see Marketplace).
Output and history
The Operator renders Markdown in its responses and keeps conversation history in the ai-conversations collection, so a session persists and can be resumed. Usage is token-metered per account (see Platform hardening).
Inbox AI
Inbox AI is a separate, installable marketplace module, not a built-in feature. Each account installs it and configures it with the account's own provider key (BYOK). The key is stored in the tenant-scoped integrations collection; the platform key is used only as a fallback. Key resolution is handled centrally by getAiConfig, which returns the tenant's configured key for the AI (see Integrations & BYOK).
Inbox AI lives in the Inbox and is not a live chat. Its purpose is to draft and assist message content — always directed at the contact the account is talking to.
360° contact context
What makes Inbox AI capable is that every request is grounded in the contact's full 360° context, assembled by lib/ai-context.ts:
- the contact record
- the contact's company
- open deals
- recent activity
- the full conversation thread
This means a draft reply or a summary reflects the real relationship and history, not just the latest message.
Capabilities
- Draft reply — write a response in context
- Summarize thread — condense a long conversation
- Suggest next best action — recommend the next step
- Transform / translate — rework or translate message content
- Extract a task or deal — turn conversation content into a structured task or deal
Brand voice and persona
Inbox AI writes in the account's voice. Per-account persona is configured in the agents collection, covering tone, signature, do / don't guidance, and language. This keeps drafted content on-brand for each agency or client without code changes.
Why two AIs — the key distinction
The single most important thing to remember:
- The AI Operator uses one platform key and is a platform cost. It configures and reports inside any account.
- Inbox AI uses per-account BYOK and is a per-account cost, metered against that account. It drafts message content with full contact context.
This separation gives a clean cost model at scale and keeps platform-level onboarding distinct from per-account messaging assistance.