Use case

Customer support leads

I need to standardize how we handle complex tickets

This becomes especially useful when Oi is embedded in internal tools so support workflows can pull the right context, policy, and response pattern automatically.

Customer support leads

I need to standardize how we handle complex tickets

This becomes especially useful when Oi is embedded in internal tools so support workflows can pull the right context, policy, and response pattern automatically.

Agent Context
Customisation

Private instructions

  • Our support operation has defined tiers, escalation paths, SLAs, and refund rules.
  • The assistant needs to respect our tone of voice, compliance boundaries, and any promises agents are not allowed to make.
  • It should understand when human approval is required and what systems support can reference.

Guardrails

  • Do not promise refunds, credits, or policy exceptions unless the policy and ticket facts clearly support it.
  • Escalate legal, safety, harassment, chargeback, or regulator-facing issues to a human instead of improvising a final answer.
  • Do not invent account history, shipment status, or product decisions that are not present in the source systems.
Agent Context
Customisation

Private instructions

  • Generate response patterns, decision trees, QA checks, and escalation triggers for complex tickets.
  • The output should be structured enough to plug into support tooling with classifications, next actions, and reviewer notes.

Prompt to use

use oi support-lead+qa-reviewer classify this support ticket and return the next action, escalation path, response guidance, and QA notes
const API_URL = 'https://api.oioioi.ai/v1'; function getSupportContextIds(severity) { return severity === 'enterprise' ? ['support-lead-enterprise', 'qa-reviewer-enterprise'] : ['support-lead-standard', 'qa-reviewer-standard']; } function getRequestedVersion(isPolicyRefreshEnabled) { return isPolicyRefreshEnabled ? 'v2' : 'v1'; } export async function classifySupportTicket({ severityTier, isPolicyRefreshEnabled, ticket, }) { const [supportLeadId, qaReviewerId] = getSupportContextIds(severityTier); const version = getRequestedVersion(isPolicyRefreshEnabled); const [supportLeadResponse, qaReviewerResponse] = await Promise.all([ fetch(`${API_URL}/agent-contexts/${supportLeadId}/versions/${version}`, { headers: { Authorization: `Bearer API_KEY_ABC` }, }), fetch(`${API_URL}/agent-contexts/${qaReviewerId}/versions/${version}`, { headers: { Authorization: `Bearer API_KEY_ABC` }, }), ]); const [{ context: supportLeadContext }, { context: qaReviewerContext }] = await Promise.all([ supportLeadResponse.json(), qaReviewerResponse.json(), ]); const result = await runAgent({ contexts: [supportLeadContext, qaReviewerContext], input: ticket, }); return { agentContextIds: [supportLeadId, qaReviewerId], version, result, }; }

More use cases

Browse other landing pages for adjacent ways teams and individuals are using Oi.

Ready to try it

Start with the workflow that matches how your team already works, then move into deeper integrations when you need them.

Start with Oi