How to Bulk Upload Posts in UniLink Social Planner (Schedule Weeks of Content at Once)

By UniLink May 02, 2026 10 min read
How to Bulk Upload Posts in UniLink Social Planner (Schedule Weeks of Content at Once)


How to Bulk Upload Posts in UniLink Social Planner (Schedule Weeks of Content at Once)

Stop creating posts one by one. UniLink's bulk upload lets you prepare a spreadsheet with captions, dates, and platform targets, then upload it to schedule weeks of content in one go.

TL;DR: Prepare a CSV file with columns for caption, schedule date, schedule time, target platforms, and optional image URL. Go to Social Planner → Bulk Upload → upload your CSV → review the preview table → click "Schedule All." Posts are queued and publish automatically at the times you set.

If you manage content for multiple clients, run a high-volume publishing schedule, or simply want to batch a full month of posts in one sitting, uploading posts one at a time through the composer is a painful bottleneck. UniLink's bulk upload feature lets you prepare all your content in a spreadsheet, upload it as a single CSV file, and schedule dozens or hundreds of posts simultaneously. This guide walks you through the exact CSV format, how to link images, and what to do when the upload throws errors.

What Bulk Upload Does

Bulk upload is a CSV-based import tool inside Social Planner. You create a spreadsheet where each row is one post. Each row specifies the caption text, the exact date and time the post should go live, which platforms it should publish to, and optionally the URL of a media file to attach. When you upload the CSV, UniLink parses every row, displays a preview table for you to review, and then queues all valid rows as scheduled posts.

The bulk upload does not bypass the per-platform rules that apply to individual posts. If a row targets Instagram with a video URL, that video still needs to meet Instagram's format requirements. If a caption exceeds Twitter/X's 280-character limit, that row will show a validation error in the preview step. You review and fix errors before committing the schedule, which means you catch problems before any posts go out, not after.

Posts created via bulk upload appear in the Social Planner queue and calendar exactly like posts created manually through the composer. You can edit, reschedule, or cancel any individual post after importing it.

How to Get Started With Bulk Upload

  1. Download the CSV template — In Social Planner, click "Bulk Upload" and then "Download Template." This gives you a pre-formatted spreadsheet with all required column headers already in place.
  2. Fill in the required columns — Open the template in Excel, Google Sheets, or any spreadsheet app. Each row represents one post. The required columns are: caption, date (YYYY-MM-DD format), time (HH:MM in 24-hour format), and platforms (comma-separated platform codes, e.g., instagram,facebook,linkedin).
  3. Add media links — In the media_url column, paste a publicly accessible direct URL to your image or video file. Files hosted in cloud storage (Google Drive with link sharing enabled, Dropbox with direct link, or your own CDN) work fine. The URL must link directly to the file, not to a web page.
  4. Add optional per-platform captions — If you want a different caption for specific platforms, use the optional columns caption_twitter, caption_linkedin, etc. Leave them blank to use the main caption column for all platforms.
  5. Save as CSV UTF-8 — In Excel choose "CSV UTF-8 (Comma delimited) .csv" when saving. In Google Sheets choose File → Download → Comma-separated values. UTF-8 encoding prevents special characters and emoji from breaking the import.
  6. Upload the file — In Social Planner → Bulk Upload, click "Upload CSV" and select your file. UniLink parses the file and displays a preview table within a few seconds.
  7. Review, fix errors, and schedule — The preview table shows each row with a status indicator. Green rows are ready to schedule. Red rows have errors highlighted in the relevant column. Fix errors either by editing directly in the preview table or by correcting your CSV and re-uploading. Once all rows are green, click "Schedule All."

How to Prepare Your Spreadsheet

  1. Use the exact column names from the template — Column header names are case-sensitive. Caption and caption are treated differently. Always start from the downloaded template to avoid header mismatches.
  2. Format dates as YYYY-MM-DD — Use 2025-06-15, not 15/06/2025 or June 15, 2025. Excel sometimes auto-converts date formats — double-check after saving by opening the CSV in a text editor to confirm the raw format.
  3. Use platform codes, not display names — The valid platform codes are: instagram, tiktok, facebook, twitter, linkedin, pinterest, youtube, google_business. Separate multiple platforms with commas and no spaces.
  4. Keep captions inside quotes if they contain commas — CSV uses commas as delimiters. Any caption that includes a comma must be wrapped in double quotes in the raw file: "Come visit us at 123 Main St, New York!".
  5. Verify media URLs are direct links — Test each URL by pasting it into your browser's address bar. It should immediately download or display the image or video file. A Google Drive sharing link that opens a web page will not work — use the direct download URL format instead.
  6. Do not include more than 500 rows per upload — UniLink processes up to 500 posts per bulk upload. For larger batches, split into multiple files and upload them sequentially.
  7. Leave optional columns blank, not deleted — Keep all columns from the template present in your file even if some rows do not use them. Deleting optional columns can shift the column order and cause parsing errors.

Key Settings Explained

SettingWhat it controlsBest practice
Date format (YYYY-MM-DD)How UniLink parses the date column in your CSVFormat dates in your spreadsheet app before exporting — use a custom cell format of YYYY-MM-DD to prevent auto-formatting issues
Time format (HH:MM, 24-hour)The exact minute your post publishes on the scheduled dayUse 24-hour format (14:30, not 2:30 PM) to avoid AM/PM ambiguity errors
Platform codesWhich connected accounts receive each postCreate a legend in your spreadsheet naming which codes correspond to which client or brand accounts to avoid targeting mistakes
media_url columnLinks UniLink to the image or video file for that postHost media files in a stable, publicly accessible location — do not use temporary file-sharing links that expire
Per-platform caption columnsOverride the main caption for specific platformsUse these for Twitter/X (character limit) and LinkedIn (professional tone) — saves manually editing those posts after import
Pro tip: Build your bulk upload spreadsheet in Google Sheets and keep it as your content calendar master file. When you want to schedule a new batch, just add rows at the bottom, export as CSV, and upload. The same file becomes both your planning document and your scheduling source of truth.

How to Get the Most Out of Bulk Upload

The biggest productivity gain from bulk upload is not just speed — it is the ability to review all your content as a structured table before anything goes live. When you look at 30 rows of scheduled posts at once, you notice things you would never catch creating them one at a time: captions that are too similar back-to-back, a gap of five days with nothing scheduled, a product promotion landing on Christmas Day when your audience is offline. The review step is worth taking seriously.

Set up a recurring content calendar template. Create a Google Sheet with your standard weekly content structure — Monday motivation post, Wednesday product feature, Friday user story, Saturday sale reminder — as a repeating template. Each week or month, fill in the specifics, export, and upload. This turns content planning from a creative exercise that happens randomly into a structured workflow with predictable output.

Host your media files in a consistent, organized location before building your CSV. Creating a folder structure like /2025/06/ in cloud storage and naming files by date and platform (e.g., 2025-06-15-instagram-product.jpg) makes generating the media_url column fast and error-free. Hunting for the right file URL while filling in a 50-row spreadsheet is slow and prone to mistakes.

Use the preview validation step as a final quality check, not just an error-clearing step. Read through the captions in the preview table as if you are a reader seeing them for the first time. The table view often makes clunky or repetitive writing more visible than the single-post composer does.

Troubleshooting Common Issues

ProblemLikely causeFix
Upload fails with "Invalid CSV format" errorFile was not saved as CSV, or encoding is not UTF-8Re-export from your spreadsheet app specifically as CSV UTF-8; open the file in a plain text editor to confirm it looks like comma-separated rows
Date column shows "Invalid date" error in previewDate is not in YYYY-MM-DD format, or Excel reformatted itOpen your CSV in a text editor and check the raw date values; reformat the column in your spreadsheet as YYYY-MM-DD before re-exporting
Media not loading — post shows as image missingmedia_url links to a web page instead of a direct file URLTest each URL in a browser; get the direct download link from your cloud storage provider (Google Drive, Dropbox, etc.) and replace the sharing link with the direct link format
Some rows scheduled, others show "Platform error"Platform code typo or a disconnected platform in the platforms columnCheck platform codes against the accepted list (instagram, tiktok, facebook, twitter, linkedin, pinterest, youtube, google_business); reconnect any disconnected platforms in Settings → Connected Accounts

Pros

  • Schedule weeks or months of content in the time it takes to fill out a spreadsheet
  • Preview validation catches errors before any post goes live
  • Works seamlessly with existing spreadsheet-based content calendar workflows
  • Per-platform caption columns handle platform-specific customization at scale

Cons

  • Media files must be hosted at publicly accessible URLs — no direct local file uploads from CSV
  • 500-row limit per upload requires splitting very large batches
  • CSV date and time formatting issues are common and require careful spreadsheet setup

Frequently Asked Questions

Can I include emoji in bulk upload captions?

Yes, as long as you save your CSV as UTF-8. UTF-8 encoding supports emoji and all international characters. If you save as standard CSV without specifying UTF-8, emoji may appear as garbled characters or cause parsing errors.

What is the maximum number of posts I can upload at once?

UniLink supports up to 500 rows per bulk upload. For batches larger than 500, split your spreadsheet into multiple files and upload them one after another. Each upload is processed independently.

Can I update already-scheduled posts via bulk upload?

No — bulk upload only creates new scheduled posts. To update existing scheduled posts, open them individually in the Social Planner queue or calendar and edit them directly.

What file size limit applies to the CSV itself?

The CSV file itself (the text data) is limited to 10 MB per upload. Media files linked via URLs are not counted against this limit — those are downloaded from your hosting location at publish time, not stored in the CSV upload.

Do I need to re-upload media files I used in a previous bulk upload?

No — as long as the media URLs you used previously are still accessible, you can reference the same URLs in a new bulk upload. UniLink fetches the media from the URL at publish time, so it does not store or cache media between uploads.

Key Takeaways

  • Download the CSV template from Social Planner → Bulk Upload before building your spreadsheet — column names are case-sensitive.
  • Use YYYY-MM-DD date format and 24-hour HH:MM time format to avoid parsing errors.
  • Platform codes are lowercase strings: instagram, tiktok, facebook, twitter, linkedin, pinterest, youtube, google_business.
  • Media files must be hosted at publicly accessible direct URLs — sharing page links do not work.
  • The preview table validation step shows errors before scheduling — review every row before clicking "Schedule All."

Ready to schedule a month of content in one afternoon?

Download the bulk upload template and turn your content calendar into a scheduling machine.

Get Started Free

Create Your Free Link-in-Bio Page

Join thousands of creators using UniLink. 40+ blocks, analytics, e-commerce, and AI tools — all free.

Get Started Free