Ask anything. About your data, only.
The Copilot is the conversational surface inside Robnu. It can read your orders, payouts, returns, manifests, and SLA events — and then explain, draft, or propose. Every read goes through withSellerScope; every tool call lands in ai_tool_calls with arguments and results.
- The copilot speaks the same data the rest of Robnu speaks — orders, shipments, payouts, returns, claims, manifests.
- Tool calls are persisted with arguments and results; the conversation is replayable and auditable.
- PII redaction happens before the model sees the message; re-hydration happens after the response comes back.
What you get.
Grounded in your data
No general-purpose facts pretending to be answers about your account. The copilot reads your real ledger via tool calls — payouts, deductions, AWBs, manifest history — and cites the rows it used.
Drafts, not just answers
Ask 'why was batch 7782 short-paid?' and the copilot drafts the claim, attaches the evidence, and links to /claims with the new row already created. You approve before any mutation lands.
Tenant-safe by construction
Every read sets the Postgres GUC app.current_seller_id and inherits RLS. There is no path that reads another seller's data — the database itself refuses.
Every conversation is a first-class record.
The A1 baseline persists conversations into ai_conversations + ai_messages with append-only ordering. Tool invocations write into ai_tool_calls with the full arguments JSON and the full result JSON. Token counts and gateway provider IDs land in ai_usage_ledger for fair-use limits.
You can scroll back, share with a teammate, or replay against a different model. The same persistence powers the future ads-automation and forecasting surfaces — RobnuAI has one persistence schema, not eight.
Common copilot prompts on day one.
- Why did Ajio short-pay batch 7782?
- Which manifests are within 2 hours of SLA right now?
- Draft a claim for the missing AWB on order OR-7891 with the manifest pre-attached.
- Summarize last week's deductions by reason — give me a recoverable vs accept-loss split.
- What did revenue look like this week vs last, and why is it down?
- Which catalog SKUs had returns above 12% in the last 30 days?
Practical answers.
Yes. RBAC controls AI access by role. OWNER and ADMIN get the full surface; FINANCE and OPERATOR roles can be granted scoped access; VIEWER is read-only. Permission keys live alongside the rest of the role catalog (OWNER | ADMIN | OPERATOR | FINANCE | VIEWER).
No. Mutations route through the same mutation guard as everything else (ROBNU_AJIO_MUTATIONS_ENABLED, dry-run by default). Until you flip that flag in the dashboard, the copilot proposes but cannot write.
The failure lands in ai_tool_calls with the error payload. The copilot tells you, suggests a retry, and never silently swallows. Conversations are replayable, so you can re-run the failed step from the UI.
Conversations persist forever inside your seller scope. The model itself does not learn from your data — your conversations stay in your tenant. Fine-tuning on customer data is not part of the A1 contract and would require explicit opt-in.
Robnu uses a single gateway abstraction in services/ai/gateway.ts. The A1 default is a hosted frontier model with a deterministic local fallback for development. Provider can be swapped without product code changes.
Try it inside your own dashboard.
Free during early access. No card. Forever free under 25 orders/day.
