Social Media Content Trigger Ideas
Purpose: A catalogue of proactive “moment triggers” — signals that, when detected, should surface a suggested social post to the DM or client. The goal is to make timely, relevant content creation one-click rather than something the team has to remember.
Model: Each idea follows the same pattern as the Important Days feature — a signal is detected by a scheduler job or worker, it surfaces in one or more portals (DM /occasions-style page, dashboard widget, in-app notification), and the user clicks “Create post” to kick off the social-post-writer → social-post-designer pipeline.
Categories
| File | Category | Ideas | Build Tier |
|---|---|---|---|
| platform-data.md | Platform Data (no new integrations) | 6 | Now / Next |
| awareness-calendars.md | Industry & Awareness Calendars | 2 | Now |
| channel-performance.md | Channel Performance Signals | 4 | Next |
| business-events.md | Business Events (human-seeded) | 3 | Next / Later |
| reactive-external.md | Real-Time / Reactive (external APIs) | 3 | Backlog |
Build Priority Matrix
| Tier | Ideas | Effort | Notes |
|---|---|---|---|
| Now — same architecture, data/hooks only | Industry awareness months, Business anniversary, Blog post auto-social | Low | Extend existing Important Days model or add worker hooks |
| Next — new scheduler handler or worker extension | Ranking milestone, Contact milestone, GBP review milestone, AI Visibility jump, Blog SEO score post | Medium | All signals already in Leadmetrics data |
| Later — new channel data reading or new model | Traffic spike post, Ad conversion digest, New location, Scheduled announcements | Medium | Requires reading more from connected channel data |
| Backlog — requires external API integration | Trending topics, Competitor detection, Social/viral listening | High | New integrations; editorial judgment required |
Shared Implementation Pattern
All triggers follow the same flow:
Signal detected (scheduler / worker completion hook / channel sync)
→ Dedup check (avoid surfacing same trigger twice in same window)
→ enqueueNotification() → in-app notification to DM + client
→ Surface in DM portal (occasions-style page or dedicated section)
→ Surface in Dashboard widget (upcoming / suggested posts card)
→ User clicks "Create post" → selects platform
→ Activity created (deliverableType=social_post, contentType=<trigger-type>)
→ SocialPost created (status=queued)
→ BullMQ job → social-post-writer (trigger-aware prompt)
→ dm_review → social-post-designer → client_review → publishKey files to touch for any new trigger:
packages/db/prisma/schema.prisma— new model if needed (e.g.ScheduledAnnouncement)apps/servers/scheduler/src/handlers/— new daily/weekly handlerapps/api/src/routers/tenant/+apps/api/src/routers/dm/— surface APIapps/dashboard/src/app/(dashboard)/dashboard/— widget cardapps/dm/src/app/(dm)/occasions/— extend or parallel pagepackages/agents/src/workers/social-post-writer.worker.ts— add contentType branchpackages/agents/src/workers/social-post-designer.worker.ts— add SCENE_MAP entry
Related Docs
- Important Days feature — the live reference implementation
- Social post pipeline — full status machine
- Scheduler server — DB-poll architecture, task registration