Chat / Voice / Bots
Conversational touchpoints — live chat, chatbots, and voice assistants — where a customer expresses intent in natural language.
High-Level Design
Conversation platform webhook → .NET Core microservices on Azure.
💼 Business Context
- Conversational channels are now a primary support and sales surface — measuring them means measuring deflection, intent, and satisfaction, not just call volume
- Powers automated escalation and agent-assist, reducing average handle time
- Owned by Customer Support / Conversational AI teams
🔌 Technical Overview
Conversation platforms (Azure Bot Service, Intercom, custom bots, IVR-to-text) call a small .NET Core Azure Function acting as a webhook receiver, which authenticates the payload and forwards it through the shared Cxos.Ingestion.Client contracts into the Ingestion API. Intent classification runs either at the platform (Azure Bot Service's built-in NLU) or downstream in the Stream Worker via a call to the AI & Insights API, backed by Azure OpenAI Service. Transcripts are tagged for redaction before long-term storage.
Typical Events
💾 Sample Event Payload
{
"event": "intent_detected",
"event_id": "b3e1a2f0-6a9b-4b7f-9d2a-1a5c9e6b3f01",
"timestamp": "2026-08-01T09:41:02Z",
"user_id": "cust_004821",
"context": {
"channel": "chat",
"conversation_id": "conv_9931",
"platform": "web_widget"
},
"properties": {
"intent": "return_request",
"confidence": 0.93,
"order_id": "ord_55123"
}
}
🔗 Integration Points
- Azure Function (.NET Core isolated worker) as the platform webhook receiver
Cxos.Ingestion.ClientNuGet package for the outbound call into the Ingestion API- Azure OpenAI Service — intent/sentiment classification, AI Copilot
- Activation API + Azure Service Bus — agent handoff and journey triggers
⚠️ Non-Functional Considerations
- Scale: bursty around support incidents/outages — Azure Functions consumption plan absorbs spikes without pre-provisioned capacity
- Latency: handoff/escalation events route through a dedicated high-priority Service Bus topic
- Reliability: conversation continuity survives a dropped connection via the platform's own session ID
- Security/Privacy: transcripts are redacted (PII/payment/health details) by an Azure Function before reaching the Data Lakehouse
🎯 Enterprise Example
A telecom provider's Azure Bot Service and IVR both forward transcripts through a shared .NET Core webhook receiver into the Ingestion API. The AI & Insights API, using Azure OpenAI Service, flags a spike in "billing_dispute" intents tied to a specific promotion within minutes instead of next week's report, and a temporary FAQ deflection flow is activated through the Activation API — cutting live-agent volume for that issue by 30%.