Back to Case Studies

BPO / Contact Centres

Multi-Tenant Contact-Center SaaS Platform

Real-Time Agent Presence at Scale with AWS IoT Core MQTT

Industry

BPO / Contact Centres

Services Used

IoT ArchitectureEvent-Driven SystemsCloud ArchitectureMulti-Tenant Security

AWS Services

IoT CoreLambdaDynamoDBSQSSecrets ManagerCDK

Client Context

A multi-tenant contact-center SaaS platform providing real-time adherence (RTA) — the live view of whether each agent is present, active, idle, or offline — that supervisors rely on to manage service levels, staffing, and coaching. As the platform scaled across multiple tenants, its original presence mechanism could no longer deliver the accuracy and efficiency operations teams needed.

The Problem

  • Latency and inaccuracy: a 60-second HTTP heartbeat meant an agent who lost power or disconnected could still appear "present" for up to a minute — supervisors making real-time decisions on stale data
  • Backend overhead that scaled the wrong way: fixed-interval polling generated constant request volume regardless of whether anything changed, multiplying across tenants as the fleet grew
  • Multi-tenant isolation: any presence transport had to guarantee a device could only ever publish and receive on its own tenant's and its own device's topics, with credentials that could never reach another tenant's data
  • Connectivity constraints: the solution could not require customers to open unusual firewall ports or install heavyweight agents

What We Delivered

  • Event-driven presence transport on AWS IoT Core using MQTT, replacing fixed-interval HTTP polling with change-triggered messaging plus a guaranteed low-frequency heartbeat backstop
  • MQTT-over-TLS on port 443 with ALPN so connections traverse standard corporate firewalls without special egress rules, terminating on a custom AWS IoT Core domain
  • AWS IoT Core custom authorizer (Lambda) validating each device's HMAC token and returning an IoT policy scoped to that device's own topics only — isolation enforced at the connection-policy level, not in application code
  • MQTT Last Will and Testament (LWT) registered at connect, so a hard disconnect (power loss, crash, network drop) automatically flips the agent offline within seconds
  • IoT Core topic rules routing messages to Lambda, deriving device identity from the MQTT topic path (never the payload) and writing presence to a DynamoDB table the live RTA grid reads; telemetry forwarded to the existing SQS pipeline
  • Safe, server-controlled rollout via feature flag with automatic HTTP fallback — deployed shadow-first, then phased shadow → feature-flag → pilot → default → retire polling. Infrastructure codified in AWS CDK

Solution & Architecture

Real-time agent presence architecture on AWS IoT Core

Measured Outcomes

~1–5 second disconnect detection

improved from up to 60 seconds via MQTT Last Will and Testament — a ~92–98% reduction in time to detect an agent going offline (modeled)

~61% lower steady-state overhead

transport-tier load moved off the API request tier onto the managed IoT Core broker, with state reporting event-driven instead of fixed-interval (modeled at 500 agents)

Always-on polling floor eliminated

removed the fixed per-agent request load from API Gateway and Lambda, freeing capacity for revenue-driving traffic

Two independent isolation guarantees

per-device authorizer policy scoping plus server-side identity derived from the MQTT topic path, both enforced at the transport layer

Deployed in production (shadow)

full path validated in the production AWS account behind a feature flag with automatic HTTP fallback and zero disruption to live agents

Validated end-to-end

contact-center machines confirmed a live presence row on connect and offline-within-seconds on power-off via LWT

Why This Matters

Real-time adherence is only as good as the freshness of its data. By moving from fixed-interval polling to an event-driven MQTT transport on AWS IoT Core, presence became accurate to within seconds instead of up to a minute — a capability polling structurally could not provide — while removing the always-on request floor and enforcing strict per-tenant isolation at the transport layer. It is a clear example of treating connectivity as an engineering discipline: a fully managed broker, security enforced by design, and a shadow-first rollout that reached production with zero disruption. (Cost and latency figures are modeled from a 60-second polling interval and public AWS rates; actual results scale with fleet size.)

Facing a similar challenge?

Let's discuss how we can help your enterprise move from pilot to production.

Schedule a Call
Let's Talk