Getting Started with AeionClaw

Activate the native AI intelligence layer in 10 minutes. Pick an LLM provider (or several), configure per-tenant budget caps, run your first context-aware prompt against live data, then explore the 47 skills + 8 personas + reactions + custom skill SDK. No external context-pasting; no per-message contact tax; your data never leaves your tenant.

1

Enable the AeionClaw Extension

Navigate: Platform → Modules → AeionClaw → Enable

```bash # AeionClaw ships with every Aeion deployment but is gated by an extension flag # to keep trial tenants from accidentally racking up LLM costs before opting in.

# Enable in the admin shell: aeion-cli modules enable aeion-claw --tenant=my-tenant

# Or via API: curl -X POST https://my-tenant.aeionos.com/api/v1/admin/extensions/enable \ -H "Authorization: Bearer $AEION_API_KEY" \ -d '{"extensionId": "claw.core"}'

# Or via the admin shell: # Platform → Modules → AeionClaw → Enable → confirm ```

What enabling Claw does:

  • Registers the 47 module-specific skills into your tenant's skill registry
  • Mounts /admin/claw (conversation UI + admin)
  • Mounts /api/v1/claw/* (REST endpoints for embeds + SDK)
  • Subscribes the reaction engine to your tenant's event bus
  • Provisions the conversation history, memory, reactions, and action-log storage your tenant needs
  • Enables WebMCP surfacing of Claw inline in admin views

No external service is contacted yet — provider configuration happens in Step 2.

2

Pick at Least One LLM Provider

Navigate: AeionClaw → Providers → Add Provider

AeionClaw is provider-agnostic across 9 LLM backends. Pick one as your tenant primary; optionally add fallbacks. Switch providers any time without re-writing skills.

Anthropic Claude (recommended for tool use + reliability):

bash # Environment variables (or set per-tenant via admin) ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ANTHROPIC_DEFAULT_MODEL=claude-opus-4-7 # latest, 1M context ANTHROPIC_FALLBACK_MODEL=claude-haiku-4-5 # for high-volume cheap workloads

OpenAI:

bash OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_DEFAULT_MODEL=gpt-4o OPENAI_ORG_ID=org-xxxxxxxxxxxxxxx

Google Gemini:

bash GOOGLE_AI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GOOGLE_DEFAULT_MODEL=gemini-2.5-pro

Ollama (self-hosted, HIPAA + air-gap):

bash OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_DEFAULT_MODEL=llama3.3:70b # No API key — keeps data fully on-prem

Other supported providers: Azure OpenAI, Groq (fast inference), DeepSeek (cheap reasoning), HuggingFace (open models), Cohere (embedding + reranking). See providers-catalog for the full matrix with cost-per-token + per-feature compatibility.

Provider validation runs at save time: the platform validates your credential (format check, or a live call to the provider's model-list endpoint depending on provider) and measures round-trip latency, rejecting the config if validation fails. Stale keys never get into production.

3

Configure Per-Tenant Budget Caps

Navigate: AeionClaw → Governance → Budget Configuration

Spend governance is platform-level, not optional. Set caps before turning on automation so a runaway reaction can't blow the AI budget.

typescript // One ai_budgets row per tenant + period — configure a row for each // period you want to cap (daily, weekly, monthly) { tenant_id: "my-tenant", period: "monthly", limit_usd: 800.00, alert_threshold_percent: 80, // default 80 — fires a warning alert action_on_exceed: "soft-block", // warn | soft-block | hard-block }

What each `action_on_exceed` does once the period limit is hit:

  • warn: Slack/email alert to admins; conversations + reactions continue normally.
  • soft-block: New requests get a "this would exceed budget — admin approval required?" prompt. Admin can one-click extend or reject.
  • hard-block: New conversations + reactions are rejected until the next period's window opens. Existing conversations continue (don't break mid-thread).

Budgets are set per period (daily / weekly / monthly). Spend governance layers across tenant, user, persona, and reaction, so you can cap a single automation or persona independently of the tenant-wide cap.

Provider per-token costs are computed per request from the provider catalog + token usage; full attribution to user + persona + skill + reaction is logged. The full spend ledger is queryable for finance reporting.

4

Send Your First Prompt

Navigate: AeionClaw → Console (or any admin view via the WebMCP sidebar)

text > "Show me the 10 highest-value open deals in the pipeline"

What happens behind the scenes:

  1. Persona auto-routing. The classifier reads the prompt + recent context, picks crm-agent (matches "deals" + "pipeline" keywords).
  2. Tool scope load. crm-agent has scoped access to crm.* MCP tools (list_contacts, list_deals, read_pipeline, etc.) — but NOT commerce.* or finance.*. Stays focused.
  3. Context assembly. Claw pulls in the current conversation thread, relevant memory facts about you, and any pinned skills.
  4. LLM call. Selected provider gets system prompt + scoped tools + assembled context + your prompt.
  5. Tool dispatch. LLM responds with list_deals({ where: { status: "open" }, orderBy: "value desc", limit: 10 }). Claw executes against your live DB.
  6. Response stream. Results stream back as SSE, formatted as a table, with deal IDs hyperlinked to admin views.
  7. Audit log. Every step (persona pick, tool dispatch, DB read, token usage, cost) lands in the action log.

Try variants:

  • "Update order #12345 to status shipped and notify the customer" → commerce-agent + writes + sends email
  • "What did Marcus and I discuss last week about the Acme deal?" → general-assistant + memory recall + summarization
  • "Draft a blog post about our new feature launch using last quarter's release notes as context" → content-agent + retrieval + drafting
  • "@finance-agent reconcile the unpaid invoices for Q3" → manual persona override
5

Create a Custom Reaction

Navigate: AeionClaw → Reactions → New Reaction

Reactions fire AI actions on platform events without waiting for a user prompt. They subscribe to events, filter via the Aeion QueryBuilder, and dispatch any MCP tool.

```typescript // Example: auto-draft a personalized welcome email when a Pro-tier customer signs up { reaction_id: "welcome-pro-tier", enabled: true,

// Event subscription event: "auth.user.registered",

// Flat AND conditions — every one must match conditions: [ { field: "plan", operator: "in", value: ["pro", "enterprise"] }, { field: "source", operator: "not_equals", value: "internal" }, ],

// Prompt template (with payload variable interpolation) prompt: New {{ plan }} customer signed up: {{ email }} from {{ company }}. Draft a personalized welcome email with onboarding next steps, link to the relevant getting-started guides, and offer a 15-min kickoff call. Match our warm-but-professional brand voice.,

// What Claw does with the result actionType: "create_record", // tool_call | notify_user | notify_admins | // create_record | update_record | run_command | // generate_digest | webhook actionConfig: { collection: "customer_success_drafts", // draft fields mapped from the AI response },

// Cooldown + quota cooldownMinutes: 1440, // don't double-fire on the same payload maxPerDay: 50, // upper bound for safety } ```

Save the reaction. A pro-tier signup now triggers an automatic Claw draft within seconds. The draft lands in customer_success_drafts with full context (signup source, draft email body). One-click send or edit-then-send.

Reaction guards already in place:

  • Cooldown de-duplication (same payload won't fire twice within the cooldown window)
  • Per-day quota
  • Per-tenant pause-all kill switch
6

Pin Memory + Customize Personas

Navigate: AeionClaw → Memory → Pin

Claw's per-user memory store holds persistent context. Claw extracts facts from conversations automatically, but you can pin facts manually too.

typescript // Example pinned facts (one per row in ai_user_memory) [ { user_id: "marcus.v@my-tenant", category: "preference", fact: "Prefers data presented as Markdown tables, not JSON.", confidence: 1.0, pinned: true, }, { user_id: "marcus.v@my-tenant", category: "context", fact: "VP of Sales Operations. Owns deals > $50K. Reports to CRO.", confidence: 1.0, pinned: true, }, { user_id: "marcus.v@my-tenant", category: "tone", fact: "Direct, action-oriented. No padding. Always include next-step CTA.", confidence: 1.0, pinned: true, }, ];

Pinned facts are always included in the system prompt; auto-extracted facts are retrieved via semantic embedding match per turn.

Persona customization: override the default system prompt per-tenant. AeionClaw → Personas → Edit → commerce-agent. The shipped prompt is a starting point; tune it for your brand voice + ICP + jargon.

7

Add a Custom Skill (Optional)

Navigate: AeionClaw → Skill Factory → New Skill

47 module-specific skills ship with AeionClaw. If you need a custom expert (e.g., a skill that knows your custom-built reporting cube, or a skill that calls into a partner integration), the Skill Factory walks you through authoring one.

```typescript // Custom skill manifest { skill_id: "acme-deal-analyzer", name: "Acme Deal Analyzer", version: "1.0.0",

// System prompt — what makes this skill expert system_prompt: You are an Acme deal analyzer. Acme is our largest enterprise customer with 6 active deals across 4 business units. You know Acme's contract structure (master + per-BU SOW), their typical procurement cycle (45-60 days), and the key contacts (procurement, legal, finance, technical buyer per BU). Always cross-reference the master agreement when answering deal-specific questions.,

// Tool scope — what MCP tools this skill can dispatch tool_scope: [ "crm.list_deals", "crm.read_account", "legal.read_contract", "finance.read_invoice", "documents.search", ],

// Example prompts (used for routing + few-shot) examples: [ "What's the status of the Acme BU-North expansion?", "When does the master agreement renew?", "Show me unpaid Acme invoices and which BU they belong to.", ],

// Guardrails guardrails: { deny_destructive_actions: true, // skill can't delete records require_approval_for: ["finance.create_credit_memo"], max_tokens_per_turn: 4000, },

// Deployment scope tenant_id: "my-tenant", visibility: "private", // only this tenant can use it } ```

Iterate before shipping: the Skill Factory saves your draft and lets you refine the system prompt, tool scope, and examples before publishing. Once you're happy with it, submit for admin approval, version-tag the deploy, and the skill is live across your tenant.

8

Embed Claw in Admin Views via WebMCP

Navigate: any admin view → look for the Claw sidebar (collapsed by default)

WebMCP surfaces Claw inline — so when you're looking at a contact in the CRM admin view, Claw is one click away with the contact's context already loaded.

WebMCP integration is automatic for any view that registers WebMCP tools. To use it:

  1. Open any admin view (e.g., /admin/crm/contacts/marcus.v@acme.com)
  2. Click the Claw sidebar icon (right edge of the view)
  3. The sidebar opens with the contact's data pre-loaded into the conversation
  4. Type a prompt — Claw uses both your prompt AND the view's pre-loaded data
  5. Tool dispatches return inline (e.g., "create follow-up task" updates the view without a page reload)

For developers: custom admin views can register their own WebMCP tools via the SDK so Claw operates contextually inside them. See `webmcp-integration` for the SDK.

What's Next?

You're now running a fully-configured AeionClaw. From here:

FAQ

No — configure several. Set a primary per persona, plus a fallback chain. AeionClaw routes per-conversation based on the persona's preferred provider (e.g., Anthropic for support, OpenAI for code-gen, Ollama for HIPAA-bound workloads).

Per-persona fallback fires automatically. If primary is unreachable for >3 seconds, Claw retries on the fallback provider. If all configured providers fail, the conversation gets a "provider unavailable, retry in 30s" message — but no data is lost; pick-up resumes when service returns.

Yes — use Ollama as your only provider. All inference runs on hardware you control. AeionClaw is the same code; provider matters only at the inference call. HIPAA-bound + classified deployments use this pattern.

Two layers. (1) Anthropic, OpenAI, Google, and Azure all offer no-training endpoints — AeionClaw uses these by default and surfaces a warning if you switch to a training-allowed endpoint. (2) Ollama, HuggingFace, and self-hosted DeepSeek run on your hardware — nothing leaves your tenant. Each provider's configuration carries a no-training-required flag that hard-blocks switching to a training endpoint without admin override.

First-token latency 300-800ms (provider-dependent). Streaming response. Per-conversation context assembly ≤50ms. Tool dispatch round-trip 50-200ms (DB lookup typical). Sub-second perceived response for most queries.

Yes — the workflow executor chains LLM calls + tool dispatches in a multi-step plan with conditional branching. Different from reactions (event-triggered single-shot); workflows are user-triggered multi-step. See `features-catalog` → Workflow Executor.

Yes. Every LLM call is logged with full attribution — provider, model, input tokens, output tokens, computed cost, the user, persona, skill (if any), reaction (if any), and conversation it belongs to. Query the spend ledger for any rollup — per-user, per-persona, per-skill, per-reaction, per-day.

Yes — a per-user enable/disable toggle, or per-role policy ("disable Claw for `viewer` role"). Disabled users see the Claw UI as read-only with an "enable in Settings" prompt.

The SSE stream closes; the inflight LLM call is aborted via provider API; partial output is preserved with a cancelled status; the spend ledger captures partial token usage.

Yes — `/admin/claw/conversations` has a CSV + JSON export. Per-tenant export includes conversations, messages, memory, actions log, spend ledger. GDPR-compliant per-user data export also available.

You're ready to run.