story-kit: accept 320_story_whatsapp_business_api_integration_for_bot_commands

This commit is contained in:
Dave
2026-03-20 02:48:53 +00:00
parent 3932aa65c2
commit 14a97ed4ed
2 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
---
name: "WhatsApp Business API integration for bot commands"
---
# Story 320: WhatsApp Business API integration for bot commands
## User Story
As a project owner, I want to interact with the bot via WhatsApp using the official WhatsApp Business Platform, so that I can manage the pipeline from WhatsApp alongside the existing Matrix support.
## Acceptance Criteria
- [ ] Webhook endpoint at /webhook/whatsapp receives incoming messages from Meta's API
- [ ] Webhook verification handshake (GET request with hub.verify_token) implemented
- [ ] Incoming messages are parsed and routed to the command dispatch (try_handle_command)
- [ ] Outbound replies sent via POST to graph.facebook.com/v21.0/{phone_number_id}/messages
- [ ] WhatsApp config in bot.toml: phone_number_id, access_token, verify_token, enabled flag
- [ ] bot.toml.example documents the WhatsApp fields
- [ ] All bot commands work (help, status, cost, git, show, delete, ambient, htop without editing)
## Out of Scope
- TBD

View File

@@ -0,0 +1,21 @@
---
name: "WhatsApp LLM passthrough for conversational queries"
---
# Story 323: WhatsApp LLM passthrough for conversational queries
## User Story
As a project owner using WhatsApp, I want messages that aren't bot commands to be forwarded to Claude for conversational responses, so that I can ask questions about the project naturally from WhatsApp just like I do from Matrix.
## Acceptance Criteria
- [ ] Messages that don't match any bot command are forwarded to Claude via the existing LLM pipeline
- [ ] Responses are sent back as WhatsApp messages
- [ ] Conversation history is maintained per user (similar to Matrix history_size)
- [ ] System prompt includes the same project context as Matrix (bot name, pipeline awareness, MCP tools)
- [ ] Long responses are chunked to fit WhatsApp's message size limits
## Out of Scope
- TBD