# Social Media Scheduling

_Marketing & Campaigns_

Plan, schedule, and publish posts across your social media accounts. Upload your own image or video, or let the composer generate the post image (Stability AI) or an avatar video (HeyGen) for you — no separate design tool needed.

## Steps
1. Go to Marketing from the sidebar (requires Marketing suite).
2. Click "+ New Post" to compose a social media post.
3. Select target platforms (Facebook, Instagram, Threads, X/Twitter, LinkedIn, YouTube).
4. In Content, pick a tab: Text, Image, or Video.
5. Image tab → choose "⬆️ Upload" to attach your own file, or "✨ Generate with AI" to create one from a text prompt + style preset (Stability AI). Either way, the image is stored and attaches to the post.
6. Video tab → "From Studio" reuses a finished Video Studio render, "Upload" attaches your own file, or "✨ Generate new" builds an avatar video inline: type a script (or reuse the caption), pick an avatar + voice, choose aspect ratios, and Generate. When the render finishes it switches to the From Studio picker so you can confirm and post. However you attach it, the video is stored and attaches to the post.
7. When Instagram or Facebook is selected and the post has media, a Format section appears: choose "Feed post" (or "Reel / Feed" for video) to publish normally, or "Story" to publish to Stories on Instagram and Facebook. Other selected platforms are unaffected by the format choice and publish normally.
8. Set the publish date/time, or click "Post now" to publish immediately.
9. Review the content calendar for a visual overview of scheduled posts.
10. The Social tab is a board: one column per connected network (Facebook, Instagram, X/Twitter, LinkedIn, YouTube) plus a Scheduled column, so you can see what's queued for each account at a glance. Each card shows a thumbnail preview of the attached image or video, per-platform publish status, and engagement once published. A post targeting multiple platforms appears in every one of its platform columns. Click "＋ New" at the top of any column to open the composer with that platform pre-selected.
11. From a card, a Draft or Failed post shows an "Edit" button plus a "Publish now" button to send it right away and a "Delete" button that is always available. A Failed post also shows the failure reason inline so you know what to fix before retrying.
12. Edit opens the composer prefilled with that post's caption, media, target platforms, and schedule — change whatever needs fixing and save to update the same post (it stays the same card, not a duplicate). A published post has no Edit button: it's already live on the network, so there's nothing in CRMown to update — go edit it natively on the platform if needed.

## Tips
- Evergreen recycling automatically re-posts high-performing content.
- AI can help generate post captions and hashtags (✨ AI Draft on the Text tab).
- Fixing a Failed post: click Edit, address whatever the inline failure reason calls out (e.g. "Instagram requires at least one image" → attach an image on the Image tab), Save, then Publish now.
- Instagram requires an image or video — a text-only post to Instagram is blocked in the composer, since Instagram does not support text-only posts.
- Facebook and Instagram both publish video. On Instagram, a feed video posts as a Reel — it can take roughly 30–60 seconds to process after publish before it shows up on the account, so don't assume it failed if it isn't visible immediately.
- Stories (Format → Story): publish to Instagram and Facebook Stories with an image or video. Stories disappear after 24 hours and have no shareable link, so the board card won't show a "view post" link. Stories don't display caption text on either platform — the media stands alone (put any text in the image/video itself). Text-only Stories aren't supported.
- Threads: connect it under Settings → Integrations → Threads (its own sign-in — separate from Instagram, even though both are Meta). Threads posts support text and one image, up to 500 characters; video posts to Threads aren't supported yet, so the Threads chip is disabled on the Video tab.
- RingCentral: if your business already runs on RingCentral phones, connect it under Settings → Integrations → RingCentral. Inbound SMS syncs into the unified inbox, calls are logged against the matching contact automatically, and every contact with a phone number gets a "📞 Call" button — clicking it rings YOUR RingCentral phone first, then connects the contact (RingOut). Outbound SMS still sends via your CRMown/Twilio number.
- Upload limits: images up to 15 MB, video up to 100 MB. Common formats work — JPG, PNG, GIF, and WebP for images; MP4 and MOV for video.
- Each platform must be connected under Settings → Integrations with publishing permission before it can post. Instagram publishing additionally requires the connected Meta app to have completed Meta App Review for the instagram_content_publish permission — without it, Instagram posts fail even though the account shows as connected.
- AI image generation (Stability AI) is plan-gated per month: Starter 10, Pro 50, Max 200. Each generation counts once. Style presets include photographic, digital-art, cinematic, 3d-model, fantasy-art, neon-punk, isometric, line-art, and enhance.
- AI image vs upload: both are hosted and save with the post — an AI-generated image is created from a prompt, a local upload is your own file. Either way it persists and attaches when the post publishes.
- AI avatar video (HeyGen) consumes video credits — one credit per aspect ratio rendered (16:9, 9:16, 1:1, 4:5). Renders are asynchronous and can take a few minutes; the composer polls and switches to From Studio when ready.
- Bring your own HeyGen key under Marketing → Integrations to render without drawing down platform video credits. Without a configured key, the avatar/voice pickers fall back to defaults.
- For YouTube specifically, the From Studio render path is the most reliable for video; direct file uploads through the composer are best-effort.

## Example
On a Sunday evening, a SaaS marketer schedules 12 LinkedIn posts and 8 X threads for the week. For three of them she has no artwork, so she switches the Image tab to "✨ Generate with AI", types a prompt, picks the photographic preset, and drops the result straight into each post. For the product-launch post she uses the Video tab to generate a 9:16 + 16:9 avatar video from her caption — two credits — then schedules everything. CRMown stages them, fires each at the configured slot, and recycles the 3 highest-engagement posts back into the queue 90 days later automatically.

## Troubleshooting
- **Social posts not publishing** — Social account OAuth token expired, or the platform rejected the post (e.g., image too large for Twitter). Fix: Settings > Integrations > reconnect the social account. Check the post error detail for platform-specific reasons. Resize images under 5 MB.
- **A post is stuck as Failed on the Social board** — The reason is shown inline on the card (expired token, missing permission, platform rejection, e.g. "Instagram requires at least one image", etc.). Fix: If the fix is account-side (e.g., expired token), reconnect under Settings → Integrations, then click "Publish now" on that card to retry. If the fix is content-side (e.g., missing image), click "Edit" on the card to reopen the composer prefilled with the post, make the fix, save, then click "Publish now".
- **Instagram post is blocked in the composer** — Instagram does not accept text-only posts — an image or video is required. Fix: Attach an image or video before selecting Instagram as a target platform. For an already-Failed post, use Edit on its card to reopen the composer, attach the image, and save.
- **My video posted as text-only on Facebook / didn't appear on Instagram** — Older behavior before media upload shipped, OR the file exceeded the size limit or wasn't actually uploaded. Fix: Re-create the post and upload the image/video in the composer; keep video under 100 MB. For Instagram, video posts as a Reel and takes a moment to process — give it 30–60 seconds before assuming it failed.
- **AI image generation says limit reached** — The org hit its monthly image-generation cap (Starter 10 / Pro 50 / Max 200). Fix: Wait for the monthly reset or upgrade the plan for a higher cap.
- **AI video generation says "not enough credits"** — Each aspect ratio costs one video credit and the org is out (plan allotment + any boosts exhausted). Fix: Render fewer aspect ratios, buy a video credit boost, upgrade the plan, or connect your own HeyGen key under Marketing → Integrations (BYOK skips platform credits).
- **Avatar/voice dropdowns are empty in the video generator** — No HeyGen API key is configured for the org. Fix: Add a HeyGen key under Marketing → Integrations. Generation still works with built-in defaults if you leave them blank.

## Error messages
- `Social auth expired` — Reconnect the social platform in Settings > Integrations.
- `Image generation limit reached` — Monthly Stability AI image cap hit for the plan (Starter 10 / Pro 50 / Max 200). Reset monthly or upgrade.
- `insufficient_credits` — Out of video credits for the requested HeyGen render. Reduce aspect ratios, add a boost, upgrade, or use a BYOK HeyGen key.

## Plans
Marketing suite required. AI image generation (Stability) is metered monthly per plan. AI avatar video (HeyGen) is metered in video credits per aspect ratio; BYOK HeyGen key under Marketing → Integrations bypasses platform credits.
