How to Bulk Upload Posts in Publlish

Learn how to use Publlish's bulk upload feature to schedule multiple social media posts at once using a CSV file. Includes the CSV template, field formatting guide, and troubleshooting tips.

Share

If you're loading a full month of content, migrating from another tool, or setting up a campaign with dozens of posts, creating them one by one in the composer is painfully slow. Publlish's bulk upload feature lets you prepare your content in a spreadsheet and import all of it in one go.

This guide covers how to format your CSV, what fields are supported, and how to troubleshoot common upload issues.


When to Use Bulk Upload

Bulk upload is ideal for:

  • Loading a full month or quarter of content at once
  • Migrating scheduled posts from another social media tool
  • Setting up a large campaign with many posts across multiple channels
  • Repurposing an existing content library into a new posting schedule

For day-to-day content creation, the composer is faster. Bulk upload is for volume.


Step 1 — Download the Publlish CSV Template

Publlish requires a specific CSV format. Start with the template rather than building your own from scratch to avoid formatting errors.

  1. Go to Queue or Calendar in your Publlish dashboard
  2. Look for the Bulk Upload or Import Posts option
  3. Download the CSV template
  4. Open it in Google Sheets, Excel, or any spreadsheet tool

Step 2 — Fill In Your Content

The CSV template has the following columns:

Column Required Description
channel ✅ Yes The name or handle of the connected channel to post to
date ✅ Yes Scheduled publish date — format: YYYY-MM-DD
time ✅ Yes Scheduled publish time — format: HH:MM (24-hour)
timezone ✅ Yes Your timezone — e.g. America/New_York, Europe/London, Asia/Kolkata
caption ✅ Yes The post caption text
media_url ❌ Optional A publicly accessible URL to the image or video
tags ❌ Optional Comma-separated tag names (must already exist in Publlish)
link ❌ Optional A URL to include in the post (for platforms that support link posts)

Step 3 — Formatting Rules to Follow

Dates and times

  • Use YYYY-MM-DD format for dates (e.g. 2024-11-15)
  • Use 24-hour format for times (e.g. 14:30 for 2:30 PM)
  • All times are interpreted in the timezone column you specify

Captions

  • If your caption contains commas, wrap the entire caption in double quotes: "Here's our new product, launching today!"
  • Line breaks within a caption: use \n to represent a new line in the CSV
  • Emojis are supported — paste them directly into the cell

Channel names

  • Use the exact channel name as it appears in your Publlish Channels list
  • If you're uploading posts for multiple channels, list each post on its own row — one row per post per channel

Media URLs

  • URLs must be publicly accessible (not behind a login or requiring authentication)
  • Supported formats: JPG, PNG for images; MP4 for videos
  • If you're using Google Drive or Dropbox links, make sure sharing is set to "Anyone with the link"

Tags

  • Tags must already exist in Publlish before you upload — bulk upload won't create new tags
  • Use exact tag names, comma-separated: Q4 Campaign, Reels, Product

Step 4 — Upload Your CSV

  1. Save your spreadsheet as a .csv file (File → Download → CSV in Google Sheets)
  2. Go to Queue → Bulk Upload in Publlish
  3. Select or drag and drop your CSV file
  4. Publlish will validate the file and show a preview of the posts to be imported
  5. Review the preview — check that dates, channels, and captions look correct
  6. Click Import to schedule all posts

What Happens After Import

  • All valid posts are added to your queue at their scheduled times
  • Posts with errors (invalid channel name, wrong date format, missing required field) will be flagged — fix those rows and re-upload just the problematic ones
  • Your existing queue is not affected — bulk uploaded posts are added to it, not replacing it

Troubleshooting Bulk Upload Issues

"Channel not found" error The channel name in your CSV doesn't match exactly what's in Publlish. Go to Channels and copy the exact channel name, then update your CSV.

"Invalid date format" Make sure dates are in YYYY-MM-DD format. Common mistake: MM/DD/YYYY (US format) — this won't work.

"Media URL not accessible" The media URL either requires a login to access, or the file sharing permissions are restricted. Make the URL publicly accessible and try again.

Posts importing to the wrong timezone Check the timezone column in your CSV. Use IANA timezone names (e.g. Asia/Kolkata, not IST). A full list of valid timezone names is available at en.wikipedia.org/wiki/List_of_tz_database_time_zones

Some rows imported successfully but others didn't Publlish imports valid rows and skips invalid ones. Check the error report after import for the specific rows that failed and the reason for each failure.


Bulk Upload Limits

The number of posts you can import in a single bulk upload and the total scheduled posts allowed depends on your plan. See scheduling limits →


Frequently Asked Questions

Can I bulk upload videos as well as images? Yes — include the video file URL in the media_url column. The URL must be publicly accessible and link directly to an MP4 file.

Can I upload posts for multiple channels in the same CSV? Yes — use a separate row for each post/channel combination. A post going to both Instagram and TikTok would be two rows, one per channel.

What if I make a mistake in the CSV after importing? Posts are editable after import. Go to your Queue, find the posts, and edit them individually. For large errors across many posts, it may be faster to delete the affected posts in bulk and re-import a corrected CSV. Deleting posts in bulk →

Is there a limit to how many posts I can import at once? Yes — limits depend on your plan. See plan limits →

Can I use bulk upload to migrate from another tool? Yes — export your scheduled posts from your old tool as a CSV, reformat to match Publlish's template, and import. Migration guide →


More in Creating Posts

All Creating Posts articles →  ·  Help Center home