Social Media Management & Campaign Automation
Social Media Management & Campaign Automation
Status: Partially Implemented — Distribution Gap
Social content is generated automatically on every release, but the pipeline to distribute, schedule, and track that content does not yet exist. This page documents both the current state and the planned architecture.
What the Platform Promises
The Marketing pillar is designed to operate without a human marketing team. Among its zero-human capabilities:
- Social media management — autonomous creation and publication of posts to Twitter/X, LinkedIn, and other networks.
- Campaign automation — scheduled, multi-step campaigns with audience targeting.
- Conversion analytics — revenue attribution tied to specific posts and campaigns.
Current State
What Works Today
Social post generation is fully operational. On every release cycle, the marketing agent composes social post copy — platform announcements, feature highlights, changelog summaries — and persists the payloads to the releases.socialPosts field in the database.
Generated payloads follow this structure:
{
"releaseId": "v1.0.45",
"socialPosts": [
{
"platform": "twitter",
"content": "...",
"hashtags": ["#SaaS", "#AI"],
"scheduledAt": null
},
{
"platform": "linkedin",
"content": "...",
"scheduledAt": null
}
]
}
What Is Missing
| Component | Status | Notes |
|---|---|---|
| Post generation | ✅ Operational | Stored in releases.socialPosts |
| Twitter/X API integration | ❌ Not built | Posts never published |
| LinkedIn API integration | ❌ Not built | Posts never published |
| Campaign scheduler | ❌ Not built | No timing or sequencing logic |
| Engagement tracking | ❌ Not built | No impressions, clicks, or reposts captured |
| Conversion analytics | ❌ Not built | No revenue attribution per post/campaign |
As a result, all generated social content is currently silently dropped after it is written to the database.
Planned Architecture
1. Social Network Integrations
Each integration will read pending posts from releases.socialPosts where publishedAt IS NULL and submit them via the respective platform API.
Twitter/X
- OAuth 2.0 app-level authentication
- Posts via the Twitter/X API v2
POST /2/tweetsendpoint - Media attachment support for generated release graphics
- OAuth 2.0 via LinkedIn's
ugcPostsAPI - Organisation page posting (not personal profile)
2. Campaign Scheduler
A dedicated Inngest function will manage campaign sequencing:
- Configurable posting windows (e.g. weekdays 9 AM–5 PM in the product's primary timezone)
- Per-platform rate-limit awareness
- Multi-step drip campaigns (announcement → feature spotlight → reminder) tied to a release lifecycle
3. Campaign Tracking
After each post is published, the platform will:
- Record the platform-assigned post ID to
releases.socialPosts[].platformPostId - Poll or webhook-receive engagement metrics (impressions, likes, reposts, clicks)
- Store time-series engagement data for dashboard surfacing
4. Conversion Analytics
UTM parameters will be appended to all links in published posts:
https://yourproduct.com/?utm_source=twitter&utm_medium=social&utm_campaign=v1.0.45
Server-side analytics will join UTM-tagged sessions to signup and revenue events, producing per-campaign conversion metrics visible in the Revenue and Marketing dashboards.
Configuration (Planned)
Once integrations are built, the following environment variables will be required:
| Variable | Purpose |
|---|---|
TWITTER_API_KEY | Twitter/X app credentials |
TWITTER_API_SECRET | Twitter/X app credentials |
TWITTER_ACCESS_TOKEN | Twitter/X account access |
TWITTER_ACCESS_SECRET | Twitter/X account access |
LINKEDIN_CLIENT_ID | LinkedIn OAuth app ID |
LINKEDIN_CLIENT_SECRET | LinkedIn OAuth app secret |
LINKEDIN_ORG_ID | LinkedIn organisation page ID |
Related Platform Sections
- Marketing — Campaign automation, AI-generated landing pages, SEO optimization
- Sales & Revenue — Conversion analytics, subscription analytics
- Operations — Cost optimization, AI-driven business intelligence