WhatsApp Support Bot by Ken IsiahoWhatsApp Support Bot by Ken Isiaho

WhatsApp Support Bot

Ken Isiaho

Ken Isiaho

WhatsApp Support Bot

Automated troubleshooting bot for field education workers. Head teachers report device and app problems via WhatsApp, Claude routes them through symptom-specific flows, and unresolved issues escalate automatically to Education Officers.

What it does

Field education workers in remote areas frequently encounter device and app problems with no immediate technical support available. This bot gives them a structured troubleshooting path through WhatsApp, a channel they already use, without requiring them to navigate a help portal or wait for a support agent to respond.
Head teachers describe their issue in plain language and Claude classifies the intent, dispatching them into one of 9 symptom-specific troubleshooting paths. Session state is tracked in PostgreSQL so the conversation survives interruptions and inactivity timeouts. If the issue remains unresolved after the troubleshooting steps, the bot escalates to an Education Officer via Slack with full context and creates an Asana ticket for tracking.

How It Works

End-to-end flow

1. Receive

Incoming WhatsApp messages arrive via Twilio webhook. The bot loads or creates a session from PostgreSQL, restoring any in-progress troubleshooting state so the head teacher can pick up where they left off.

2. Classify

Claude classifies the message intent. For open-ended reports, it identifies whether the issue is a device problem or a Field App problem and routes accordingly. Mid-flow issue changes are also detected so the user is never stuck in the wrong path.

3. Guide

The bot walks the user through one of 9 symptom-specific troubleshooting paths with inactivity timers (20 minutes standard, 60 minutes for charging steps). Notion knowledge base articles back each EO-facing step with a 5-minute in-memory cache.

4. Escalate

Unresolved issues are sent to Slack with context-aware action buttons for Education Officers. An Asana ticket is created automatically for tracking and follow-up. Daily monitoring alerts flag dark schools, symptom spikes, and inactive EOs.

What it covers

Multi-turn form-based troubleshooting with stateful session tracking in PostgreSQL
Two main branches: teacher device issues and Field App problems, with 9 symptom paths total
Claude-powered intent detection for open-ended reports and mid-flow issue changes
Inactivity timers per step (20 min default, 60 min for charging steps)
Notion knowledge base integration with 5-minute in-memory cache for EO steps
Automated Slack escalation with context-aware action buttons for Education Officers
Asana ticket creation for all unresolved issues
Daily monitoring with alerts for dark schools, symptom spikes, and inactive EOs
In-browser simulator for local testing without Twilio or Slack credentials
Feature flags for safe incremental rollout

Tools involved

Node.js
Express.js
Claude API
Twilio (WhatsApp)
Slack Web API
Asana API
Notion API
PostgreSQL (Neon)
node-cron
Like this project

Posted May 24, 2026

Automated troubleshooting bot for education workers to report device issues via WhatsApp.