D2C Skincare WhatsApp AI Sales & Support Assistant
A self-initiated pilot project exploring conversational skincare recommendations by skin type & budget, customer context, real-time order tracking, FAQ knowledge retrieval, and human handoff via n8n & Airtable.
01. Project Overview
This project was built as an independent learning build to explore how customer messaging, AI intent classification, workflow orchestration, and structured databases work together for a direct-to-consumer commerce scenario. It was created to understand technical boundaries—not as a client deployment, and no revenue impact or commercial results are claimed.
02. Problem Framing
D2C brands receive routine product enquiries on messaging channels: price checks, size/material variants, delivery timelines, product recommendations, and order status. If handled manually, response quality depends entirely on human staff availability and previous interaction history is easily lost. This prototype explores the operational system underneath the chatbot:
- Response Consistency: Answering product questions using verified catalog records rather than model memory alone.
- Context Retention: Retrieving previous customer conversation history and profile context.
- Intent Routing: Directing product discovery, image requests, order status, and human assistance to appropriate workflow branches.
- Operational Visibility: Logging interactions in structured tables for inspection and debugging.
- Safe Escalation: Ensuring sensitive complaints or ambiguous requests route safely to a human team member.
03. Workflow Architecture
The documented architecture uses n8n as the orchestration layer between WhatsApp webhooks, an LLM API, and Airtable records:
- Stage 1 — Receive: Ingests incoming WhatsApp message webhook event.
- Stage 2 — Extract: Normalises message text, sender phone, and timestamp.
- Stage 3 — Lookup: Checks Airtable to verify if the sender is an existing or new customer.
- Stage 4 — Branch: Creates a new customer profile or retrieves historical conversation context.
- Stage 5 — Route Intent: Identifies customer intent (Discovery, Price/Variant, Image, Order, Human Help).
- Stage 6 — Context Retrieval: Queries the Products table for verified price and variant details.
- Stage 7 — Prepare Response: Generates constrained response via configured LLM integration without inventing discounts.
- Stage 8 — Log & Send: Records the conversation entry in Airtable and dispatches the WhatsApp reply.
04. Structured Airtable Data Model
The prototype relies on five structured tables to maintain a verifiable source of truth:
| Table | Documented Role in Prototype |
|---|---|
| Customers | Customer phone identifier, profile state, and recent activity timestamp. |
| Conversations | Message history, extracted intent, response text, and escalation flag. |
| Products | Demo catalogue: product title, category, price, variant, and image URL. |
| Cart Items | Line item records and recovery state (design exploration). |
| Orders | Sample order status representation for lookup tests. |
* Note: The existence of these tables represents data schema design and does not claim live checkout or payment gateway integration.
05. Documented Technical Stack
06. Engineering Decisions & Learnings
- Strict Source of Truth: Grounding product details strictly in Airtable records prevents the LLM from inventing unapproved discounts, shipping promises, or fabricated stock counts.
- Payload Normalisation: Parsing raw WhatsApp webhook payloads into predictable variables before triggering branching logic.
- Separating Intent from Actions: Classifying what the user wants before executing database mutations or external API calls.
- Human Escalation Boundaries: Clear escalation path for complaints, ambiguous requests, and explicit requests for a person.
- The Prototype Boundary: A node-based demo highlights failure modes (duplicate webhooks, missing customer IDs, rate limits) that must be solved before any real production deployment.
07. Limitations & Technical Next Steps
To transition this prototype into a dependable commercial implementation, the following areas require formal validation:
- End-to-end load testing across all supported intent branches.
- Automated duplicate-event deduplication at the webhook ingestion layer.
- Comprehensive error handling and exponential-backoff retries for external API timeouts.
- Verification of official WhatsApp Business API compliance and template approvals.
- Live store API integration (e.g., Shopify Admin API) before claiming live inventory or checkout sync.