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
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 notesconst 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.