Skip to content
Tools Bulk Post
Bulk publishingAutomationMedia management

Bulk schedule social media posts with CSV and Google Sheets

Upload a CSV, let Postly validate your rows, and automate publishing across your channels. Posts can be scheduled with a valid due_date.

Sample URLs shown below

Any URLs showcased on this page are sample examples for formatting and validation guidance only. They are not real customer URLs, not guaranteed live assets, and should not be treated as production links.

Best choice: Postly Cloud
For bulk publishing and media management in general, Postly Cloud is the best option.
Scheduling tip
Use a valid scheduled due_date to queue a post.
Motion: enabled
Bulk publishing
Postly Bulk Post Video Demo

Upload a CSV, validate your rows, and automate bulk publishing across your channels.

New + advanced

Want a more powerful bulk workflow?

Try Google Sheets Bulk Publishing — it's the advanced mode for managing large content plans.

Postly dashboard – Bulk Post upload and validation
Postly validates your upload and highlights issues so you can fix them quickly.
Guide

Bulk Post guide

Prepare a CSV, give each destination the right copy, review platform and media validation, then publish or schedule the valid rows.

CSV rules
  • Use the official template with the first row as headers.
  • Do not rename or reorder headers.
  • You can delete columns you do not need, but keep the header row intact.
Scheduling
  • Use due_date to control when each row should publish.
  • Posts publish on the specified date and time.
  • ISO-like formats are the safest option for consistent scheduling.
Threads stands on its own

Put instagram,threads in the platforms column. Keep your shared caption in text, then add a Threads-specific version in threads_text. If the override is blank, Threads uses the shared text.

The preview validates the effective Threads copy against its 500-character limit. The same override pattern is available for every supported destination, such as instagram_text, discord_text, and ghost_text.

Review and fix before publishing
  • Postly checks character and hashtag limits for every selected platform.
  • Use the AI action on a flagged row to create shorter platform-specific copy while preserving the shared version.
  • Image URLs are checked for access and platform compatibility; supported image issues can be auto-fixed and saved to Postly Cloud.
  • Video issues are flagged with the platform requirement so you can replace the source file.

Bulk publishing supports Facebook, Instagram, Threads, X, LinkedIn, Google Business Profile, Pinterest, YouTube, TikTok, Bluesky, Telegram, Discord, WhatsApp, WordPress, Ghost, Hashnode, DEV Community, and Blogger.

Guide

Media URL examples

Use direct/public URLs. Avoid private or permission-gated sources such as Google Drive, and similar services.

Video URLs that work
  • https://www.youtube.com/watch?v=dQw4w9WgXcQ
  • https://youtu.be/dQw4w9WgXcQ
  • https://vimeo.com/76979871
  • https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4
  • https://cloud.postly.ai/media/your-video.mp4
Video URLs to avoid
  • https://youtube.com/shorts/XXXXXXXXXXX
  • https://drive.google.com/file/d/FILE_ID/view?usp=share_link
Image URLs that work
  • https://upload.wikimedia.org/wikipedia/commons/9/9a/Gull_portrait_ca_usa.jpg
  • https://cloud.postly.ai/media/your-image.jpg
  • https://static.cdn.example.com/banner-v3.png
Image URLs to avoid
  • https://www.instagram.com/p/XXXXXXXXX/
  • https://photos.google.com/share/XXXX
  • data:image/png;base64,iVBORw0K...
Need help? Visit Help docs or open your dashboard.