An AI agent for every end-user, and a record of everything it does.
Each of your end-users gets their own agent, with its own memory and its own access to your systems. Built and hosted in Europe.
Built and hosted in Europe. Your agents' data stays yours — and you can prove where it lives.
One end-user's memory, tools, and history never reach another's, and every token is scoped to one tenant.
Every lifecycle event can land in your systems with a verifiable signature.
Dated, idempotent endpoints keep production integrations boring.
One question, start to finish.
- 1
Your end-user asks
Priya asks about a late refund, in your app or over Slack, WhatsApp, or email. She reaches her own agent, which already knows her history with you.
- 2
The agent does the work
It looks up order #8821 in your systems and checks it against the refund rules you configured.
- 3
You approve what you chose to gate
You decide which tools need sign-off. Lookups usually don't; refunds, credits, and account changes do. When the agent reaches a gated tool, the run pauses until you approve it.
- 4
The run is on the record
Each step is written down as it happens, with its timing and its cost, and the whole run can be replayed afterwards.
The agent running for Priya is hers alone: its memory, connections, and history reach no one else’s. We call it a smith, one running copy of your agent per end-user.
One design. One smith per end-user.
You design an agent — its instructions, model, tools, and memory — and publish versioned snapshots of it.
A smith is one end-user’s running copy of that agent, with its own memory, conversations, and connections. Roll a new version out to the whole fleet at once, or pin and override a single smith.
Every token is scoped to one tenant, so no tenant reads another’s data. Inside a tenant, each smith’s memory, threads, and connections stay its own.
More on smithsOpen any run. Replay every step.
Calling a model API gives you a prompt in and an answer out, with no idea what happened between. Here every run is a recorded sequence of steps you can open, replay, and cost — and everything that happens lands on one append-only feed.
Trace every run, end to end
Each run is a recorded sequence of steps — every model call, tool invocation, and decision, timed and costed. Open any of them and replay it.
run.started → tool.executing → run.completedAccount for every token
Usage and cost are attributed down to the individual smith, so you always know which end-user spent what — and can meter it onward.
budget.thresholdApprove before it acts
Gate sensitive tools behind a human. Runs pause on approval, wait for your sign-off, and resume at the exact step they left off.
approval.required → approval.resolvedThe hard parts, run for you.
Memory, tools, models, and channels — the infrastructure an agent needs in production, behind one API and one console, so you ship the product instead.
Useful agents are product features, not demos.
Reach for Ingram Cloud when an agent needs customer-specific memory, real tools, delivery channels, and a record your operators can trust after it acts.
Support that can actually do the work
Answer from your product data, look up orders, draft fixes, and pause before refunds, credits, or account changes.
A private copilot for every end-user
An assistant for every end-user across Slack, WhatsApp, Telegram, and email, with the same memory wherever they write.
Back-office workflows with a record
Let agents triage leads, chase missing details, reconcile tickets, and call your internal tools without losing the audit trail.
AI features for SaaS products
Add a copilot to your product without building the plumbing first: per-end-user memory, approvals, tracing, and metering already exist.
API-first, visible in the console.
Everything in the console is the public /v1 REST API — the same surface you build on. Drive agents from your backend, or drop in the OpenAI-compatible endpoint and keep the SDK you already use.
- OpenAI-compatible /v1/chat/completions — keep your SDK
- Infrastructure as Code with the Pulumi provider
- Signed webhooks for every lifecycle event
- Idempotent writes and a versioned, dated API
- Per-project isolation with cryptographically scoped tokens
- Meter and bill your own customers on top
// drop-in: point the OpenAI-compatible// provider at a smith and streamimport { createOpenAICompatible } from "@ai-sdk/openai-compatible";import { streamText } from "ai"; const ingram = createOpenAICompatible({ name: "ingram", baseURL: "https://api.cloud.ingram.tech/v1", apiKey: SMITH_TOKEN,}); const { textStream } = streamText({ model: ingram("openai.gpt-5.6-sol"), prompt,});Put an agent in your product this week.
Create a project, mint a token, and stream your first reply in minutes — every action on the record from the first one. No infrastructure to stand up, and you pay for what your smiths use.