A unified dashboard demo showing customer support across Email and WhatsApp channels using Telnyx APIs.
Scenario: A customer reports a damaged order via email. Support follows up on WhatsApp to collect a damage photo, approves a replacement, and sends a shipping confirmation back via email β all tracked in a single dashboard.
No Telnyx credentials needed:
pip install -r requirements.txt
python demo/demo_server.py
Open http://localhost:5050 and click Run Demo Journey.
The dashboard has four panels:
| Panel | Content |
|---|---|
| Customer | Profile card with name, email, phone |
| Email Thread | Subject/body cards with inbound (blue) / outbound (green) borders |
| Phone-frame UI with chat bubbles, delivery ticks, image thumbnails | |
| Order & Timeline | Order status badge transitions, damage photo, chronological event log |
| Step | Channel | Direction | What Happens |
|---|---|---|---|
| 1a | Inbound | Customer reports damaged headphones | |
| 1b | Outbound | Auto-acknowledgment, mentions WhatsApp follow-up | |
| 2 | Outbound | Template message requesting damage photo | |
| 3 | Inbound | Customer sends photo + description | |
| 4 | Outbound | Support confirms replacement approved | |
| 5 | Outbound | Shipping confirmation with tracking number |
Order status transitions: delivered β damage_reported β replacement_shipping β resolved
To run with real Telnyx credentials:
cp .env.example .env
python app.py
Configure Telnyx webhooks:
- Email :
https://your-domain.com/webhooks/email - WhatsApp :
https://your-domain.com/webhooks/whatsapp
email-whatsapp-support-python/
βββ app.py # Flask app: webhooks, channel helpers, SSE, customer registry
βββ demo/
β βββ demo_server.py # Imports app.py, mocks APIs, runs scripted journey
βββ templates/
β βββ index.html # Dashboard UI (4-panel layout)
βββ requirements.txt # flask, python-dotenv, telnyx, requests
βββ .env.example # Credential placeholders
βββ smoke_test.py # Basic tests
βββ README.md # This file
βββ API.md # Endpoint reference
βββ GUIDE.md # Tutorial walkthrough
See API.md for the full endpoint reference.
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | Dashboard UI |
/health |
GET | Status + mode |
/customers |
GET | List customers |
/conversations |
GET | Conversation history |
/orders |
GET | Order state |
/stream |
GET | SSE event stream |
/webhooks/email |
POST | Email webhook |
/webhooks/whatsapp |
POST | WhatsApp webhook |
python smoke_test.py