Inside Connekz: How We Built an AI Agent That Books, Sells, and Supports
A behind-the-scenes look at building Connekz — the AI agent platform powering customer interactions for businesses across New Zealand and beyond.
Why We Built Connekz
Most businesses cannot afford a 24/7 sales and support team, yet their customers expect instant, intelligent responses at any hour. Connekz is the AI agent platform we built to bridge that gap — a system that does not just answer questions, but takes real-world actions: booking appointments, checking availability, processing orders, and updating CRM records, all through natural conversation.
This is the story of how we designed, built, and scaled Connekz from an internal prototype to a production platform serving businesses across New Zealand and beyond. We will cover the architecture decisions, the hard engineering problems, and the lessons we learned shipping AI agents into high-stakes customer-facing environments.
Building an AI chatbot is easy. Building an AI agent that businesses trust with their customers and revenue is a fundamentally different problem.
The Problem We Set Out to Solve
Before building Connekz, we spent months interviewing business owners across industries — healthcare clinics, trade services, hospitality, professional services. Three problems appeared consistently.
Lost leads outside business hours
A physiotherapy clinic we worked with tracked their missed calls. Forty-two percent of new patient enquiries came outside business hours. Every one of those was a potential booking lost to a competitor who answered the phone. Multiplied across hundreds of businesses, the scale of lost revenue was staggering.
Overwhelmed support teams
A mid-sized e-commerce company had three customer support staff handling 200+ daily enquiries. Seventy percent of those enquiries were repetitive — order status checks, return policy questions, product availability. The team spent most of their day answering the same questions, leaving complex issues waiting in queue.
Inconsistent customer experiences
When a business operates across multiple channels — phone, email, website chat, social media — customers receive different levels of service depending on which channel they use and which team member responds. Tone, accuracy, and response time vary wildly. There is no single source of truth for how the business should communicate.
Connekz was designed to solve all three problems simultaneously. Not by replacing human teams, but by handling the predictable, repetitive interactions so that human staff can focus on the complex, high-value conversations where they make the biggest difference.
RAG Pipeline for Business-Specific Knowledge
Every business that deploys Connekz has unique products, services, policies, and terminology. We use Retrieval-Augmented Generation (RAG) to ground the AI agent in business-specific knowledge without fine-tuning a model for each customer.
The RAG pipeline works as follows:
- Ingestion: Business documents — product catalogues, service descriptions, FAQs, policies, pricing — are processed, chunked, and embedded into a vector database.
- Retrieval: When a customer asks a question, the system retrieves the most relevant document chunks based on semantic similarity.
- Augmented generation: Retrieved context is injected into the model's prompt alongside the conversation history, grounding the response in verified business information.
- Citation tracking: Every factual claim in a response is linked back to its source document, enabling audit trails and accuracy verification.
// Simplified RAG retrieval pipeline
interface RetrievedChunk {
content: string;
source: string;
relevanceScore: number;
metadata: Record<string, unknown>;
}
async function retrieveContext(
query: string,
businessId: string,
topK: number = 5,
): Promise<RetrievedChunk[]> {
const embedding = await embedQuery(query);
const results = await vectorDb.search({
collection: `business_${businessId}`,
vector: embedding,
topK,
filter: { active: true },
});
return results
.filter((r) => r.relevanceScore > 0.75)
.map((r) => ({
content: r.payload.content,
source: r.payload.source,
relevanceScore: r.score,
metadata: r.payload.metadata,
}));
}
Info
RAG is not a magic bullet. The quality of retrieved context depends entirely on the quality of the source documents. We invest significant effort in helping clients structure and clean their knowledge base before deployment.
Voice and Text Modes
Connekz operates in both text and voice modes. Text mode powers web chat widgets, WhatsApp integrations, and SMS interactions. Voice mode handles phone calls through real-time speech-to-text, agent processing, and text-to-speech.
Voice introduces additional engineering challenges: turn-taking (knowing when the caller has finished speaking), barge-in handling (the caller interrupts the agent mid-response), and latency requirements (voice conversations feel unnatural if response time exceeds 1.5 seconds).
The Tool-Calling System: How Connekz Takes Action
The defining feature that separates Connekz from a standard chatbot is its ability to take real-world actions. When a customer says "I'd like to book an appointment for next Tuesday," Connekz does not just acknowledge the request — it checks the calendar, finds available slots, and creates the booking.
How Tool Calling Works
The AI model is provided with a set of function definitions describing the actions it can take. Each function definition includes a name, description, and a parameter schema. When the model determines that an action is needed, it generates a structured tool call rather than a text response.
// Tool definition for appointment booking
const bookAppointmentTool = {
name: 'book_appointment',
description:
'Books an appointment for a customer. Use this when the customer wants to schedule a visit, consultation, or service.',
parameters: {
type: 'object',
properties: {
service_type: {
type: 'string',
description: 'The type of service requested',
enum: ['consultation', 'follow-up', 'initial-assessment', 'treatment'],
},
preferred_date: {
type: 'string',
format: 'date',
description: 'The customer preferred date (ISO 8601)',
},
preferred_time_range: {
type: 'string',
enum: ['morning', 'afternoon', 'evening'],
description: 'Preferred time of day',
},
customer_name: {
type: 'string',
description: 'Full name of the customer',
},
customer_phone: {
type: 'string',
description: 'Contact phone number',
},
notes: {
type: 'string',
description: 'Any additional notes or requirements',
},
},
required: ['service_type', 'preferred_date', 'customer_name'],
},
};
Safety Guardrails and Confirmation Flows
Tool calls that modify data or create commitments always pass through a confirmation flow. The agent presents the proposed action to the customer and waits for explicit confirmation before executing.
For example, a booking flow looks like this:
- Customer: "I'd like to book a consultation for next Tuesday afternoon."
- Agent (internal): Calls
check_availability({ date: '2026-02-17', time_range: 'afternoon' }) - System: Returns available slots: 1:00 PM, 2:30 PM, 4:00 PM
- Agent: "I have three afternoon slots available on Tuesday the 17th: 1:00 PM, 2:30 PM, and 4:00 PM. Which works best for you?"
- Customer: "2:30 works."
- Agent: "I'll book you in for a consultation at 2:30 PM on Tuesday 17 February. Could I get your full name and a contact number?"
- Customer: "Sarah Chen, 021 555 0123."
- Agent: "To confirm: a consultation for Sarah Chen at 2:30 PM on Tuesday 17 February. I'll send a confirmation to 021 555 0123. Shall I go ahead?"
- Customer: "Yes please."
- Agent (internal): Calls
book_appointment({ service_type: 'consultation', preferred_date: '2026-02-17', preferred_time_range: 'afternoon', customer_name: 'Sarah Chen', customer_phone: '021 555 0123' }) - Agent: "You're all booked in. You'll receive a confirmation text shortly. Is there anything else I can help with?"
The confirmation step is non-negotiable. The agent never creates a booking, processes a payment, or modifies a record without explicit customer approval.
Tip
Designing confirmation flows is as important as designing the AI model itself. A single incorrect booking damages trust far more than a slow response time. We err heavily on the side of confirming before acting.
Multi-Platform Deployment
Connekz deploys wherever your customers are. Each deployment mode is optimised for its platform while sharing the same core intelligence.
Web Widget
A lightweight JavaScript widget that embeds in any website. It loads asynchronously (under 30KB initial payload), supports custom theming to match your brand, and works across all modern browsers. The widget communicates with the Connekz backend via WebSocket for real-time conversation.
Inline Chat
For businesses that want the AI agent integrated directly into their website pages rather than as a floating widget. The inline mode renders within a designated container element and can be styled to look like a native part of the page.
What We Learned Building Production AI Agents
Shipping AI agents into production customer-facing environments taught us lessons that no research paper or demo could.
Hallucination Mitigation Is an Engineering Problem
LLMs hallucinate. This is a fundamental characteristic, not a bug to be patched. Our mitigation strategy is multi-layered:
- Constrain the knowledge domain: The agent only answers questions about topics covered in the RAG knowledge base. For everything else, it responds honestly: "I don't have information about that. Let me connect you with a team member who can help."
- Fact-check against structured data: When the agent states a price, availability, or policy, the system cross-references against structured data sources (not just the RAG corpus) before presenting the information.
- Confidence scoring: Every response includes an internal confidence score. Below a configurable threshold, the agent flags uncertainty to the customer or escalates to a human.
- Post-response validation: A lightweight validation model reviews each response before it is sent, checking for contradictions with known facts and flagging potential hallucinations.
Graceful Handoff to Humans Is Not Optional
No AI agent can handle every situation. The quality of your handoff process determines whether a complex interaction becomes a satisfied customer or a lost one.
Connekz implements three types of handoff:
- Proactive handoff: The agent detects it cannot resolve the issue (low confidence, out-of-scope request, detected frustration) and initiates transfer.
- Customer-requested handoff: The customer explicitly asks to speak with a person. This is honoured immediately, no friction, no attempts to retain the conversation.
- Escalation handoff: A human supervisor monitoring the conversation intervenes and takes over.
In all cases, the full conversation history and context are passed to the human agent. The customer never has to repeat themselves.
Latency Matters More Than You Think
In conversational AI, perceived intelligence is heavily influenced by response speed. A technically superior response delivered in 5 seconds feels worse than a good response delivered in 800ms. Users begin to disengage after 2 seconds of silence.
We optimise for latency at every layer:
- Intent classification completes in under 50ms
- RAG retrieval runs in parallel with conversation context assembly
- Response streaming begins before the full response is generated
- Tool calls execute asynchronously where possible
Our p95 response latency for text interactions is under 1.2 seconds. For voice, we target under 1.5 seconds from end-of-speech detection to start-of-response playback.
Monitoring and Continuous Improvement
Deploying an AI agent is not a launch-and-forget operation. We monitor every conversation across multiple dimensions:
- Resolution rate: What percentage of conversations reach a successful outcome without human handoff?
- Accuracy rate: Human evaluators review volenteraly provided sampled conversations for factual accuracy and appropriateness.
- Customer satisfaction: Post-conversation ratings and sentiment analysis.
- Tool call success rate: What percentage of bookings, updates, and actions complete successfully?
- Escalation patterns: Which topics or scenarios consistently require human handoff? These inform knowledge base improvements and model updates.
We feed these metrics back into a continuous improvement loop. Every week, the lowest-performing conversation patterns are reviewed, and the knowledge base, prompts, and guardrails are updated accordingly.
Results Our Clients See
The impact of deploying Connekz varies by industry and use case, but the patterns are consistent.
| Metric | Typical Before | Typical After |
|---|---|---|
| After-hours response rate | 0% (voicemail/email only) | 95%+ instant response |
| Average first response time | 4-8 hours | Under 2 seconds |
| Routine enquiry handling | 100% human | 70-80% automated |
| Booking conversion (after-hours) | Near zero | 35-50% of enquiries |
| Support cost per interaction | $8-15 | $0.50-2.00 |
| Customer satisfaction score | 3.8/5.0 | 4.3/5.0 |
These numbers represent real outcomes from Connekz deployments across healthcare, professional services, and hospitality businesses.
Info
The most surprising result: customer satisfaction scores typically increase after AI agent deployment. Customers prefer an instant, accurate response from an AI over a delayed or inconsistent response from an overwhelmed human team.
The Road Ahead
Connekz is not a finished product. It is a platform that evolves with advances in AI capabilities and our clients' needs. Our current development priorities include:
- Multi-agent orchestration: Complex business processes that require coordination between specialised agents (a booking agent, a billing agent, a technical support agent) working together on a single customer interaction.
- Proactive outreach: Connekz initiating conversations based on triggers — appointment reminders, follow-up after service, re-engagement of lapsed customers.
- Deeper AI integration: Connecting Connekz to internal business intelligence, allowing the agent to make data-informed recommendations (e.g., suggesting the most popular service for a new customer based on similar customer patterns).
- Industry-specific models: Fine-tuned models for healthcare, legal, and financial services that understand domain-specific terminology, compliance requirements, and interaction patterns.
The gap between what customers expect and what most businesses can deliver is growing. AI agents are not a futuristic concept — they are a practical, deployable solution to a problem that every business faces today.
Ready to deploy Connekz for your business? Start a conversation with our team and see what intelligent automation can do for your customer experience.
Written by
CNEX Team
Building the next generation of enterprise software at CNEX. Passionate about AI, cloud-native architecture, and elegant solutions to complex problems.
Related articles
The API-First Approach: Why Leading Companies Build APIs Before Interfaces
API-first development is reshaping how companies build software. Learn the principles, benefits, and implementation patterns behind this modern approach.
Cloud-Native Architecture: Building for Global Scale
A deep dive into the architectural patterns and practices that enable enterprise applications to scale globally while maintaining reliability and performance.
React Native vs Flutter in 2026: A Technical Decision Framework
An objective comparison of React Native and Flutter covering performance, developer experience, ecosystem, and when to choose each for your mobile project.
