Use case

Bulk schedule social posts from a CSV or JSON

Socifyr can schedule up to 500 text posts in a single request from a CSV or a JSON array. Each row has the post text, the connection slugs, a future scheduledAt time and an optional title. The response tells you how many were created and lists every failed row with its number and reason, so one typo never sinks the batch.
cURLTypeScript SDKCLIMCP prompt

How it works

  1. 1

    Build the sheet

    Use the header text,connections,scheduledAt,title. Put several slugs in connections separated by a space or comma inside the cell.
  2. 2

    Send it as csv or rows

    POST /api/content/bulk-schedule accepts either a raw csv string or a rows array. Use the CLI to skip the HTTP plumbing.
  3. 3

    Read the result

    You get { created, failed: [{ row, error }] }. Fix the failed rows and resend only those.
  4. 4

    Manage the backlog

    Scheduled posts appear in your content list. Edit, reschedule or bulk delete them like any other post.

Working code

curl -X POST https://api.socifyr.com/api/content/bulk-schedule \
  -H "Authorization: Bearer sk_your_key" \
  -H "X-Workspace-Id: your_workspace_id" \
  -H "Content-Type: application/json" \
  -d '{
    "rows": [
      { "text": "Monday tip: keep captions short.", "connections": ["x-mybrand"], "scheduledAt": "2026-12-07T09:00:00Z" },
      { "text": "Friday wrap-up thread.", "connections": ["x-mybrand", "linkedin-mybrand"], "scheduledAt": "2026-12-11T16:00:00Z", "title": "Weekly wrap" }
    ]
  }'

Replace sk_your_key and the workspace ID with your own from the dashboard, and use your own connection slugs.

Who this is for

  • Marketers with a quarter of content in a spreadsheet

    Export the content calendar to CSV and load it in one command.
  • Agencies migrating clients

    Move a backlog of pre-written posts into scheduled state without clicking through a UI.
  • Agents that plan a week in one go

    The MCP schedule_posts tool lets an assistant place many posts in one call instead of dozens.

Frequently asked questions

How many posts can I schedule at once?

Up to 500 rows per request through the MCP tool and the API. Split larger sheets into batches.

What happens if some rows are invalid?

The valid rows are still scheduled. The response lists each failed row by its number with an error, for example a past date or an unknown connection slug.

Can I bulk schedule images and videos?

The bulk endpoint is for text posts. Media posts are scheduled one at a time with scheduledAt on the photo or video endpoints.

Do I need a paid plan?

Yes, because bulk scheduling is scheduling. It is available on Pro ($9.99/mo) and Business.

How do I put multiple accounts in one CSV cell?

Separate the connection slugs with a space or a comma, for example "x-mybrand linkedin-mybrand".