Skip to main content
Moving from another tool, or planning a month at once? Put your posts in a spreadsheet, save it as a CSV and import it. One file holds up to 500 posts.
Bulk scheduling is on the Pro and Business plans, and in the 14-day trial. On Free the import runs, but saving the posts fails with “Please upgrade your plan.” Only the workspace owner and admins can import a CSV.

Set up your file

The first row holds the column names. You need two columns: Date and Message. Spell them exactly like that. PublishBuddy ignores any other column. PublishBuddy reads the times in your own time zone. To check it, click your avatar, choose Settings and look at Timezone. Don’t add a time zone to the dates in the file. Here’s a small file you can copy:
Wrap a cell in double quotes when it contains a comma, like the two media links on the last row.
Most spreadsheet apps can export a CSV. Save it as CSV UTF-8 and keep it under 5 MB. The file name must end in .csv.

Import it

1

Open the composer

Click New Post at the top of the app. The Create Post window opens.
2

Open the bulk menu

Click the layers icon next to the post type. It has no label. Choose Import CSV.
3

Add your file

Drop the file into the box, or click Browse file. Check the preview. It shows Detected rows: and Detected columns:, with a tick next to Date and Message if both are there.
4

Click Import

You’ll see “CSV import started. Posts will appear once processing finishes.” You can keep working in the meantime.
5

Open the notification

When it’s done, the bell at the top of the app shows “Your CSV posts are ready to review”. Click it. The composer opens with one card per row.
6

Pick your accounts

Choose the social accounts at the top of the composer. Every post from the file goes to every account you pick.
7

Schedule or queue them

PublishBuddy hasn’t saved anything yet. Pick how the whole batch goes out:
  • To keep the dates from your file, click the arrow next to Add to Queue and choose Schedule. Every post then needs a date.
  • To put every post in the queue, click Add to Queue. This ignores the dates in your file. See Set up your posting queue.
  • Not ready to post? Save as Draft keeps them for later.
You’ll see “Post(s) created successfully.” when they’re in.
Your choice in the last step applies to every post in the batch, whatever each card says. Want some posts on fixed dates and the rest in the queue? Import them as two files.

If something goes wrong

The notification tells you how many rows PublishBuddy skipped, but not which ones. It skips a row when:
  • the date isn’t in a format it can read
  • a field is too long, or the link isn’t valid
  • the row has more than 8 media links
  • the row has no message, link or media at all
Fix those rows and import them again.
PublishBuddy downloads each media link during the import. If a link fails, it drops that file without a warning. Check every card for its media before you save. Links must open the file itself to anyone, without a login.
The full message is The CSV must include a "Date" column in the first row. (or “Message”). Check the spelling in your first row. Spaces around a name are fine.
Save the file again and choose UTF-8 as the encoding. Most spreadsheet apps offer “CSV UTF-8” as a format.
The preview shows “exceeds 500 row limit”. If you import anyway, it stops with “The CSV must not contain more than 500 data rows.” Split the file in two.
You chose Schedule but at least one post has no date. Add the missing dates on the cards, or click Add to Queue instead.

No spreadsheet? Upload media instead

Got a folder of images or videos and want one post per file? Open the same bulk menu and choose Upload Media. Each file you upload becomes its own post card. Write the text on each card, then schedule or queue them like above.