Creating a post
Select an account
Choose which connected social account should receive the post. Each post targets one account at a time.
Write your content
Enter your caption or post text in the editor. The content is shared across all selected platforms.
Attach media
Add images or videos from your media library, upload new files, or use AI-generated content. See media library for details.
Content types by platform
Different platforms support different content types:| Platform | Content types | Notes |
|---|---|---|
| Feed, Story, Reel | Stories require media. Reels require video. | |
| Feed, Reel, Story | Reels require video. Stories require media. | |
| TikTok | Video | Always requires a video file. |
| X (Twitter) | Post | Text with optional media. |
| Post | Text with optional media. | |
| Telegram | Post | Text with optional media. |
Supported aspect ratios
When attaching media, you can choose from these aspect ratios:- 1:1 (square) — works on all platforms
- 4:5 (portrait) — ideal for Instagram feed
- 9:16 (vertical) — best for Stories and Reels
- 16:9 (landscape) — best for Facebook and LinkedIn
Bilingual captions
The composer supports writing captions in both English and Arabic. Two separate text fields are provided:- English caption — left-to-right text field for your English content
- Arabic caption — right-to-left text field for your Arabic content (العربية)
Caption tone selector
The editor toolbar includes a tone selector dropdown that sets the voice for your caption. Choose from:- Professional — formal, business-appropriate language
- Casual — relaxed, conversational tone
- Friendly — warm and approachable style
Character limits
A live character counter appears below the caption editor, showing the current length of your caption as you type. The counter is informational and does not block publishing. Keep these platform guidelines in mind:| Platform | Recommended limit |
|---|---|
| 2,200 characters | |
| X (Twitter) | 280 characters |
| 3,000 characters | |
| 63,206 characters | |
| TikTok | 2,200 characters |
| Telegram | 4,096 characters |
AI writing tools
The composer toolbar includes three AI-powered writing tools:- AI Write — generate a new caption from scratch based on your prompt, selected platform, tone, and length preferences
- AI Suggest — generate hashtags relevant to your caption content
- Enhance — improve your existing caption using AI without replacing the original idea. This is useful when you have a draft caption and want to polish the wording, grammar, or tone
Content type picker
When you select an account, the composer shows a row of content type buttons based on the platform. For example, Instagram offers Feed, Story, and Reel options. Selecting a content type updates the validation rules and aspect ratio for that post. See the content types table for available options per platform.Hashtag management
Below the caption editor, a collapsible Tags panel lets you manage hashtags:- Type a hashtag and press Enter to add it manually
- Click the X on any tag to remove it
- Use AI Suggest to generate relevant hashtags from your caption content
Multiple media attachments
You can attach more than one image or video to a post. The composer displays attached media in a horizontal scrollable strip with thumbnails.- Click the + button in the media strip to add more files from your media library or upload new ones
- Hover over any thumbnail and click the remove button to detach it
- The media selector supports multi-select — choose several assets at once from the library
- Duplicate files are automatically filtered out
Some platforms limit the number of media items per post. Instagram carousel posts support up to 10 images or videos. Other platforms may have their own limits.
Destination link
You can attach a destination URL to your post using the Destination link field in the composer footer. This link is included with the post content when it is published to the platform.Guided content builder
The guided content builder is a step-by-step wizard that walks you through creating a post in five stages. It is designed for users who prefer a structured flow rather than the standard free-form composer.Builder steps
The wizard displays a progress bar at the top showing your current position:Connect
Select which connected social account should receive the post. If you have not connected any accounts yet, a prompt links you to the connections page. After selecting an account, an account preview card shows the profile picture, name, username, and platform.
Platform
Choose the target platforms for your post. Each platform appears as a chip button — connected platforms are selectable while unconnected ones are greyed out. You can select multiple platforms to cross-post.
Media
Attach images or videos to your post. The media step offers two panels you can switch between:
- AI Generate — create images or videos using AI directly within the builder (see AI content generation)
- Library — browse and select existing assets from your media library
Caption
Write your post caption with AI assistance. The caption editor includes:
- AI Generate button — create a caption from scratch using AI
- Enhance button — polish an existing caption with AI
- A character counter showing usage against the 2,200 character limit
- Automatic RTL detection for Arabic text
- Tone presets — Professional, Casual, Funny, or Inspiring
- Length presets — Short, Medium, or Long
- Hashtags — add manually (up to 10) or use Auto # to generate hashtags from your caption with AI
Review
Review a summary of your post before taking action. The review panel shows:
- A post summary card with media thumbnail, caption preview, hashtags, platform badges, and account info
- A Schedule Post date/time picker with timezone support
- A Direct approve and schedule toggle that bypasses the approval workflow when scheduling
- Validation warnings for missing captions (required on all platforms except TikTok) and blocked terms
| Action | Description |
|---|---|
| Draft | Save the post as a draft to finish later |
| Approve | Submit the post for approval review |
| Schedule | Approve and schedule the post directly (when the direct schedule toggle is on) |
| Publish Now | Publish the post immediately to the selected account |
Managing drafts
When you save a post as a draft, it appears in the schedule calendar with a Draft status badge. From there you can:- Resume editing — click the draft on the calendar to open the post detail sheet, then choose to edit. The composer reopens with all your saved content, media, and account selections.
- Publish or schedule — open the draft and choose to publish immediately or schedule for a specific time.
- Delete — remove drafts you no longer need from the post detail sheet.
Editing existing posts
To edit a post that has not been published yet, open it from the schedule or the drafts list. The composer loads with the existing content, media, and platform selections so you can make changes. You can also open a post directly using a URL parameter: append?postId=<id> to the composer URL to load a specific post for editing. This is used internally when you click “Edit” from the calendar or drafts list.
Account preselection
When you navigate to the composer from a connected account card (for example, clicking “Create post” on the connections page), the account is automatically preselected in the composer. This works via the?social_account_id= URL parameter, so the composer opens ready to publish to that specific account.
Post actions
After composing your post, you can:- Publish now — send the post immediately to the selected account
- Schedule — pick a date and time for automatic publishing
- Save as draft — save your work and come back to it later
- Submit for approval — send the post for review before it is published (available on Professional and Enterprise plans). See approvals for details on the review workflow.
Auto-approve for scheduled posts
When scheduling a post, you can enable the Auto-approve toggle. This allows the post to bypass the approval workflow and publish automatically at the scheduled time without requiring manual review.Resolution hints
When composing for video-centric platforms (TikTok, Instagram Reels), the composer displays an inline resolution banner below the media area:- Before attaching a video — a recommendation banner shows the platform’s ideal resolution and aspect ratio (for example, “TikTok — Recommended: 1080x1920 (9:16)”).
- After attaching a video that meets requirements — a green banner confirms the resolution is valid (for example, “1080x1920 — meets TikTok requirements”).
- After attaching a video with issues — red banners appear for errors (file too large, below minimum resolution, wrong format) and amber banners for warnings (aspect ratio mismatch, below 720p).
Preflight checklist
When you view a post in the schedule calendar, a preflight checklist appears in the post detail sheet. Each item shows a color-coded status icon:| Item | Green check | Red X | Amber warning | Gray info |
|---|---|---|---|---|
| Caption | Caption is present | Caption required but missing | — | Caption is optional |
| Media | Media attached | Media required but missing | — | No media attached |
| Schedule | Schedule time set | Schedule mode active but no time set | — | — |
| Resolution | Video meets platform specs | Below minimum or wrong format | Below recommended (may appear blurry) | — |
Pre-publish validation
Before a post is sent, the composer runs platform-specific checks in order and blocks publishing on the first failure. Drafts skip all validation so you can save incomplete work at any time.| Error message | When it appears |
|---|---|
| ”Select an account before publishing” | No social account is selected |
| ”Add a caption or attach media before publishing” | Both caption and media are empty |
| ”Instagram requires an image or video — please attach media” | Publishing to Instagram with no media |
| ”Stories require an image or video” | Content type is Story but no media is attached |
| ”Reels require a video — please attach a video” | Content type is Reel but no media is attached |
| ”Reels require a video file — attached media is not a video” | Content type is Reel but attached media is an image |
| ”TikTok requires a video — please attach a video file” | Publishing to TikTok with no media |
| ”TikTok only supports video — the attached media is not a video” | Publishing to TikTok with an image instead of video |
| ”Remove blocked terms before publishing” | Your caption contains words from your workspace’s blocked terms list |
Blocked terms
If your workspace has a blocked terms list configured in the brand guidelines, the composer checks your caption against it before publishing. When a match is found, an amber warning appears below the review panel and the Approve, Schedule, and Publish Now buttons are disabled. To resolve this, edit your caption to remove or replace the flagged words. If a term was added to the blocked list by mistake, update the list in workspace settings under Brand guidelines.Video resolution reference
Each platform has specific video requirements. Use this reference when preparing video content:| Platform | Recommended resolution | Max file size | Max duration |
|---|---|---|---|
| TikTok | 1080 x 1920 | 4 GB | 10 min |
| Instagram Reels | 1080 x 1920 | 4 GB | 15 min |
| Instagram Feed | 1080 x 1350 | 4 GB | 60 min |
| 1080 x 1920 | 4 GB | 240 min | |
| 1920 x 1080 | 5 GB | 10 min | |
| X (Twitter) | 1920 x 1080 | 512 MB | 2 min 20 sec |
| Telegram | 1080 x 1920 | 2 GB | 60 min |
- Green — the video meets all requirements
- Amber — the video will work but is below the recommended resolution
- Red — the video does not meet minimum requirements and may fail to publish
TikTok advanced settings
When TikTok is selected as the publish target, an expandable TikTok Advanced panel appears with the following options:- Privacy level (required) — choose who can see the video: Public, Friends, Followers, or Only Me. The available options depend on your TikTok account settings.
- Interaction abilities — toggle whether viewers can Comment, Duet, or Stitch your video. Some options may be disabled by your account-level TikTok settings.
- Commercial content disclosure — enable this if your video is promotional. Sub-options include:
- Your brand — marks the video as promotional content
- Branded content — marks the video as a paid partnership. This option is not available when privacy is set to “Only Me.”
- Music usage consent (required) — acknowledge TikTok’s Music Usage Confirmation before publishing. If branded content is selected, the consent also covers TikTok’s Branded Content Policy.
TikTok settings validation
The composer blocks publishing to TikTok until all required settings are configured:| Requirement | What to do |
|---|---|
| Privacy level not selected | Choose a privacy level from the dropdown |
| Music usage consent not accepted | Check the consent checkbox |
| Disclosure enabled but no sub-option selected | Select at least one of “Your brand” or “Branded content” |
| Branded content with “Only Me” privacy | Change the privacy level — branded content cannot be private |
| Video exceeds maximum duration | Trim or replace the video to meet TikTok’s 10-minute limit |
Publishing errors
When a post fails to publish, the composer shows a structured error toast with three parts:- Title — a short summary of what went wrong
- Message — an actionable explanation with next steps
- Details — the failure stage, reason code, HTTP status, and a reference ID you can share with support
| Error title | Cause | What to do |
|---|---|---|
| Authentication issue | Your account token has expired or been revoked | Reconnect the account from connections |
| Permission issue | The account is missing required permissions | Reconnect and grant the requested permissions during OAuth |
| Media validation failed | The attached media does not meet platform requirements | Check the content types table and reattach valid media |
| Wrong media type | A video was expected but an image was provided, or vice versa | Attach the correct media type for the selected content type |
| Already published | This post was already sent to the platform | Create a new post if you need to publish the same content again |
| publish failed | A platform-specific error occurred during publishing | Check the error message for details and retry. If the error persists, contact support with the reference ID from the error details. |
TikTok publish status tracking
After publishing to TikTok, the composer shows real-time status updates while TikTok processes your video. The status automatically refreshes until the video goes live or a failure is reported.Post success animation
After you successfully publish or schedule a post, the composer displays an animated success overlay confirming the action. The overlay automatically dismisses after a few seconds, or you can tap it to close it immediately. This provides visual confirmation that your post was sent to the platform.Desktop and mobile layout
On desktop, the composer displays a split-pane layout: the editor on the left and a live preview panel on the right. The preview updates as you type and shows how your post looks on the selected platform with the correct aspect ratio. On mobile, the composer uses a single-column layout with a toggle rail to switch between the Editor and Preview views. Tap the toggle to flip between writing your content and previewing the result.Troubleshooting
'Select an account before publishing' error
'Select an account before publishing' error
You have not selected a destination account. Click the account picker at the top of the composer and choose at least one connected social account.
'Instagram requires an image or video' error
'Instagram requires an image or video' error
Instagram does not support text-only posts. Attach an image or video from the media library before publishing.
'Reels require a video file' error
'Reels require a video file' error
You have the content type set to Reel but attached an image instead of a video. Replace the media with a video file or change the content type to Feed.
Post saved as draft but won't publish
Post saved as draft but won't publish
Drafts skip validation intentionally so you can save incomplete work. When you are ready to publish, ensure all required fields are filled — at minimum a caption or media, and a selected account.
Video shows a red resolution badge
Video shows a red resolution badge
Your video does not meet the target platform’s minimum resolution. Check the video resolution table for requirements and re-export or replace the video.
Publishing failed with 'Already published'
Publishing failed with 'Already published'
This post was already sent to the platform. If you need to post the same content again, create a new post in the composer.
'TikTok only supports video' error
'TikTok only supports video' error
You attached an image to a TikTok post. TikTok only accepts video files. Replace the media with a video, or choose a different platform.
'Add a caption or attach media' error
'Add a caption or attach media' error
Both the caption and media fields are empty. Add at least a caption or attach media before publishing.
AI caption generation returned no results
AI caption generation returned no results
Make sure you have a description or title in the caption field before using AI Write. The AI needs some input text to generate a caption. If the error persists, try again — the AI service may have timed out temporarily.

