Two-layer structure: Sources (raw notes) + Wiki (compile output) Four domains: Dev (40), Venture (3), Homelab (23), Reference (0) Includes CLAUDE.md spec, index pages at all levels, compile log Co-Authored-By: Lovebug <lovebug@herbylab.dev>
4.9 KiB
| created | path | project | status | tags | type | updated | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-03-15 | Sources/Dev | instagram-automation-content-hub-plan | active |
|
project-plan | 2026-03-15 |
Instagram Automation & Content Hub — Master Plan
Background
This plan consolidates two sessions of work:
- Finishing error checking on the Instagram comment reply workflow
- Redesigning the data pipeline to simplify the reply workflow and automate recipe/reel syncing
Key Architecture Decision
The reply workflow will be refactored to use a single instagram_posts table lookup instead of
the current two-table lookup + merge pattern. The instagram_posts table will store the recipe URL
directly, eliminating the need to join with pbs_recipes at reply time.
Phase 1 — Foundation
- Add phpMyAdmin back to Docker Compose on staging
- Design final MySQL schema
pbs_recipes— post_id, title, url, keyword (updated)instagram_posts— reel_id, post_id (FK), url, keyword (new url field)- Foreign key linking
instagram_posts.post_id→pbs_recipes.post_id
- Migrate n8n datatables to MySQL
- Verify PBS-API can query updated schema
Phase 2 — Finish Error Checking on Reply Workflow
- Refactor reply workflow to single
instagram_poststable lookup (remove merge) - Add IF node after table lookup → Notify Travis on no record found
- Add IF node for keyword not matched → Notify Travis
- Verify subscribe check → Notify Travis (already built)
- Verify hash check → Notify Travis (already built)
- Test all error paths on staging
- Deploy to production
Notify Travis Workflow (already built)
- Webhook trigger at: https://n8n.plantbasedsoutherner.com/webhook/notify-pbschat
- Payload format: { "title": "Alert title", "message": "Detail message", "timestamp": "={{ $now.toFormat('MMM dd, HH:mm:ss') }}" }
Phase 3 — WordPress → MySQL Sync
- Wire WordPress publish webhook (proof of concept built) to n8n workflow
- n8n workflow inserts/updates
pbs_recipestable on post publish - Handle duplicate detection (re-publish should UPDATE not INSERT)
- HMAC signature verification on incoming webhook (already built in WPCode Lite)
- Test with staging WordPress → staging n8n → staging MySQL
- Deploy to production
WordPress Webhook Details (already built)
- WPCode Lite snippet fires on post publish (admin only)
- Payload: post_id, title, url, tags, categories
- HMAC signature via X-PBS-Signature header
- Raw body passed via X-PBS-Body header (base64) for signature verification
Phase 4 — Instagram Reel Publish Webhook
- Research Meta API for reel publish webhook event
- Build n8n workflow to receive reel publish event
- Insert record into
instagram_postson new reel - Auto-populate URL by looking up matching
pbs_recipesrecord via post_id in caption - Trigger match verification check after insert
- If match found → update record, no alert
- If no match found → Notify Travis to manually link
Phase 5 — PBS Content Hub Updates (Planning Required First)
- Planning session required before any code is written
- Review current Content Hub architecture and existing features
- Define full requirements for:
- Recipe review UI — Jenny can view new recipe records, confirm or edit keyword before reel goes live
- Reel/recipe match status dashboard — shows matched vs unmatched reels at a glance
- Manual match correction UI — fix bad or missing matches without touching MySQL directly
- Design UI/UX mockups
- Get Jenny feedback on workflow fit
- Build once requirements are locked
Full Automation Flow (Target State)
-
Recipe published on WordPress → WPCode Lite webhook fires → n8n inserts record into
pbs_recipes -
Jenny reviews PBS Content Hub → Confirms or edits keyword → One intentional human checkpoint ✅
-
Jenny publishes Instagram reel (with WordPress post_id in caption) → Meta webhook fires → n8n inserts record into
instagram_postswith URL frompbs_recipes -
System verifies match → If clean → ready for comments → If broken → Notify Travis via Google Chat
-
User comments on reel → n8n comment reply workflow fires → Single lookup on
instagram_posts→ Keyword match → send DM + public reply → All dead ends → Notify Travis
Notes
- All development on staging first, then promote to production
- phpMyAdmin for direct MySQL access (Travis/admin only)
- PBS Content Hub is the Jenny-facing interface for data management
- Notify Travis workflow handles ALL alerts (Google Chat)
- n8n datatables to be fully retired once MySQL migration complete
Last Updated: March 15, 2026 Maintained by: Travis Project: Plant Based Southerner — Instagram Automation