VibeDayAI-Powered Social Media Management

Topics

Seed the content pipeline with topic ideas. Add 10 by hand or 50 via AI Topic Designer; each becomes a generation when you hit Generate.

A topic is a recurring angle your brand wants to talk about — a post idea the AI can draft from, on demand or on a schedule. Your topics list is your content pipeline.

What a topic is

A topic in VibeDay holds:

  • Title — short, scan-able; e.g. "Why we built our own scheduler"
  • Description (optional) — the angle in 1–3 sentences
  • AI contextthis is the prompt. It's fed verbatim into every generation drawn from the topic, with nothing rewriting it in between, so it should read as direction to a producer rather than notes about a subject. AI-built pipelines write around 300 words here, including the production detail the format needs — visual direction for an image, the actual slide text for a carousel, shot-by-shot beats for a reel, the offer and objection for an ad. Thin context is the single biggest cause of weak generated content (fixed 2026-08-23: prompts used to be capped at "2–4 sentences" by instruction, which is where the thinness came from).
  • Tags — comma-separated; for filtering and grouping
  • Source URL (optional) — the article, post, or reference this topic is based on
  • Campaign (optional) — group this topic under a campaign
  • Brand (optional) — override the campaign's brand for this specific topic
  • Enabled — if false, the topic is paused and ineligible for drafting

VibeDay tracks generationCount per topic — how many drafts have come from it — so you can see which topics are pulling weight.

Format (which pillar a prompt is for) — added 2026-08-23

A topic is a prompt, and different formats need differently-shaped prompts: a carousel needs an argument that splits across slides, a reel needs a hook and beats, an ad needs an offer and an objection. So a topic now carries the format it was written for.

  • Building a pipeline (Topics → Generate batch with AI): choose what this pipeline should produce and how many of each — e.g. 20 image prompts and 5 carousel prompts on one theme. Each returned prompt is written for its format and tagged with it. Leave everything at zero for a general pipeline of single-post ideas, exactly as before.
  • A single topic: the Format field on the topic form. Optional — "General" is a valid answer when the idea suits any format.
  • On the list: the format shows as a pill, and the row's draft button follows it — a carousel topic offers Draft carousel rather than defaulting to an image. The dropdown still lets you override.
  • Existing topics keep working. Everything created before this stays "General" and behaves exactly as it did; nothing was relabelled with a guess.

Reels and Ads work differently — they hand off. Image, video and carousel topics draft straight from the list. Reel and ad topics open their own builder instead, carrying your prompt with them:

  • Reel topicsOpen in Reels, landing in the reel builder with the prompt already filled in. You still choose protagonist, quality tier and length — the things a one-click draft would have to guess, on a format that costs around 7 credits a render.
  • Ad topicsOpen in Ad Creative, where you pick the ad campaign the creative belongs to. (Prompt prefill comes once ads can resolve a campaign from a topic.)

The handoff link is never blocked by generation credits — opening a builder spends nothing, and the builder quotes its own cost before anything runs.

When to create a topic

Create a topic when you have a content angle you want to revisit — same topic, fresh framings each time. Think of it as a "content slot" that produces a new variant each generation.

If you have 50 ideas, batch them with the AI Topic Designer rather than entering them one by one.

Creating topics

Four paths:

1. Manual (/topics/new)

For when you've got one specific angle in mind and want full control over every field.

2. AI batch generator (/topics/batch)

Drafts a whole batch of distinct, non-redundant topics from one survey:

  1. Campaign + Brand (optional) — sets context
  2. Subject and angle — the most important field. This becomes the core of the AI prompt. The AI generates a diverse mix across the space you describe (educational / sales / story-driven / always-on) adapting to your campaign goal
  3. How many — slider, default 20

Click Let AI design my topics → blocking modal "Drafting your topic batch" with a progress arc, ~20–30 seconds. The modal closes and shows a review screen with all generated topics, all selected by default. Uncheck any you don't want, then Save selected to bulk-add them to your pipeline.

3. Bulk import (/topics/import)

For when you already have a list of topic ideas — from a previous tool, a brainstorming doc, or a spreadsheet. Two input modes:

Paste text — one topic per line. Plain titles work; for richer rows use tab-separated columns:

title<TAB>description<TAB>aiContext<TAB>tag1,tag2

Lines starting with # and blank lines are ignored. Up to 500 rows per import.

Upload CSV — drop a .csv file with a header row. Recognized columns (any order, case-insensitive):

Column Required Notes
title yes 3–300 chars
description no Up to 2000 chars
aiContext no Up to 4000 chars. Extra context fed into every AI prompt.
tags no Comma- or pipe-separated. Up to 12 tags.

Unknown columns are ignored with a warning. Standard CSV quoting works (quoted fields, doubled quotes inside quoted fields, commas inside quotes, CRLF line endings).

Importing from CSV

The wizard exposes a Download template button that hands you a starter file with the header row and three example topics. Open it in Excel, Numbers, or Google Sheets, fill in your topics, save as CSV, and upload.

A live preview pane shows parsed rows + per-row validation errors before you commit. Bad rows are flagged but don't block the rest of the import.

Defaults for the whole batch — pick a brand and/or campaign in the wizard and they apply to every imported topic. You can override per-topic afterward.

Duplicate handling — by default, rows whose title already exists in your workspace (case-insensitive) are skipped. Uncheck "Skip rows whose title already exists" to allow duplicates.

Each imported topic goes through the same NSFW moderation pipeline as topics created manually.

4. Per-row Generate Draft button

Not for creating topics — for drafting a post from an existing topic. See below.

The Topics list

/topics is your pipeline view. Two view modes:

  • List — flat list of every topic, ordered by created date (newest first)
  • Grouped by campaign — segments the list by campaign, each group is collapsible (click the chevron header to fold / unfold)

In grouped view, each campaign section header has a Focus link — click it to expand just that campaign and collapse the others. A banner appears at the top: "Focusing one campaign — others collapsed. Show all expanded →". Use this to switch focus between campaigns quickly without leaving the page.

When ?campaign=<id> is present in the URL:

  • List view: narrows the list to that campaign only (existing filter behavior).
  • Grouped view: focuses that campaign (expanded), other campaigns are still visible but collapsed.

Each row shows:

  • Title
  • Pipeline status pillUnused (grey, no generations yet) / Drafted (amber, has DRAFT generations) / Approved (green, at least one READY generation) / Published (violet, posted to at least one platform). Lets you see at a glance which topics are pulling weight and which are still sitting idle.
  • Campaign tag (in flat-list view; hidden in grouped view since the section header already shows it)
  • Description, tags, generation count
  • Last drafted — "Last drafted 2h ago" if the topic has been used; falls back to the original creation date if not.
  • Next — when the Scheduler has queued a post from this topic, "Next: in 3 days" (or absolute date for further out). Shipping with Sprint 4.
  • A per-row Generate draft button

Newly created topics land at the top of the list (whether they came from the manual form or the AI batch generator). Drag-to-reorder UI ships as a follow-up.

The Generate draft button

The Generate draft button at the end of each row is your fastest path from topic to post:

  • Green "Generate draft" — the topic is eligible. Click → blocking modal "Drafting your post" with progress arc, ~10–20 seconds → lands you on the generation detail page with the new draft.
  • Red "Can't draft" — the topic isn't eligible right now. Hover the ? next to it to see why (e.g. "Topic is disabled. Enable it to draft posts.")

Current eligibility rules:

  • Your workspace must be active (not suspended or pending deletion)
  • The topic must be enabled

Future rules (not yet active):

  • The topic hasn't already been published (Sprint 5+)
  • Your plan's monthly post limit isn't exhausted (Sprint 9+)

Editing a topic

Click the title to open the topic. You can edit any field; changes save when you click Save.

Enabling / disabling a topic

Each row has a toggle. Disabled topics:

  • Stay in the list (don't get hidden)
  • Show "Disabled" badge
  • Show red "Can't draft" instead of green Generate draft

Disable a topic when you want to pause it without deleting it — e.g. seasonal angles you'll re-enable later.

Deleting a topic

Hard delete from the row actions. This also deletes any generations linked to the topic, so be sure.

How the AI uses your topic

When you click Generate draft, the AI prompt is built from:

  1. Brand context (effective brand: topic > campaign > none) — voice persona, tone, tone adjectives, forbidden words
  2. Campaign context — name + brief, if the topic has a campaign
  3. Topic context — title, description, AI context
  4. Output format — captions for all three platforms (Instagram, Facebook, TikTok) + hashtags + optional CTA + an image prompt

The AI is instructed to write each platform caption in that platform's idiomatic style:

  • Instagram — warm, story-led, 80–200 words
  • Facebook — longer-form, conversational, 100–300 words
  • TikTok — short and punchy, 40–150 words, hook in line 1

Tips

  • Specificity in, quality out. "Why we built our own scheduler instead of using Buffer" generates better posts than "Our scheduler."
  • Use AI context for stats and details. Drop in numbers, customer quotes, technical specifics — the AI will use them when they fit naturally.
  • Tag aggressively. Tags are how you slice the pipeline later: by content type, by audience, by funnel stage.
  • Let topics breathe between drafts. Each generation pulls from the same topic but produces a different angle — try drafting the same topic two or three times to see the range.

Call to action

Every topic can carry a call to action — one line, used word-for-word on every post generated from it:

Start your free trial today at vibeday.com

Set it on the topic itself, or once for a whole AI-designed batch and it's saved onto every topic that run produces. Leave it blank and the AI writes one to suit each piece, which is the default.

It's deliberately used exactly as you type it. A CTA is a business decision, and an AI asked to write one afresh each time will reword it — "Start your free trial today at vibeday.com" quietly becomes "Try VibeDay free" on the next post. Yours doesn't drift.

It lands on the generated post as the post's CTA, gets appended to the caption when it publishes, and you can still override it on a single post, or per platform, from the post itself.

Not to be confused with tags. Tags are short labels — spring, lawn-care, smb — for scanning your own list. They don't appear in your content.


Still stuck?

Email support@vibeday.com with what you're trying to do and a screenshot if it helps — we'll write back within one business day.