Background: A 1,200-Person UK Advisory Firm at the Pilot Stage
This case study is a composite built from patterns observed across multiple engagements. No named customer appears. The firm described below is a fictional 1,200-person UK professional services company—call it Meridian Advisory—that provides tax, audit, and compliance services to mid-market clients. Its back office handles roughly 4,000 inbound support interactions per month across phone, email, and a Zendesk portal. The team is at the “running isolated pilots” stage of AI maturity: they have tested a chatbot on their website but have not yet connected AI to operational workflows. Their stack includes Zendesk for support, a legacy ERP for order and shipment tracking, and a CRM for client records. The operations director set a hard deadline: reduce the cost per support ticket by at least 25% within two quarters, driven by a 12% headcount freeze and rising call volumes from a new client onboarding cohort.
Challenge: 11% Error Rate on Status Calls and a GDPR Constraint
The operations team tracked 300 calls over two weeks and found that 62% of inbound volume was order and shipment status inquiries. Agents spent an average of 4.2 minutes per call, and 11% of those calls ended with the customer reporting incorrect information—usually a stale shipment date pulled from a spreadsheet that had not synced with the ERP. The back-office data entry team, which transcribed call outcomes into Zendesk, logged an 8.4% error rate on status fields. GDPR added a constraint: voice data and client records could not be processed on infrastructure outside the UK, and any automated handling of client data required a documented lawful basis under Article 6(1)(f) and a Data Protection Impact Assessment. The deadline was 8 weeks from audit to a limited live rollout, with a hard requirement that no customer-facing change went live without sign-off from the DPO.
Approach: LangGraph State Machine with a UK-Hosted Voice Pipeline
Forfis ran a two-week AI automation audit that scored five candidate workflows on volume, error rate, cycle time, and compliance risk. Order and shipment status updates scored highest: structured data, low financial risk, and a clear API path through the ERP. The pilot used LangGraph to model the conversation as a state machine: intent classification → ERP API call → response generation → escalation check. LangChain handled prompt templates, a vector store over the firm’s shipping policy documents, and tool calling for the Zendesk API. The voice layer used a UK-hosted speech-to-text and text-to-speech pipeline to keep data inside the UK border. Human-in-the-loop was built in: if the customer asked to cancel, dispute, or escalate, the graph routed to a live agent with a call summary. The pilot shipped with a measured baseline: 4.2-minute average handle time and 11% error rate on status fields.
Outcome: 34% Cost Reduction and a 2.3% Error Rate
After eight weeks, the voice agent handled 71% of order and shipment status calls in shadow mode, then 40% in live mode with human fallback. Average handle time for agent-handled calls dropped from 4.2 minutes to 1.8 minutes. The error rate on status fields fell from 11% to 2.3%, because the agent pulled data directly from the ERP rather than from a stale spreadsheet. Cost per support ticket for the status-inquiry segment dropped by 34%, from an estimated £11.20 to £7.40. The back-office data entry team reduced transcription errors by 61% because the agent logged structured outcomes into Zendesk automatically. The DPO signed off after the DPIA confirmed that voice data was encrypted in transit (TLS 1.3) and at rest (AES-256), and that no client data left the UK. The firm extended the pilot to invoice discrepancy handling in week 10.
Lessons for Teams Running Isolated Pilots
- The audit is not optional. The two-week process audit identified that 62% of call volume was status inquiries. Without that number, the team would have spent the 8-week window on a lower-impact workflow. Score every candidate on volume, error rate, and compliance risk before writing a line of code.
- Model-agnostic design protects you from vendor lock-in. The LangGraph state machine ran on OpenAI’s API for the pilot but was architected to swap in an open-weight model on the client’s own hardware if the DPO later required on-premises inference. This flexibility cost nothing in the pilot and saved a renegotiation later.
- Human-in-the-loop is a design constraint, not a feature. The escalation path was defined in the LangGraph topology before the first prompt was written. Teams that bolt on human approval after the model is live tend to ship with gaps that GDPR reviewers flag.
- Measure the baseline before you touch the system. The 11% error rate and 4.2-minute handle time were logged during the audit, not after the pilot. Without that baseline, the 34% cost reduction would have been an anecdote, not a defensible number for the board.