Bulk Posting with CSV
Bulk posting is the fastest way to move a large content calendar into Postly. It is best when you already know the schedule, the copy, and the media plan, and now need reliable throughput.
Best use cases
- seasonal campaigns
- ecommerce promotions
- agency content calendars
- event countdowns
- franchise or multi-location schedules
- spreadsheet-driven marketing teams
How bulk posting works
- Start with the Postly CSV template.
- Fill in your post text, schedule fields, destinations, and media references.
- Upload the CSV into the bulk posting flow.
- Let Postly validate the rows before scheduling.
- Resolve any issues, then import the final batch.
Date rules for CSV and Google Sheets
The due_date field is required. Enter a future date/time, preferably as YYYY-MM-DD HH:mm, or enter NOW (case-insensitive) to queue immediate publishing. Blank dates never publish. Past, invalid, impossible, and ambiguous or nonexistent daylight-saving times are rejected.
Postly applies the destination workspace timezone automatically. No Action or Timezone column is needed. For multiple workspaces, the same entered time is interpreted separately in each workspace. Check the timezone in workspace settings before importing.
New Date cells are blank by default. For example, 2030-09-10 14:30 schedules a post; NOW queues it immediately. NOW still follows workspace approval rules and does not guarantee instantaneous delivery.
Review the immediate/scheduled counts, dates, workspaces and channels before confirming. Fix every validation error before submitting. Review each row result: queued, scheduled and awaiting approval do not mean published. In Google Sheets, use Refresh post results to check delivery without resubmitting.
Retry unchanged rows after an interrupted request to reuse the same posts. Changing a row creates a new submission. Correct existing posts with missing schedules in Postly; they are never automatically published as a backlog.
Make media easier before import
Bulk posting works best when your media is already stable and reachable.
Recommended patterns:
- host reusable assets in Postly Cloud first
- use durable public URLs
- keep filenames and references consistent across the sheet
- avoid last-minute manual edits after validation
What to validate before import
- target channels belong to the right workspace
- dates are valid and the workspace timezone is correct
- media URLs resolve to the intended asset
- copy length makes sense for the destinations involved
- recurring content is separated from one-off content
Required fields and platform columns
Postly marks genuinely required fields with a red * in the dashboard and only blocks a row when the selected destination requires that value. Optional platform columns may be left blank.
For Pinterest rows:
- an image or video and a selected board are required
pinterest_title,pinterest_description,pinterest_destination_url, and alt text are optional- when
pinterest_destination_urlis blank, Postly uses the first non-media link in the Pinterest or shared post text - the same behavior applies to CSV imports and the Google Sheets add-on
If the same CSV workflow repeats every week or month, create a reusable spreadsheet process around it. Bulk posting becomes much more valuable when the import pattern is standardized.
When bulk posting is not the best tool
Choose another flow if:
- each post needs heavy manual review
- your campaign depends on dynamic AI generation at the last minute
- platform-specific overrides vary too much post by post
- the content should actually be recurring instead of imported in batches
Good next guides
US and international date formats
CSV and Google Sheets accept numeric dates with slashes, hyphens or dots, English month names, AM/PM or 24-hour time, and optional seconds:
- US:
9/4/30 2:30 PMmeans September 4, 2030. - Day-first:
14/9/30 14:30means September 14, 2030. - Year-first:
2030/9/4 14:30or2030-09-04T14:30. - Written month:
4 Sep 2030 14:30orSeptember 4, 2030 2:30 PM.
Ambiguous numeric text uses month/day order. Use DMY: 9/4/30 14:30 for April 9, or spell the month. The calendar display setting does not change this import rule. Two-digit years mean 2000–2099. A time is required; date-only text, timezone suffixes, relative dates and raw spreadsheet serial numbers are not accepted.
Google Sheets date/time cells follow the spreadsheet locale when entered. Postly reads their wall-clock time in the spreadsheet timezone and schedules it in the destination workspace timezone. Review the cell and final timing before publishing. Existing templates remain compatible; no new template date format is required.