Aidelly Docs
App Guides

Bulk Fill

Draft and schedule dozens of posts at once from a CSV — with per-account rows, a staging preview, and a credit estimate before anything goes live.

What Bulk Fill is for

When you need a month of content scheduled in one sitting — for an agency client, a launch sequence, or a backlog you finally have time to clear — manually creating each post is painful. Bulk Fill takes a CSV, parses it into posts, lets you preview every one, then schedules them all.

It's intentionally slow before fast: you see exactly what each platform will receive, you see the AI Credit cost up front, you can fix anything, and only then does anything go live. No accidental publishing of placeholder text.

This guide walks you through:

  1. Downloading the CSV template
  2. Filling out your rows
  3. Uploading and staging
  4. Reviewing the preview
  5. Confirming and scheduling
  6. Handling partial failures

Before you start

  • Connect every social account you plan to publish to (under Workspace Settings → Social Connections) — the CSV template uses these account names.
  • Have your media URLs ready if any posts include images or video (uploaded to the Media Library or accessible by URL).
  • Check your AI Credit balance — Bulk Fill estimates total cost before scheduling, but you'll need enough credits.

Step 1 — Open Bulk Fill

  1. In the left sidebar, click 📥 Bulk Fill.
  2. The page opens with two main areas: Upload (top) and Staging preview (bottom, populates after upload).

Step 2 — Download the CSV template

  1. Click Download template.
  2. A CSV downloads with these columns:
    • account — exact name of the connected social account (e.g. "Aidelly LinkedIn")
    • platform — one of facebook, instagram, linkedin, twitter, youtube, tiktok, pinterest, bluesky, threads, google_business, mastodon
    • caption — the post body (text only)
    • media_url — optional URL to image/video (or leave blank)
    • scheduled_at — ISO timestamp (e.g. 2026-06-01T10:00:00Z); leave blank to publish immediately on import
    • first_comment — optional first-comment text (only used on platforms that support it)
    • notes — your internal notes; ignored by Aidelly

Step 3 — Fill in your rows

Open the CSV in Google Sheets, Excel, or any text editor.

Recommended patterns:

  • One row per (account × post) — most flexible. If you want one post on three accounts, you write three rows.
  • One row per (platform × post) with account left blank — Aidelly uses the workspace default account for that platform.

Tips for the caption field:

  • Keep newlines inside the cell with Alt+Enter (Excel) or Cmd+Enter (Sheets).
  • Don't include placeholder text like [insert hashtag here] — the validator will flag and skip those rows.
  • Long captions are fine; per-platform character limits are checked in the staging preview.

Step 4 — Upload and stage

  1. Save your CSV.
  2. Back in Aidelly, click Upload CSV and pick the file.
  3. Aidelly parses the file and shows the Staging preview at the bottom of the page.

The preview shows:

  • One row per planned post (so 3 accounts × 5 posts = 15 rows)
  • For each row: the platform, the account, a caption preview, the scheduled time, the media (if any)
  • Color flags: green = ready, yellow = warning (e.g. caption is close to the platform limit), red = will be rejected (e.g. missing account, placeholder text detected)

Step 5 — Review every row

Don't skip this. The preview is the safety net.

  1. Click any row to see the full caption and media preview.
  2. Edit any caption inline — changes apply immediately to that row.
  3. Click Skip on rows you don't want to schedule.
  4. Pay attention to:
    • Red rows — these won't ship. Fix them or they're dropped silently.
    • Yellow rows — they'll ship but may be truncated or behave oddly. Confirm or fix.
    • Scheduled times — make sure the timezone matches what you expected.

Step 6 — Check the credit estimate

Above the Confirm button, you'll see:

  • Total posts — how many rows will ship
  • AI Credits required — pre-computed cost (factors in X's per-tweet pricing)
  • Earliest scheduled time and Latest scheduled time

If credits required > credits available, the Confirm button disables and links you to top-up.

Step 7 — Confirm and schedule

  1. Click Confirm and schedule.
  2. A final dialog summarizes what's about to happen.
  3. Click Schedule N posts.
  4. Aidelly creates every post and adds them to the calendar.
  5. The page returns to a success state with a link to Open in Calendar.

Step 8 — Handle partial failures

If some rows failed at schedule time (e.g. an account got disconnected mid-batch):

  1. The success screen shows N succeeded, M failed.
  2. Click Download failed rows to get a CSV with just the failed ones plus the error reason.
  3. Fix the root cause, re-upload that CSV. Bulk Fill is idempotent on a per-row basis — re-uploading won't duplicate the successful posts.

Common pitfalls

  • All rows are red. The account column doesn't match any connected account name exactly. Check spelling — they're case-sensitive.
  • Posts published immediately when I wanted them scheduled. A row with empty scheduled_at publishes now. Always set the timestamp explicitly for scheduled posts.
  • X posts cost way more than expected. Each post with a URL on X costs 22 AI Credits (vs 2 plain). The estimate includes this — check whether your links are all genuinely necessary.
  • The CSV upload failed. Most often the file is saved with the wrong line endings or a missing required column. Open in a text editor and confirm the header row matches the template exactly.

What to do next