Bulk import posts from a CSV
-
Go to Publish and select Import.
-
Select Download template to get a CSV with the right headings. Fill it in with Excel, Numbers or Google Sheets and save it as CSV.
-
Back in Import posts from CSV, choose the Brand, the Timezone your dates are in, and whether to import as Drafts or Scheduled.
-
Upload the file. The preview shows how many rows are ready (for example 48 of 50 rows ready) and what’s wrong with the others.
-
Select Import as drafts or Schedule posts.
Past imports are listed under Recent imports. One file can hold up to 500 rows.
Columns
Section titled “Columns”The first row must contain the column names. Columns you don’t recognise are ignored, with a warning.
Required
Section titled “Required”| Column | What to put in it |
|---|---|
date | The day, as YYYY-MM-DD, for example 2026-11-03. |
time | 24-hour time, HH:mm, for example 14:30, in the timezone you chose. |
channels | Which channels to post to: the channel’s name, @handle or ID. Separate several with , ; or |. |
content | The post text. Can be empty if you add media_urls. |
Optional
Section titled “Optional”| Column | What to put in it |
|---|---|
media_urls | Links to images or videos (starting with http or https), separated by commas. |
tags | Tag names, separated by commas. A leading # is removed. |
post_type | Instagram: post or story. Facebook: post, story or reel. X: post or article. |
comments | First comments or thread posts. Separate several with |||. |
signature | The start of one of your saved signatures (or its ID) to add at the end. |
ai_generated | true, yes or 1 to add the AI-generated label. |
publish_via | api (publish automatically) or reminder (remind me to post). |
alt_text | Alt text for each media item, in the same order, separated by |. |