logo
Schedulin

Bulk upload

For batch content (a month of quotes, a backlog of clips, a content calendar export), bulk upload lets you schedule many posts from a single CSV.

CSV format

The CSV needs these columns. Headers are case-insensitive.

ColumnRequiredNotes
channelYesChannel name as shown in Schedulin (e.g. Instagram - Acme). Comma-separate for multi-channel posts.
captionYesPost text. Wrap in quotes if it contains commas or line breaks.
media_urlNoPublic URL of an image or video. Comma-separate for carousels.
scheduled_atNoISO 8601 timestamp. If empty, the post is added to the queue.
placementNoFor Instagram: feed, reel, or story. Default: reel for video, feed for image.

A blank scheduled_at adds the post to the queue and lets your channel's posting schedule place it.

How to upload

  1. Open Create → Bulk upload.
  2. Drop in your CSV.
  3. Schedulin previews each row and flags errors (missing channels, invalid URLs, captions over the character limit).
  4. Fix any errors and confirm. The posts are created as drafts you can review before they publish.

Limits

  • 500 rows per CSV.
  • 25MB per media URL — larger files fail to import.
  • Bulk-uploaded posts count against your plan's monthly post limit.

Tips

  • For large media, use a CDN URL (S3, Bunny, Cloudflare R2) rather than a personal cloud share link, which often requires auth.
  • If your CSV has a lot of carousels, double-check that each media_url cell uses commas (not semicolons) between URLs.
  • Save your first successful CSV as a template — most teams settle on a fixed schema and reuse it.

See also