socifyr schedule
socifyr schedule <file.csv> reads a CSV file and schedules one text post per row. It is the fastest way to load a content calendar from a spreadsheet.
socifyr schedule <file.csv> [--json]| Flag | Description |
|---|---|
--json | Print the result as JSON |
How do I bulk schedule posts from a CSV?
Create a file with this header row. Columns are read by position, so keep the order.
text,connections,scheduledAt,title
"Our new docs are live. Start here: https://docs.socifyr.com",x-myhandle linkedin-myhandle,2026-12-01T09:00:00Z,Docs launch
"Tip: use slugs, not platform names, when you post.",x-myhandle,2026-12-02T14:30:00Z,Run it:
socifyr schedule posts.csv✓ 1 scheduled · 1 failed
Row 2: scheduledAt must be in the futureThe first row of the file is always treated as a header and skipped.
What are the CSV columns?
| Column | Required | Rules |
|---|---|---|
text | yes | Post body. Maximum 25,000 characters. Wrap it in double quotes if it contains commas or line breaks; escape a quote by doubling it |
connections | yes | One or more connection slugs separated by a space, comma, semicolon or pipe. Quote the cell when you use commas |
scheduledAt | yes | ISO 8601 date and time in the future |
title | no | Optional title. Maximum 500 characters |
Limits: 500 rows per call, 500,000 characters per CSV. Over 500 rows the API answers A bulk schedule is limited to 500 rows. Split larger files.
What happens when a row is invalid?
Rows are processed one by one. A bad row does not stop the rest. The result lists created and each failed row with its number, counted from the first data row (the row after the header is row 1):
{
"created": 1,
"failed": [
{ "row": 2, "error": "scheduledAt must be in the future" }
]
}| Row error | Fix |
|---|---|
text is required | Fill the text cell |
at least one connection is required | Add a slug in the connections cell |
scheduledAt is required | Add a date |
scheduledAt must be in the future | Use a later time |
| A "connection not found" style message | Use a slug from socifyr connections |
An empty or header-only file fails the whole call with Provide "rows" or a non-empty "csv". Scheduling needs a paid plan, and every row counts against your limits like a normal post.
Can I schedule images or video in bulk?
No. Bulk scheduling creates text posts only. For a post with media, use socifyr post --at, or create a draft and publish it later.