Composer
The Composer is where you turn one piece of content into many platform-specific posts. Open it from Composer in the top navigation. The page has three columns: Source (left), Channel Picker (middle), and Variants (right).
Screenshot pending
/help/composer/open_composer_menu.png
Workspace sidebar with the Composer menu item highlighted
See docs/testing/help-screenshot-manifest.md for capture instructions.
Screenshot pending
/help/composer/composer_three_column_layout.png
Composer page showing the three-column layout: Source panel on the left, Channel Picker in the middle, Variants editor on the right
See docs/testing/help-screenshot-manifest.md for capture instructions.
Compose your first promotion — step by step
Open the Composer
Pick a source type
Select channels
Generate variants
Review, edit, resolve rule warnings
Publish, schedule, or save as draft
1 · Source panel (left column)
Choose between two source types using the radio buttons at the top of the left panel:
- Text — Paste or type your content directly. There is no hard character limit on the source; AI Boost Post shortens and adapts it for each platform automatically.
- URL — Paste a link (tweet, blog post, YouTube video). AI Boost Post fetches the title, description, and Open Graph image, then uses them as source material for all variants.
The draft auto-saves every 30 seconds. You can always leave and come back — find it again in Promotions filtered to Draft status.
Screenshot pending
/help/composer/pick_source_type.png
Composer left panel with the Text/URL radio buttons at the top, Text selected, and example content pasted in the textarea below
See docs/testing/help-screenshot-manifest.md for capture instructions.
2 · Channel picker (middle column)
Select where your promotion will be posted. Three ways to pick channels:
A · Pick manually
Type in the search box to filter your channel catalog. Check the box next to each channel you want to target. Favourite channels appear at the top.
B · Apply an Audience Template
Click the Templates dropdown and select a saved template. All channels in that template are added to your selection at once. You can then add or remove individual channels.
C · Suggest channels (AI)
Click Suggest channels. Claude reads your source content, infers the niche, and recommends up to 10 channels from your catalog (plus admin-curated recommendations). Each suggestion comes with a one-sentence rationale. Click a suggestion to add it to your selection.
Screenshot pending
/help/composer/channel_picker_with_selections.png
Middle column showing the channel catalog with several channels checked, a search box at the top, and the Templates dropdown and Suggest channels button visible
See docs/testing/help-screenshot-manifest.md for capture instructions.
Screenshot pending
/help/composer/suggest_channels_drawer.png
Suggest channels drawer or panel listing 5-10 AI-recommended channels each with a one-line rationale and an add button
See docs/testing/help-screenshot-manifest.md for capture instructions.
3 · Variant editor (right column)
Once you have selected at least one channel, click Generate variants. Claude produces a channel-specific version of your content for each target — adjusting tone, length, hashtags, and format (e.g., a discussion question for Reddit, a concise toot for Mastodon, a markdown article for Hashnode).
Each variant card in the right column shows:
- Channel name with a colour-coded connector dot.
- Adapted text — click anywhere on the card to expand and read it.
- Character counter — turns red if the content exceeds the platform limit.
- Rule warnings — yellow ⚠ (advisory) or red ❌ (hard block). See below.
- Regenerate — discards the current variant and asks Claude for a new one.
- Edit — lets you type your own override. Your edits are preserved if you regenerate other channels.
- Skip — exclude this channel from the current promotion without removing it from your selection.
Screenshot pending
/help/composer/variants_editor_populated.png
Right column showing multiple variant cards for different channels, each with a channel name badge, adapted text preview, character counter, and per-card Regenerate/Edit/Skip buttons
See docs/testing/help-screenshot-manifest.md for capture instructions.
Screenshot pending
/help/composer/variant_expanded_editing.png
A single variant card expanded to full editing mode with the adapted text visible in a textarea and Save/Cancel buttons
See docs/testing/help-screenshot-manifest.md for capture instructions.
Targeting rules (rule checker)
While you compose, targeting rules run automatically against each variant and flag issues inline:
- ✅ Passed — no issues detected.
- ⚠ Warning — advisory notice. You can still publish, but the post may underperform. Example: "r/SaaS posts perform better as discussion questions — add a question mark."
- ❌ Hard block — the Publish button is disabled for this channel until you fix the issue. Example: "Bluesky posts cannot exceed 300 characters."
Hard blocks are also re-checked at execution time (even if you manage to bypass the compose-time check) as a defence-in-depth measure.
Screenshot pending
/help/composer/rule_warning_inline.png
A variant card with a yellow warning banner reading a rule violation message and a red hard-block banner on a different card
See docs/testing/help-screenshot-manifest.md for capture instructions.
Publishing and scheduling
The sticky Publish bar at the bottom of the page has three actions:
| Save draft | Saves without publishing. The promotion appears in Promotions with Draft status. |
| Schedule | Opens a dialog to set a date, time, and optional recurrence (daily, weekly, monthly). The promotion will post automatically at the chosen time in your workspace timezone. |
| Publish now | Posts to all selected channels immediately. The button is disabled if any channel has an unresolved hard block. |
Screenshot pending
/help/composer/publish_bar.png
Sticky bottom bar showing three buttons: Save draft, Schedule, and Publish now; Publish now is the primary emphasized action
See docs/testing/help-screenshot-manifest.md for capture instructions.
Screenshot pending
/help/composer/schedule_dialog.png
Schedule dialog with a date picker, time picker, timezone label showing workspace timezone, and an optional recurrence dropdown
See docs/testing/help-screenshot-manifest.md for capture instructions.
Attaching a hero image or video
Below the source text field, the Hero media input takes an https:// URL to a single image OR video. The composer auto-detects which it is by file extension (mp4, webm, mov, m4v → video; everything else → image).
One-off promotions use a single hero slot (not separate image + video like Automatic Mode). If you need both an image AND a video on the same promotion, create an Automation instead — see HelpScheduling.
What each channel does with the attached media depends on its platform:
- Image attached — shown inline as embedded media on Telegram, Discord, Bluesky, Mastodon, Threads, Reddit, Tumblr, Pixelfed, and as the featured/cover image on Dev.to, Hashnode, Ghost, WordPress, LinkedIn.
- Video attached — shown inline on Telegram, Discord, Bluesky, Mastodon, Threads, Reddit, Tumblr. Shipped as a "▶ Watch video" link block on email connectors (Brevo, Resend, AWeber, Beehiiv, Buttondown, MailerSend, Mailtrap, SendPulse).
- Silently dropped on platforms that don't support that media type — see the channel picker warning icons.
Channel picker warnings when your media won't appear
When you attach a hero image or video, the channel picker adds a small amber warning icon next to any channel whose platform can't render that media type.
- Video-not-supported icon (crossed-out video camera) — appears when your hero is a video and the channel's platform is one of: LinkedIn, Lemmy, Pixelfed, Dev.to, Hashnode, Ghost, WordPress, Medium, WriteFreely, Discourse, Mixcloud.
- Image-not-supported icon (crossed-out picture) — appears when your hero is an image and the channel's platform is Medium, WriteFreely, or Discourse (no inline image support).
Hover the icon for a tooltip explanation. These are informational only — they do NOT block publishing. You may legitimately fire to a mixed set (video to Telegram + text to Medium in one promotion). See HelpChannels for the full capability matrix.
Video + text-format email — a hard block
If you attach a video hero AND have an email channel selected AND the email format is set to Text (not HTML), the composer shows a red banner at the top and disables the Publish + Schedule buttons.
Why: plain-text emails can't render a click-through video card — recipients would only see the raw video URL. Two ways to unblock:
- Switch the email format to HTML in the Source panel. The HTML variant embeds a proper "▶ Watch video" card that recipients can click through.
- Remove the video attachment. The email ships text-only.
Editing an existing draft
Any change you make in the composer — source text, source URL, hero media, CTA fields, channel selection — is auto-synced to the server BEFORE any action button runs (Generate variants, Save draft, Schedule, Publish now).
This means you can edit and act in the same step without worrying about "did I save first?". It also fixes a class of bugs where a stale draft would be used by Generate/Schedule even after you'd visibly changed the text — the sync now runs on every action.