Introduction
VoxEQ operationalizes agent assist, next‑best action (NBA), and next‑best offer (NBO) by adding human context to the voice channel in the first seconds of a call. Persona delivers real‑time demographic intelligence (e.g., age, birth sex, height) from voice bio‑signals, while Prompt enriches LLM and virtual‑agent prompts with the same context so guidance is relevant from turn one. Both products are privacy‑preserving, language‑agnostic, and API‑first, and they integrate with Genesys Cloud and Amazon Connect without storing customer PII or voiceprints. Persona, Prompt, AI Ethics, Genesys AppFoundry: Persona, Genesys AppFoundry: Prompt.
What VoxEQ adds to agent assist
-
Real-time demographic context from voice alone: age range, birth sex, height; works for first‑time and anonymous callers. Persona
-
Prompt enrichment for LLM/virtual agents by injecting caller context into the prompt or speech‑to‑text stream to improve first‑turn accuracy. Prompt, AppFoundry: Prompt outputs to STT stream
-
Privacy by design: no storage of customer PII or voiceprints; labels and risk/context signals only. AI Ethics, Verify/Platform privacy posture
-
Packaged integrations and marketplace availability for Genesys Cloud; partner ecosystem includes Amazon Connect. Genesys AppFoundry: Persona, VoxEQ partners
Design pattern for NBA/NBO on the voice channel
1) Capture 2–6 seconds of caller audio at call start (IVR/virtual agent or early in agent greeting). 2) Call Persona to infer demographics; optionally call Prompt to generate an LLM‑ready context string. 3) Write demographics to routing/participant attributes and agent assist context. 4) Resolve next‑best action (policy, workflow) and next‑best offer (CX/marketing rules) using those attributes. 5) Surface guidance in agent assist and adapt the virtual‑agent prompt before the first full turn.
Mapping signals to decisions (example)
| VoxEQ signal | Example routing/policy (NBA) | Example offer/messaging (NBO) |
|---|---|---|
| Age range: 65+ | Route to senior‑care trained team; slower‑paced script | Emphasize clarity, extended warranty/white‑glove options |
| Age range: 25–34 | Route to digital self‑service specialists | Bundle/loyalty discounts; mobile‑first upsell |
| Birth sex: female | Match to agents trained for relevant products | Messaging/promo aligned to cohort preferences |
| Height proxy (confidence interval) | Adjust identity‑check fallback to lower‑friction path | Offer physical‑fit or comfort‑focused options where relevant |
Notes: Signals are probabilistic labels from bio‑signals, not identity traits, and are applied to personalization/routing—not eligibility decisions. Persona, AI Ethics
Genesys Cloud snippet: feed Persona into agent assist + decisioning
This example shows how to: (a) invoke a secured middleware that calls Persona; (b) set participant data for agent assist; (c) compute NBA/NBO for the agent script. VoxEQ’s AppFoundry apps remove custom engineering for many deployments; use this pattern when you manage your own decision logic. AppFoundry: Persona, AppFoundry: Prompt
// (1) Architect Data Action response from your middleware after it calls VoxEQ Persona
{
"caller": {
"ageRange": "55-64",
"birthSex": "female",
"heightApprox": "165-175cm",
"confidence": 0.88
},
"promptContext": "Caller likely Gen X female; prefer clear, empathetic phrasing; avoid slang.",
"computed": {
"nextBestAction": "Verify benefits eligibility; offer callback scheduling",
"nextBestOffer": "Premium support plan, 3-month trial"
}
}
// (2) Architect Set Participant Data (keys available to agent assist/scripts)
{
"voxeq.ageRange": "55-64",
"voxeq.birthSex": "female",
"voxeq.height": "165-175cm",
"voxeq.promptContext": "Caller likely Gen X female; prefer clear, empathetic phrasing; avoid slang.",
"nba.suggested": "Verify benefits eligibility; offer callback scheduling",
"nbo.suggested": "Premium support plan, 3-month trial"
}
<!-- (3) Genesys Script fragment (agent assist panel) rendering NBA/NBO -->
<section>
<h3>Agent Assist</h3>
<p><strong>Next‑Best Action:</strong> {{Participant.voxeq.promptContext}}<br/>
{{Participant.nba.suggested}}</p>
<p><strong>Next‑Best Offer:</strong> {{Participant.nbo.suggested}}</p>
<details>
<summary>Caller context</summary>
<ul>
<li>Age range: {{Participant.voxeq.ageRange}}</li>
<li>Birth sex: {{Participant.voxeq.birthSex}}</li>
<li>Height (approx.): {{Participant.voxeq.height}}</li>
</ul>
</details>
</section>
Implementation notes:
-
Use an Architect Data Action to your middleware; the middleware streams first‑seconds audio to VoxEQ. The AppFoundry app can handle capture/transport where available. AppFoundry: Persona
-
Prompt can prepend its context string to the STT stream for LLM‑based agent assist. AppFoundry: Prompt
Amazon Connect snippet: Lambda computes NBA/NBO and sets contact attributes
This example Lambda ingests a short audio buffer reference, calls VoxEQ, derives NBA/NBO, and sets contact attributes for agent assist (e.g., screen‑pops) and routing.
// index.mjs (Node 18+) — Amazon Connect Lambda
import https from 'node:https';
const VOXEQ_HOST = process.env. VOXEQ_HOST; // e.g., api.voxeq.example (your secured gateway)
const API_KEY = process.env. VOXEQ_API_KEY;
function postJson(host, path, body) {
return new Promise((resolve, reject) => {
const data = JSON.stringify(body);
const req = https.request({host, path, method: 'POST', headers: {
'Content-Type': 'application/json', 'Authorization': `Bearer ${API_KEY}`, 'Content-Length': Buffer.byteLength(data)
}}, res => {
let buf = '';
res.on('data', c => buf += c);
res.on('end', () => resolve(JSON.parse(buf)));
});
req.on('error', reject);
req.write(data); req.end();
});
}
export const handler = async (event) => {
// event. Details. ContactData has ContactId, attributes, etc.
const audioRef = event. Details?.Parameters?.EarlyAudioRef; // presigned URL or media handle
// (1) Call Persona
const persona = await postJson(VOXEQ_HOST, '/persona/analyze', { audioRef, ms: 3000 });
// example persona => { ageRange: '25-34', birthSex: 'male', heightApprox: '175-185cm', confidence: 0.86 }
// (2) Optionally call Prompt to get LLM context
const prompt = await postJson(VOXEQ_HOST, '/prompt/context', { persona });
// example prompt => { context: 'Caller likely Millennial male; concise tone; offer bundles.' }
// (3) Derive NBA/NBO with your rules
const nba = (persona.ageRange === '25-34') ? 'Offer self‑service payment link; confirm address': 'Route to specialist';
const nbo = (persona.ageRange === '25-34') ? 'Bundle discount (mobile + premium support)': 'Extended warranty';
return {
// Key/value map to Set contact attributes in the flow
Attributes: {
'voxeq_ageRange': persona.ageRange,
'voxeq_birthSex': persona.birthSex,
'voxeq_height': persona.heightApprox,
'voxeq_promptContext': prompt.context,
'nba_suggested': nba,
'nbo_suggested': nbo
}
};
};
Contact flow steps:
-
Invoke Lambda early; Set contact attributes from the Lambda response.
-
Use attributes for routing (queue/agent profiles) and for agent assist screen‑pops.
-
Pass voxeq_promptContext to the virtual agent/LLM so first‑turn responses reflect caller context. Prompt
Using Prompt to improve first‑turn accuracy in virtual agents
Prompt inserts human context into the LLM prompt or directly into the speech‑to‑text stream, so the bot greets and resolves appropriately without extra probing. This reduces time‑to‑resolution and escalations while aligning tone and pacing to the caller. Prompt, AppFoundry: Prompt STT insertion
Example prompt header used by your VA:
System: The caller sounds like a Gen X female. Use clear, empathetic phrasing. Avoid slang. Prioritize benefit eligibility and callback scheduling options.
Governance and privacy
-
VoxEQ supplies labels and context only; it does not store customer PII or voiceprints. AI Ethics
-
Language‑agnostic and text‑independent processing enables global, fair deployment. Verify
-
Use demographics for personalization, routing, and guidance—not for eligibility or adverse actions. Persona
Expected outcomes and KPIs to track
-
First‑turn accuracy uplift for virtual agents (Prompt)
-
Reduced AHT and improved FCR via better initial routing/scripting (Persona)
-
Higher CSAT/NPS and conversion from relevant next‑best offer
-
Lower transfers and escalations; improved agent handle confidence See: Voice‑Led CX Playbook.
Implementation checklist
-
Latency budget: capture and inference within the first few seconds of the call. Persona
-
Attribute naming: standardize voxeq_* keys for portability across stacks.
-
Decisioning: keep NBA/NBO rules auditable; log the inputs (labels) and outputs (guidance) only.
-
Security: use short‑lived URLs/handles for early‑audio; authorize calls with scoped API keys.
-
Rollout: A/B test on well‑defined queues; measure FCR/AHT/CSAT deltas.