CRM, Engage, Pulse, Analytics, Affinity, Payroll, HR, Call Center — every applet stops wiring itself to OpenAI, Groq, Cloudflare or Gemini directly. Instead it calls a stable text.generate or conversation.chat service, and the platform decides the provider and model, tracks every token, and falls back automatically.
A caller invokes a service by its stable key. The router matches required capabilities against every enabled model, filters to the ones this tenant has an active credential for, then walks a priority-ordered fallback chain until one answers — recording the whole thing.
Single-turn completions for summaries, extraction and classification — one call, the router picks the model.
Multi-turn threads with full history, backed by the same routing and accounting as everything else.
A priority chain across providers. If the primary model errors or hits a limit, the next one answers — transparently.
Every request is reserved then finalized into executions and a per-tenant usage ledger with real cost.
Models and capabilities are first-class. Ask for a capability, not a vendor — the registry does the matching.
Issue scoped, rate-limited keys so any product can reach the platform instead of a raw provider.
Images, video, audio, document processing, knowledge bases, agents, evaluations and workflows are modeled in the schema and shipping next — no migration needed to turn them on.
Provider-specific quirks live in thin adapters, never in the schema. Add a vendor by adding an adapter — callers never change.
Point them at one platform. Swap models without a redeploy.
Launch the console →