Skip to content

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.

bash
socifyr schedule <file.csv> [--json]
FlagDescription
--jsonPrint 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.

csv
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:

bash
socifyr schedule posts.csv
✓ 1 scheduled · 1 failed
  Row 2: scheduledAt must be in the future

The first row of the file is always treated as a header and skipped.

What are the CSV columns? ​

ColumnRequiredRules
textyesPost body. Maximum 25,000 characters. Wrap it in double quotes if it contains commas or line breaks; escape a quote by doubling it
connectionsyesOne or more connection slugs separated by a space, comma, semicolon or pipe. Quote the cell when you use commas
scheduledAtyesISO 8601 date and time in the future
titlenoOptional 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):

json
{
  "created": 1,
  "failed": [
    { "row": 2, "error": "scheduledAt must be in the future" }
  ]
}
Row errorFix
text is requiredFill the text cell
at least one connection is requiredAdd a slug in the connections cell
scheduledAt is requiredAdd a date
scheduledAt must be in the futureUse a later time
A "connection not found" style messageUse 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.

Next steps ​