From 887ab81898efbabe3fd443ac146156e9cfcc8f51 Mon Sep 17 00:00:00 2001 From: Dave Date: Thu, 19 Mar 2026 22:48:08 +0000 Subject: [PATCH] story-kit: create 320_story_whatsapp_business_api_integration_for_bot_commands --- ...siness_api_integration_for_bot_commands.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .story_kit/work/1_backlog/320_story_whatsapp_business_api_integration_for_bot_commands.md diff --git a/.story_kit/work/1_backlog/320_story_whatsapp_business_api_integration_for_bot_commands.md b/.story_kit/work/1_backlog/320_story_whatsapp_business_api_integration_for_bot_commands.md new file mode 100644 index 0000000..a313041 --- /dev/null +++ b/.story_kit/work/1_backlog/320_story_whatsapp_business_api_integration_for_bot_commands.md @@ -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