Your First Post
Let's walk through creating, customizing, and publishing your first post across multiple platforms.
1. Open the Composer
Click the + Create Post button in the navigation, or go to the Composer page. This opens the multi-platform content editor.
2. Select Platforms & Accounts
At the top of the composer, select which platforms and accounts to publish to:
- Toggle Facebook, Instagram, and/or TikTok
- If you have multiple accounts per platform, select the specific ones
3. Write Your Caption
Option A: Write Manually
Type your caption directly in the editor. You can add hashtags as a separate array for clean management.
Option B: Use AI Caption Generator
Click AI Generate and configure:
| Setting | Options |
|---|---|
| Topic/Brief | What the post is about -- be specific for better results |
| Tone | Professional, casual, playful, urgent, inspiring |
| Length | Short (1-2 lines), medium, or long-form |
| Language | English or Arabic |
| Hashtags | Include/exclude, with count preference |
| Emoji usage | None, minimal, or rich |
| CTA type | Shop now, Learn more, Link in bio, DM us, etc. |
The AI generates multiple options. Pick the best one, mix elements, or regenerate for fresh variations.
If you've configured a Brand Voice, the AI automatically matches your established tone, vocabulary, and style patterns. You'll see a "Brand Voice: Active" indicator.
4. Per-Platform Customization
Use the platform tabs to fine-tune content for each platform:
| Override | What You Can Customize |
|---|---|
| Caption overrides | Different text per platform (stored as captionOverrides JSON) |
| Hashtag overrides | Different hashtag sets per platform (stored as hashtagOverrides JSON) |
| Media selection | Different images/videos per platform |
This way your base content stays unified, but each platform gets its optimized version.
5. Add Media
Upload images or videos to accompany your post:
| Property | What's Tracked |
|---|---|
| File name | Original filename |
| MIME type | image/jpeg, video/mp4, etc. |
| File size | In bytes |
| Dimensions | Width and height (for images) |
| Duration | Length in seconds (for videos) |
| Thumbnail | Auto-generated preview |
| Sort order | Position in carousel |
Media is uploaded to cloud storage (AWS S3 or Cloudinary) and linked to your post via PostMedia records. For carousels, drag to reorder.
Supported media types: IMAGE, VIDEO, CAROUSEL
6. Preview & Publish
Use the Preview panel to see how your post appears on each platform.
Then choose your publishing option:
| Option | What Happens | Post Status |
|---|---|---|
| Publish Now | Queued immediately via the publish queue | PUBLISHING -> PUBLISHED |
| Schedule | Stored with scheduledAt timestamp; schedule queue triggers it | SCHEDULED -> PUBLISHING |
| Save as Draft | Saved for later editing | DRAFT |
| Submit for Approval | Sent to reviewers (if enabled) | DRAFT + approval request |
Publishing Pipeline
Here's what happens behind the scenes when you hit publish:
Post created (DRAFT/SCHEDULED)
|
v
Publish queue picks up job
|
v
For each platform + account combination:
-> Create PostPublication record (status: PENDING)
-> Call platform API to publish
-> On success: status = PUBLISHED, store platformPostId + platformPostUrl
-> On failure: status = FAILED, store errorMessage + errorCode, increment retryCount
|
v
Post status updates:
- All succeeded -> PUBLISHED
- Some failed -> PARTIALLY_PUBLISHED
- All failed -> FAILED
|
v
Analytics sync begins (analytics-sync queue)
Each PostPublication tracks the result independently per platform, so one platform failing doesn't block others. Failed publications can be retried (up to the configured retry count with exponential backoff).
7. After Publishing
| Action | Description |
|---|---|
| View analytics | Metrics start appearing in Post Analytics -- likes, comments, shares, impressions, reach, saves, downloads |
| View on platform | Click the platform link (platformPostUrl) to see it live |
| Duplicate | Create a copy to reuse or modify |
| Track revenue | If e-commerce is connected, revenue attribution links purchases back to this post |
What's Next?
- Explore the full Composer features
- Set up your Brand Voice for consistent AI content
- Plan ahead with the Content Calendar
- Track performance in the Analytics Dashboard