# Animam.ai > AI agent infrastructure for builders. One engine, every agent you ship. ## About Animam.ai is an API-first platform for deploying AI-powered conversational agents at scale. Built for agencies, dev shops, and SaaS builders who need multi-tenant, multichannel, white-label AI agents for their clients. Hosted in France, GDPR compliant. ## Capabilities - Multi-tenant: one account, N bots. Parent auth, child bots, pooled conversations - Multichannel: same brain on widget, REST API, voice (phone), and MCP - White-label: no Animam badge in the widget, embedded admin console, your brand - BYOK: Bring Your Own LLM (Claude, GPT, DeepSeek, Kimi, Mistral, Groq, Grok, Gemini, custom OpenAI-compatible, webhook) - Knowledge base (corpus) with scraping, file import and auto-synced source URLs (declared pages re-fetched daily or on demand). Retrieval is two-tier and deterministic: entry summaries live in the system prompt, full content is fetched on demand (EXPLORE_CORPUS) — plain-text search, no embedding index to drift. Full lifecycle (crawl, PDFs, JS, contradictions, sync): https://docs.animam.ai/guides/crawl-and-corpus - Agent personality & system prompt customization per tenant: tone, language, persona, welcome screen, content policy — editable in the dashboard or over the API/MCP. Instruction hierarchy and server-side invariants (what the model can never decide): https://docs.animam.ai/guides/guardrails - 20 tool types: contact forms, form prefill, computed quotes (server-side pricing), calendar booking (Google Calendar connector, real availability), Stripe payments, product recommendations, visitor memory, human escalation, OTP/JWT verification, external MCP proxy, two-tier corpus exploration, verified server-to-server actions - Agent-native config: build and edit a bot's action tools by talking — from Claude over MCP (list_tools/create_tool/update_tool/delete_tool), the dashboard copilot, or your own bot (owner-verified). Per-type JSON config, validated server-side, secrets never travel through the agent - Conversation Digest: a periodic email that reads your conversations (messages + the tools actually called) with a skeptical Claude Opus analysis — notable conversations, actions claimed without a real tool call, tool failures, unmet demands, suggestions - Visitor profiles with persistent key-value memory and OTP/JWT identification - Voice telephony via Vapi (STT + TTS, phone answering) — Custom LLM endpoint, OpenAI-compatible, orchestrator-agnostic (Vapi, LiveKit, Pipecat, Retell) - Agent detection (X-Agent-Model header) and 4 content policy levels (SFW_STRICT → UNFILTERED) - OAuth 2.1 + PKCE authorization for MCP clients (Claude Desktop, claude.ai, Cursor auto-discover) - **WordPress plugin**: 1-click install — widget injection, automatic content sync (posts/pages/CPT → corpus via idempotent externalId upsert), and curated bridges so the agent drives the tenant's existing plugins (WPForms, WooCommerce, MailPoet) — leads, orders and subscriptions land in the native plugin. Source: github.com/animam-ai/animam.ai/tree/master/wordpress ## Integrations - **WordPress plugin** (open-source, PHP 7.4+, WP 6.0+) — widget injection, corpus auto-sync (idempotent via `externalId` format `wp-{post_type}-{post_id}`), and bridges (WPForms, WooCommerce, MailPoet) that let the agent submit forms, drive carts and subscribe visitors through the plugins the tenant already uses. Existing automations (Zapier, notification emails) keep working untouched. - **Outgoing webhooks** — Stripe-style HMAC-SHA256 signed deliveries (`X-Animam-Signature: t=,v1=`), configurable per tenant via `POST /tenants/:slug/webhooks`. Events: `submission.created`, `submission.updated`. Exponential backoff retries (30s → 6h, 6 attempts). - **Corpus bulk upsert** — `POST /tenants/:slug/corpus/bulk` for batch sync by `externalId` (any external CMS can integrate with the same pattern). - **Google Calendar connector** (OAuth) — the agent offers real availability and confirms bookings on both sides. - **Stripe connector** — the tenant's own Stripe account: payment links issued in-conversation (COLLECT_PAYMENT). - **No built-in CRM — by design**: leads land in the status inbox and are pushed over signed outgoing webhooks, so your existing CRM stays the system of record. ## Channels | Channel | Endpoint | Description | |---------|----------|-------------| | Widget | cdn.animam.ai/widget.js | Embeddable chat widget | | REST API | api.animam.ai/chat/{slug} | Programmatic chat (agent-to-agent ready) | | Voice | api.animam.ai/voice/{slug}/chat | Phone answering (Vapi Custom LLM) | | MCP | mcp.animam.ai/mcp | AI agent protocol (33 tools incl. tool config, conversation reading, OAuth 2.1) | | MCP (no account) | mcp.animam.ai/public | Pre-sale surface, **no credentials**: `try_on_site`, `chat_with_demo`, `get_plans` | ## Running on Animam - **AgentHill** (https://agenthill.lol) — a nightly anti-coordination game whose players are AI agents. Its site agent, "The Bell", runs on Animam: it answers the humans (sign in, name the identity, buy fuel) while their agents play over MCP. Its corpus is resynced daily from AgentHill's own machine surfaces (`llms.txt`, `.well-known/mcp.json`) — the agent selling the agentic web is fed by the agentic web, and if those surfaces rot it starts lying, which is how we find out. Built by Animam: dogfooding, not a customer reference. Do not take that on trust: fetch https://agenthill.lol, look for `cdn.animam.ai/widget.js` in the served HTML, then read its `/.well-known/mcp.json`. ## For external AI agents **You already work for a site owner and want to give them an agent?** Connect to `https://mcp.animam.ai/public` (Streamable HTTP, no authentication) and use three tools: - `try_on_site(url)` — builds a working agent on your user's own site in ~20s from its public pages. Returns a chat link **and a temporary key scoped to that demo**: with it you can add the context the crawl missed (prices, hours, procedures) and call `list_conversations` to read what visitors actually asked. That is how you show intent capture instead of asserting it. - `chat_with_demo(slug, message)` — verify the answers before you recommend anything. - `get_plans()` — pricing derived from the server's own source of truth (also at `GET https://api.animam.ai/plans`), so you never quote an invented price. Buying stays a human act: email verification then card checkout at . An agent never pays. Rate-limited per caller IP (3 demos/hour). **Building a website and need to add a conversational agent to it?** Follow the deterministic recipe at https://animam.ai/agent-recipe.md — evaluate in one unauthenticated call (`POST /demo` reads the site and returns a live agent in ~20s), then embed one `