Case Study

Case Study: 350-Seat Legacy Contact Center to Amazon Connect in Six Months

cmdev18 min read
Case Study: 350-Seat Legacy Contact Center to Amazon Connect in Six Months
Share
~27 min

A field case study from the CreativeMinds Development (cmdev) contact-centre modernisation practice. The client is anonymised — a European retail bank, 350 seats, GDPR-regulated, mid-tier by deposit base, multi-country footprint. Numbers are real; details that would identify the bank have been blunted. The architecture pattern that fell out has since become the cmdev reference for similar mid-market regulated migrations.

The call we kept getting

It was a Wednesday in March when the head of operations rang. He was in a glass meeting room in Frankfurt, looking at a renewal quote on his laptop screen. Thirty-eight per cent above last year. He had read it three times.

The room he described had become familiar over the course of 2025. Same shape. Same conversation. "We've been running the contact centre on the same telephony stack since 2014. The vendor's roadmap doesn't include us anymore. Average handle time is creeping up every quarter. We have five agent desktops and nobody trains a new starter in under a month. What does a credible exit look like?"

The bank was mid-sized, GDPR-regulated, operating across two countries, 350 contact-centre seats split across loan operations, cards, and collections. The telephony was an on-prem Avaya/Genesys-class stack, twelve years old, in a Frankfurt colo with a DR pair in Amsterdam. Three IVR layers had accreted over a decade like geological strata. Five agent desktops, none integrated. The renewal sat in nine months and arrived with a price tag that read more like a hostage negotiation than a service contract.

The board had decided to leave. They did not have a credible plan to land somewhere else without losing customers, breaking compliance, or burning the operations team out. The brief was a single paragraph: Amazon Connect, six months, no number loss, all-business-hours rolling cutover, AI overlay where it makes sense, budget the CFO can sign off. This is what shipped.

Key takeaways

  • A 350-seat European retail bank migrated from a twelve-year-old on-prem Avaya/Genesys-class stack to Amazon Connect in six months, dual-running through two lines of business with zero number loss and the on-prem rack retired on schedule.
  • The architecture is a Connect EU-region landing zone with Direct Connect from the existing colo for number routing during dual-run, an identity bridge to Entra ID for agent SSO, customer-managed KMS keys on every persistent artefact, and Lake Formation governing Contact Lens output for analytics and compliance.
  • The AI overlay is Amazon Connect's native AI agent capabilities composed with Lex for natural-language IVR, a Bedrock Knowledge Base over policy and procedure documents, and a Bedrock agent for tier-1 actions (account lookup, balance inquiries, statement requests). Architectural prior art is the AWS samples repo for the Connect–Bedrock voice integration.
  • The numbers landed: average handle time fell from 9m 45s to 5m 20s on tier-1 calls (~45% reduction); per-interaction cost fell from €4.20 to €1.35; internal agent NPS rose from -12 to +28; time-to-train new agents fell from four weeks to nine days; compliance audit prep fell from three person-weeks to four hours because the audit chain is now queryable.
  • Three things went wrong honestly: the Lex training corpus underestimated regional dialect coverage and needed two retraining cycles; the supervisor handoff design needed three iterations before agents stopped resenting it; Contact Lens cost surprised us at scale and required a sampling policy. The dual-run period was harder than the cutover.

The shape of the patient on arrival

Two weeks of discovery against six months of operational data, and the baseline came into focus. Think of it as a medical chart for a contact centre that had been on the same prescription for too long.

The 350 seats split into loan operations (60), cards (75), collections (35) in the primary country, with a 180-seat shared overflow pool in country two. Three IVR layers had been added in 2017, 2019, and 2022 by three different system integrators, none of whom were still on contract. The agent surface was five desktops — Dynamics CRM, a compliance recording client, a KYC lookup tool, a collections workflow, and a WhatsApp-for-business console — none of which spoke to each other. Agents alt-tabbed for a living.

The handle-time chart told the rest of the story. Average handle time was nine minutes forty-five seconds, trending up from eight minutes ten in early 2024. Operations called it "tooling friction" without being able to point at a cause. Per-interaction cost, fully loaded, was four euros twenty. New agents took four weeks before they could take live calls unsupervised — the bank had recently lost two team leaders citing "training fatigue." Audit prep ran three person-weeks per audit, three to four audits a year, mostly spent reconciling timestamps across five systems in a SharePoint folder that no auditor enjoyed reading.

The non-negotiables that built the cage

If the patient describes the symptoms, the constraints describe the cage we had to design inside. They were tight, and they were the kind of tight that does not bend in a steering committee.

GDPR and EU residency meant every recording, transcript, and inference had to land in EU regions, full stop — the DPO's signature depended on it. eIDAS-compliant identity verification for high-value interactions had to keep working without a new trust boundary on the customer side. Anything touching balances, KYC, or payment instruction had to traverse VPC endpoints, never the public internet. No customer-facing number could be lost — a decade of marketing material had baked freephones and shortcuts into customer muscle memory, and losing any of them surfaces as a regulator complaint within forty-eight hours.

The cutover had to happen during business hours, line by line, with a thirty-minute rollback contract on every segment. No out-of-hours big-bang. And the wall-clock budget was six months — the vendor renewal date was the forcing function, and slipping meant signing the 38% renewal. The constraints drove the architecture more than the technology choices did. They always do.

What we shipped, drawn as a single picture

The architecture composes Amazon Connect, the existing colo telephony, the bank's identity stack, and a Bedrock AI overlay into one diagram with a clean cutover plane. The diagram is below; the prose translation runs underneath it.

Architecture diagram — Amazon Connect EU-region landing zone with Direct Connect to the existing colo for number routing during dual-run; identity bridge to Entra ID for agent SSO via SAML; customer-managed KMS keys on all persistent artefacts; Contact Lens output landing in Lake Formation; Bedrock Knowledge Base over policy and procedure documents wired into Amazon Connect's AI agent capabilities with Lex for natural-language IVR and Bedrock agent for tier-1 actions; supervisor handoff via Connect supervisor capabilities; all traffic via VPC endpoints, no internet egress for sensitive flows.
Figure 1 — Amazon Connect EU landing zone with Direct Connect bridge to the legacy colo for the dual-run period, Bedrock AI overlay for tier-1 triage, and Lake Formation governing the audit chain.

The Connect EU-region landing zone sits in Frankfurt with Connect's built-in cross-region EU resilience underneath. Every contact flow, queue, routing profile, and prompt is in Terraform — a config file the next engineer can read, not a console click trail nobody can reproduce.

During dual-run, the existing SBC continued to hold the customer-facing numbers. Calls landed on the SBC, which SIP-bridged them across a Direct Connect circuit into Connect. Think of it as a borrowed corridor between two buildings — the lease is short, the route is private, and you can close it one door at a time. Each number cut over individually with a thirty-minute rollback guarantee.

Agent SSO ran through SAML federation into Entra ID. The bank's existing conditional-access, device-trust, and step-up MFA policies continued to govern who logged in. eIDAS customer identity stayed on the existing provider via a Connect-callable Lambda, so no new trust boundary opened on the customer-facing side. Every persistent artefact — recordings, transcripts, contact records, Contact Lens output — was encrypted with the customer's own KMS keys. The encryption was the bank's, not AWS's.

Transcripts and analytics landed in S3 and were registered with Lake Formation. The audit prep that used to be three person-weeks became a parameterised Athena query. And no sensitive flow ever touched the public internet — VPC endpoints to Bedrock runtime, Bedrock agent runtime, KMS, S3, and Secrets Manager, with outbound to the bank's CRM and policy systems traversing the existing PrivateLink fabric. None of this is exotic. It is well-understood AWS primitives applied to a regulated workload, with the cutover plane designed so operations could sleep through it.

Six months, one outcome each

We sequenced the months around the cutover plane, not the technology stack. Each month had a single dominant outcome and a single rollback contract. Think of it as a relay race where every leg starts with a clean baton handoff.

Month one was discovery and landing zone — two weeks onsite, two weeks build. By the end we had a Connect instance, the Direct Connect circuit, the identity bridge, the KMS hierarchy, the Lake Formation catalog skeleton, and a Quicksight dashboard against the legacy baseline. No production traffic touched it.

Month two was contact-flow rebuild and Lex training. We did not lift the three IVR layers; we rebuilt customer-facing flows from call-driver data — the top forty intents covered 87% of volume — and trained Lex on twelve months of recorded transcripts the bank had never analysed. The team felt exposed, committing to a new IVR before anything was in production. The mitigation was a recorded-call playback rig: run the new flows against the prior month's calls, walk team leaders through what their customers would have experienced. Three flows got redesigned twice that way.

Month three was the first dual-run — loan operations, sixty seats, smallest and most procedurally bounded line of business, highest tolerance for friction. Ten numbers per day for two weeks, SBC-to-Connect bridge in place. One rollback in week two — a regional number hit an unmapped intent — executed end-to-end in seventeen minutes.

Month four scaled up to cards and collections, 110 seats, higher volumes and tighter compliance recording. Cards in weeks one and two went smoothly. Collections in weeks three and four needed three iterations of the supervisor handoff design before team leaders accepted it. The 180-seat country-two pool migrated in parallel with cards.

Month five was the AI overlay. A Bedrock Knowledge Base over policy documents, regulatory guidance, and the collections playbook, exposed to agents through a Connect-integrated panel. Collections first — highest knowledge-lookup load. AHT moved within ten days. Cards and loan ops followed by month-end.

Month six was the final cutover. Last numbers off the colo in week one. The on-prem stack stayed warm-but-idle for two weeks as a deep-rollback net. Week three: SBCs powered down, Direct Connect circuit repurposed, vendor contract not renewed. The rack was physically removed in the week of the original contract expiry.

Six-month phased cutover timeline — Month 1 discovery and landing zone (Connect instance, Direct Connect circuit, identity bridge, KMS hierarchy, Lake Formation skeleton, baseline dashboard); Month 2 contact-flow rebuild and Lex training on twelve months of recorded transcripts (top forty intents = 87% of volume), with three flows redesigned twice via a recorded-call playback rig; Month 3 dual-run for loan operations (60 seats, ten numbers per day for two weeks, one rollback executed end-to-end in seventeen minutes); Month 4 dual-run for cards and collections (110 seats plus 180-seat country-two pool, supervisor handoff design iterated three times); Month 5 Bedrock Knowledge Base and agent AI overlay (collections first, AHT moved within ten days); Month 6 final cutover (last numbers off the colo in week one, on-prem warm-but-idle for two weeks as a deep-rollback net, SBCs powered down in week three, rack physically removed in the week of original contract expiry); dual-run bands and the AI overlay band shown across the timeline.
Figure 2 — Six-month phasing sequenced around the cutover plane: one outcome and one rollback contract per month, dual-running through two lines of business with the on-prem rack retired on schedule.

Three jobs for the AI, and three the AI didn't get

The AI overlay was scoped narrowly on purpose. Contact centres that try to AI everything in the first cycle ship something the operations team distrusts and the regulator cannot audit. We picked three jobs the way a chef picks three ingredients — for what each does well alone, not for what they look like together on the menu.

The first job was the front door. The outer IVR layer is gone, replaced by a Lex bot trained on the transcript corpus, scoped to the top forty intents, with explicit fall-through to a human queue on anything ambiguous. The second job was retrieval. A Bedrock Knowledge Base, built over policy documents, procedure manuals, regulatory guidance, the collections playbook, and product reference, exposed to agents through a Connect-integrated panel and to the Bedrock agent through a retrieval tool. The architectural prior art lives in the AWS Connect AI agent documentation. We composed the documented pattern against the bank's content.

The third job was tier-one actions — account lookup, balance inquiries, statement requests, basic transaction history. The Bedrock agent calls back-end APIs through the bank's gateway with the customer's authenticated session token, returns the result to the voice channel or agent app, and writes the full action trace to the Connect contact record. Voice integration follows the AWS samples Connect–Bedrock voice integration pattern. The AWS ML blog walkthrough connected the Lex and Knowledge Base pieces. Agent definitions and KB ingestion are in Terraform.

What we explicitly did not do: AI-assisted decisioning on credit, collections strategy, fraud triage, or anything regulator-facing. Judgment stays human. The reasoning is the same one a hospital uses when an AI flags a scan but a radiologist signs it — the model raises the question, the qualified human answers it.

The scoreboard

We measured before, during, and after. The dashboard is part of the deliverable.

Metric Legacy baseline Post-migration (end of month 8) Delta
Average handle time (tier-1 calls) 9m 45s 5m 20s -45%
Per-interaction cost (fully loaded) €4.20 €1.35 -68%
Agent internal NPS (rolling quarterly) -12 +28 +40 pts
Time-to-train new agent 4 weeks 9 days -68%
Compliance audit prep per audit 3 person-weeks ~4 hours -98%
Telephony vendor contract €1.4M/year, renewing at +38% Retired n/a
Outcome comparison bars showing five metrics from legacy baseline to month eight after migration — average handle time on tier-1 calls fell from 9 minutes 45 seconds to 5 minutes 20 seconds (a 45% reduction); per-interaction cost fully loaded fell from €4.20 to €1.35 (a 68% reduction); internal agent NPS rolling quarterly moved from −12 to +28 (a 40-point shift); time to train a new agent unsupervised on live calls fell from four weeks to nine days (a 68% reduction); compliance audit prep per audit fell from three person-weeks to approximately four hours (a 98% reduction) because every artefact lands in a Lake Formation catalog joinable on contact ID; the legacy €1.4 million per year telephony contract, renewing at plus 38%, was retired and the rack physically removed in the week of original contract expiry; the agent NPS change explicitly disclaimed as not attributable to the AI overlay alone, since morale started moving in month three before the overlay landed.
Figure 3 — Five metrics, legacy baseline against month eight: paired bars show the magnitude of each shift, with the −98% on audit prep as the change that surprised the general counsel most.

Audit prep falling from three person-weeks to four hours is the change that surprised the bank's general counsel the most. The mechanism is unglamorous: every contact record, transcript, Contact Lens analytic, agent action trace, and supervisor decision lives in the same Lake Formation catalog, joinable on contact ID, with access governed by the existing data-access policies. The audit team learned to write the queries themselves by the second cycle.

Per-interaction cost falling from €4.20 to €1.35 is dominated by three factors. Licence-stack consolidation took five desktops down to one. The new-agent ramp improvement compounded over hiring cycles. The retired on-prem and vendor support cost came off the books entirely. Connect and Bedrock variable cost is real but small relative to what got buried.

We are deliberately not claiming credit for the agent-NPS change. Morale started moving in month three, before the AI overlay landed; team leaders attribute most of it to "tooling that doesn't fight me" rather than anything we specifically built. We will take it.

The three things we got wrong

Worth naming, because every case study that doesn't name them is selling something.

The Lex training corpus underestimated regional dialect coverage. Two countries, materially different linguistic registers — formal versus informal address, regional vocabulary for financial terms. Collections-specific language did not appear in the corpus because the prior IVR routed those calls straight to a human queue without recording the opening utterance. We retrained twice. The lesson: if your prior IVR was DTMF-only at the front door, your transcript corpus is the wrong fossil record. Customers will speak to a natural-language bot in a register your transcripts have never seen.

The supervisor handoff design needed three iterations. First version used Connect's standard supervisor-takeover — supervisor joins silently, takes over. Team leaders hated it because they parachuted in without context. Second version added a transcript pop-up at handoff, which they hated because the transcript ran thirty seconds behind the live audio, like watching a football match on delay. Third version landed: live transcript, AI summary of the call so far, customer account state, and the agent's last three actions, all rendered in a single panel before the supervisor joined the audio. The lesson: supervisor handoff is a workflow problem, not a telephony problem.

Contact Lens cost surprised us at scale. Default-on, Contact Lens runs analytics on every call. At 350 seats and roughly 12,000 daily calls, per-call cost compounded faster than our budgeting model assumed. We landed on a sampling policy — 100% of collections calls for the regulator, 100% of supervisor- or AI-flagged calls, 25% of cards and loan-ops for random QA, 5% for model evaluation. Compliance signed off; the bill got predictable.

And the dual-run period was harder than the cutover. Operations carried the cognitive load of two systems for ten weeks. Budget for it.

The pattern that fell out

By month six, the engagement had become a pattern we now recommend to other mid-market regulated migrations.

Discover with operational data, not workshops. Two weeks of call-driver and AHT data beats two weeks of stakeholder interviews. Build the cutover plane before the contact flows — if you cannot rehearse a rollback, you cannot run cutover in business hours. Rebuild the IVR, do not lift it; twelve years of accreted IVR is a fossil record, not a system. Bring up the identity bridge before any flow goes live, so agent SSO runs through the existing identity store on day one and no parallel identity stack opens up.

Scope the AI overlay to retrieval and tier-1 actions. Resist the temptation to AI the judgment work in the first cycle. Land Contact Lens with a sampling policy from day one — default-on is a budget surprise. Use Lake Formation as the audit chain, queryable from go-live; the general counsel will notice. And accept that dual-run is the hardest month, every time. Budget for it.

This is now the cmdev reference for mid-market regulated contact-centre migrations.

What we'd do differently next time

Train Lex on a synthetic plus historical corpus. The DTMF-front-door blind spot cost us two retraining cycles. A small synthetic corpus written by the operations team — representing how customers will speak to a natural-language bot, not how they pressed digits at the old one — would have caught most of the gap on the first pass.

Design the supervisor experience in week one of month two. We treated supervisor handoff as late-stage configuration and paid for it with three iterations under pressure. Next time it lands in the same sprint as the contact-flow rebuild.

Land the sampling policy in the contract. Contact Lens is a tool, not a default; the budget surprise is preventable. The next contract has the sampling design and Contact Lens cost ceiling as signed appendices before production traffic flows.

The rack is gone. The board is calmer. The next migration in this shape is already in discovery.

FAQs

Why Amazon Connect over a CCaaS competitor?

The bank's AWS estate already had GDPR residency, KMS hierarchy, and PrivateLink fabric in place — Connect inherits all of that without a new trust boundary. The Bedrock AI overlay composes natively. The variable-cost model fit a contact centre whose call volumes vary by 35% across the year. Other CCaaS platforms would have been credible; the AWS-resident factors decided it.

How did you keep numbers continuous during cutover?

SBC-to-Connect bridging via Direct Connect. Customer-facing numbers stayed registered on the legacy SBC throughout dual-run; the SBC routed individual numbers to Connect via a SIP trunk on a per-number schedule with a thirty-minute rollback contract. Once all numbers were stable, we ported them to Connect direct-inbound as a separate scheduled change.

What did the Bedrock Knowledge Base contain, and how was it kept current?

Policy documents, procedure manuals, the collections playbook, regulatory guidance, product reference, and operations-team FAQs. A scheduled pipeline reads from the bank's document management system daily, with manual trigger for high-priority updates. Changes flow to the KB within 24 hours, priority updates within an hour. Citations surface in the agent app so agents can verify before reading to a customer.

Was there customer-facing disruption during the six months?

Two complaints reached the regulator during dual-run, both about call quality on the SBC-to-Connect bridge in the first week of loan-ops cutover. Both closed without enforcement after the bank shared the rollback contract documentation and the post-incident fix. No number lost, no recording lost, no payment instruction delayed. The quarterly customer-satisfaction survey showed no significant change in the contact-centre score.

What does the six-month timeline assume about AWS maturity?

A mature landing zone, existing PrivateLink fabric, an Entra ID identity story, and a security team that has previously signed off on AWS workloads. The credible greenfield-bank version of this engagement is nine months, not six.

Companion content

How to engage

If your bank, insurer, or regulated mid-market is sitting on an Avaya/Genesys-class stack with a renewal coming up and a board mandate to leave, this is the shape of work cmdev runs. Two-week discovery against your operational data, a cutover plane and a six-to-nine month phased plan, fixed-fee build with co-managed transition into business-as-usual. We deploy inside your AWS account. Reach us at /contact/.


CreativeMinds Development (cmdev) ships production AI and cloud migrations for regulated enterprises across Africa and the EU. Case studies are anonymised composites drawn from live engagements; numbers are real.

case-studyamazon-connectamazon-bedrockcontact-centercloud-migrationeuropean-bankingproduction-aiaws

Ready to strengthen your security posture?

We help organizations across Africa build resilient infrastructure, deploy AI at scale, and navigate complex regulatory environments.

Start a conversation