> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk scheduling via CSV

> Import and schedule up to 90 social media posts at once by uploading a CSV or XLSX file to the Social Planner. Supports images, videos, Reels, Stories, and platform-specific settings.

The CSV bulk scheduling feature lets you prepare an entire content calendar in a spreadsheet and upload it to the Social Planner in one step. Instead of creating posts one by one, you can schedule up to 90 posts at a time — complete with media links, captions, dates, and platform-specific options.

Navigate to **Marketing > Social Planner > New Post > Bulk Schedule via CSV** to get started.

***

## Two CSV formats

The Social Planner supports two CSV formats: Basic and Advanced.

<CardGroup cols={2}>
  <Card title="Basic CSV" icon="table">
    Covers the essentials: post content, scheduled date, a preview link, and image or video URLs. Use this format for straightforward text and image posts across standard feed placements.
  </Card>

  <Card title="Advanced CSV" icon="table-list">
    Unlocks the full feature set: Stories, Reels, YouTube Shorts, watermarks, categories, follow-up comments, Google Business Profile post types, YouTube privacy and video type, TikTok fields, LinkedIn PDFs, and Pinterest board selection.
  </Card>
</CardGroup>

Download the sample file directly from the import dialog to see the exact column headers and an example row for the format you need.

***

## Basic CSV columns

| Column header        | Required | Description                                            |
| -------------------- | -------- | ------------------------------------------------------ |
| `postAtSpecificTime` | Yes      | Date and time in `YYYY-MM-DD HH:mm:ss` (24-hour clock) |
| `content`            | Yes      | The post caption or text body                          |
| `link`               | No       | A URL to generate an OG link preview (OGmetaUrl)       |
| `imageUrls`          | No       | One or more image URLs, comma-separated (up to 10)     |
| `videoUrl`           | No       | A single video URL                                     |

**Accepted date formats for `postAtSpecificTime`:**

* `YYYY-MM-DD HH:mm:ss`
* `YYYY-MM-DD HH:mm`
* `YYYY/MM/DD HH:mm:ss`
* `YYYY/MM/DD HH:mm`
* `M/D/YYYY H:mm:ss`
* `M/D/YYYY H:mm`

***

## Advanced CSV columns

The Advanced CSV includes all Basic columns plus the following additional fields:

| Column header         | Description                                        |
| --------------------- | -------------------------------------------------- |
| `postType`            | Post format: `Post`, `Story`, `Reel`, or `Shorts`  |
| `watermark`           | Set to `true` to apply a watermark overlay         |
| `category`            | Assign the post to a content category              |
| `followUpComment`     | Text to post as the first comment after publishing |
| `gbpPostType`         | For GBP: `STANDARD`, `OFFER`, or `EVENT`           |
| `gbpCallToAction`     | GBP call-to-action button type                     |
| `youtubeTitle`        | Title for YouTube video uploads                    |
| `youtubePrivacy`      | `PUBLIC`, `UNLISTED`, or `PRIVATE`                 |
| `youtubeVideoType`    | `VIDEO` or `SHORT`                                 |
| `pinterestBoardId`    | The Pinterest board ID to pin to                   |
| `linkedInDocumentUrl` | URL of a PDF to post as a LinkedIn carousel        |

<Note>
  Media files referenced in the CSV must be publicly accessible URLs. Files stored on Google Drive, Dropbox, or similar services must have their sharing settings set to "Anyone with the link can view" before uploading the CSV.
</Note>

***

## How to upload a CSV

<Steps>
  <Step title="Prepare your spreadsheet">
    Open a spreadsheet application and create columns matching the required headers. Fill in one row per post. Save the file in CSV or XLSX format.
  </Step>

  <Step title="Open the import dialog">
    In the Social Planner, click **New Post** and select **Bulk Schedule via CSV**.
  </Step>

  <Step title="Select the target social accounts">
    Choose the social media accounts that the posts in the file should be published to. All posts in the CSV will go to the selected accounts.
  </Step>

  <Step title="Upload your file">
    Click **Upload File** and select your CSV or XLSX file. The platform validates the file and shows a preview of the rows it found.
  </Step>

  <Step title="Review and confirm">
    Check the preview for any validation errors — invalid dates, missing required fields, or inaccessible media URLs are flagged here. Fix any issues in your spreadsheet and re-upload, or proceed if everything looks correct.
  </Step>

  <Step title="Submit for scheduling">
    Click **Schedule Posts**. Posts are added to the Social Planner calendar immediately and will publish at their specified times.
  </Step>
</Steps>

***

## Limits and requirements

| Limit                        | Value                      |
| ---------------------------- | -------------------------- |
| Maximum posts per CSV upload | 90 posts                   |
| Maximum file size            | 50 MB                      |
| Accepted file formats        | .csv, .xlsx                |
| Image URLs per post          | Up to 10 (comma-separated) |
| Video URLs per post          | 1                          |

***

## Submitting a CSV for approval

If your team uses a post approval workflow, you can route bulk-uploaded posts through review before they publish. During the upload step, select an approver from the **Send for Approval** dropdown. All posts in the batch will be submitted to that approver and will not publish until each is individually approved or rejected.

<Tip>
  Use the Advanced CSV format with the `category` column to automatically assign posts to a content category. This is especially useful when uploading a month's worth of evergreen content that you want organized into category queues.
</Tip>

***

## Troubleshooting common errors

<AccordionGroup>
  <Accordion title="Posts are not appearing on the calendar after upload">
    Check that the `postAtSpecificTime` values are in a supported date format and that the dates are in the future. Past dates are skipped during import. Also confirm that at least one social account was selected before uploading.
  </Accordion>

  <Accordion title="Media is not loading or images are showing as broken">
    The image and video URLs in the CSV must be publicly accessible. Private cloud storage links will fail. Use a public hosting service or upload your media to the HoopAI media library first and use those URLs in the CSV.
  </Accordion>

  <Accordion title="The upload fails with a file format error">
    Ensure the file is saved as a standard CSV (UTF-8 encoding) or XLSX file. Files exported from certain regional spreadsheet settings may use semicolons instead of commas as delimiters — re-export using comma-separated values if this occurs.
  </Accordion>

  <Accordion title="Some rows are skipped or flagged as invalid">
    Rows missing the required `postAtSpecificTime` or `content` columns are skipped. Review the validation preview after upload to identify which rows have issues and what corrections are needed.
  </Accordion>
</AccordionGroup>
