Skip to main content

How to bulk-schedule posts with CSV Import

Upload a CSV to schedule a whole batch of posts across all your connected networks at once

Written by Marcos

This article is available in:


English Version

CSV Import lets you schedule a whole batch of posts across your connected networks at once, straight from a spreadsheet. Instead of creating posts one by one, you build them as rows in a CSV file, upload it, review everything in a single grid, and schedule the entire batch in a few clicks. It lives inside the Calendar.

Use it when you:

  • Plan your content calendar in a spreadsheet (Google Sheets, Excel, a Notion export).

  • Need to schedule many posts at once.

  • Want the same post to go out to several networks at the same time.

Before you start

  • Connect your networks first. Only networks connected to the company show up in the importer. Add them under Company Settings → Integrations.

  • Host your media at public URLs. The importer pulls images and videos from links in your CSV, so each file has to be reachable on the open web.

  • Mind the character limits. Each network has its own caption limit (see the table at the end). The importer flags anything too long before you schedule.

Step 1: Open the importer

In the left menu, open Calendar and click Import in the top right, next to Create Post.

The CSV Import wizard opens with four steps: Networks → Upload → Review → Schedule.

Step 2: Choose your networks

Pick the networks you want every row of your CSV to publish to. Each row becomes one post per selected network.

  • Click a network to turn it on or off. Use Select All / Unselect All on the right.

  • Greyed-out networks are not connected yet. Connect them from Company Settings → Integrations.

Tip: the columns and character limits in the next step adapt to the networks you pick here.

Step 3: Build and upload your CSV

On the Upload step:

  1. Click Download CSV template. The template already has the right column headers for the networks you selected, plus a couple of example rows.

  2. Fill in one row per post. The only required column is content. Leave anything you do not need blank.

  3. Save the file as CSV.

  4. Drag it into the drop area, or click to browse.

The panel on the right is a live reference: required fields, valid values, your actual Pinterest boards, and the character limit for each network you selected.

Good to know:

  • Lines that start with # are treated as comments and ignored.

  • Leave the date columns (year, month, day) blank to auto-queue a post. Fill them in to schedule for a specific date and time.

CSV columns

Column

Required

What it is

Example

content

Yes

The post text / caption. Hashtags and mentions go inline.

Kicking off our launch! #launch

title

No

Optional title, used by networks that have one (Pinterest pin title, YouTube title, Medium).

Summer launch

link

No

Optional link associated with the post (for example, where a Pin points).

media_urls

No

One or more public image or video URLs, separated by commas.

year

No

Year to publish. Leave blank to auto-queue.

2026

month

No

Month, 1-12.

7

day

No

Day of the month.

10

hour

No

Hour in 24h format, 0-23.

14

minute

No

Minute, 0-59.

0

first_comment

No

Auto-posted first comment, on networks that support it.

Link in bio!

media_product_type

No

The post format: FEED, STORY, REEL or SHORT.

REEL

pinterest_board

No

Which Pinterest board to pin to, by name or ID. Needed for Pinterest.

My Travel Board

tiktok_privacy_level

No

TikTok visibility: PUBLIC, FRIENDS, PRIVATE or FOLLOWERS.

PUBLIC

Some columns only appear if you selected the matching network in Step 2.

Media tip: put several URLs in one media_urls cell, separated by commas, to attach more than one image or video (a carousel, on networks that support it). If a URL itself contains a comma, wrap the whole cell in double quotes so your spreadsheet keeps it as one value.

Step 4: Review and fix

Followr validates every row against every network you selected. You land on Review & validate: a grid where each post shows as one card per network (for example, 2 posts x 3 networks = 6 cards).

  • A green check means the post is valid for that network. A red X is a blocker you have to fix.

  • Use the All / Errors / Warnings filters at the top to focus.

  • Click any row to edit the content, title, schedule or media type inline. Your changes re-validate instantly.

  • If your text is too long for X (Twitter), click Auto-trim to shorten it to the limit automatically.

  • You cannot continue while there are blockers.

When everything is clear, click Continue.

Step 5: Schedule

Choose how the batch goes out:

  • Add to Queue: auto-staggers the posts, one per day, at 10am in your timezone. Best when you just want to spread content out without picking dates.

  • Use CSV dates: each post publishes at the exact date and time from its row. Rows with no date fall back to the queue.

  • Save as Drafts: creates unscheduled drafts so you can review and schedule them later.

The Schedule preview shows how many posts land on which days. When you are happy, click Schedule X posts to Y networks.

After importing

Your posts appear in the Calendar and under My Posts. Open any one to edit the copy, change the time, or swap the media, exactly like a post you created by hand. Drafts created by the importer stay unscheduled until you give them a time.

Common issues and limits

  • Content too long. A red X on a network means the caption is over that network's limit. Shorten it inline, or use Auto-trim for X.

  • Media not reachable. Media URLs must be public and load quickly. If a link is private or broken, that row fails. Re-host the file at a public URL.

  • A network needs media. Some networks (for example Instagram, TikTok, YouTube, Pinterest) cannot publish without media. Add a media_urls value, or save those as drafts and attach media later.

  • Date in the past. A row scheduled in the past is blocked. Use a future date, or leave the date columns blank to auto-queue it.

  • Columns out of place. If a cell contains a comma, wrap it in double quotes so the row keeps the right number of columns.


Versión en español

CSV Import te permite programar un lote entero de posts en todas tus redes conectadas a la vez, directamente desde una planilla. En lugar de crear los posts uno por uno, los armás como filas en un archivo CSV, lo subís, revisás todo en una sola grilla y programás el lote completo en pocos clics. Está dentro del Calendar.

Usalo cuando:

  • Planificás tu calendario de contenido en una planilla (Google Sheets, Excel, un export de Notion).

  • Necesitás programar muchos posts de una sola vez.

  • Querés que el mismo post salga en varias redes al mismo tiempo.

Antes de empezar

  • Conectá tus redes primero. En el importador solo aparecen las redes conectadas a la company. Agregalas en Company Settings → Integrations.

  • Alojá tu media en URLs públicas. El importador toma las imágenes y videos desde los links de tu CSV, así que cada archivo tiene que ser accesible en la web abierta.

  • Tené presentes los límites de caracteres. Cada red tiene su propio límite de texto (ver la tabla al final). El importador marca lo que sea demasiado largo antes de programar.

Paso 1: Abrir el importador

En el menú de la izquierda, entrá a Calendar y hacé clic en Import, arriba a la derecha, al lado de Create Post.

Se abre el wizard de CSV Import con cuatro pasos: Networks → Upload → Review → Schedule.

Paso 2: Elegir las redes

Elegí las redes a las que querés que publique cada fila de tu CSV. Cada fila se convierte en un post por cada red seleccionada.

  • Hacé clic en una red para activarla o desactivarla. Usá Select All / Unselect All a la derecha.

  • Las redes en gris todavía no están conectadas. Conectalas desde Company Settings → Integrations.


Tip: las columnas y los límites de caracteres del paso siguiente se adaptan a las redes que elegís acá.

Paso 3: Armar y subir tu CSV

En el paso Upload:

  1. Hacé clic en Download CSV template. El template ya trae los encabezados correctos para las redes que seleccionaste, más un par de filas de ejemplo.

  2. Completá una fila por post. La única columna obligatoria es content. Dejá en blanco todo lo que no necesites.

  3. Guardá el archivo como CSV UTF-8.

  4. Arrastralo al área de carga, o hacé clic para buscarlo.

El panel de la derecha es una referencia viva: campos obligatorios, valores válidos, tus boards reales de Pinterest, y el límite de caracteres de cada red que seleccionaste.


Para tener en cuenta:

  • Las líneas que empiezan con # se tratan como comentarios y se ignoran.

  • Dejá las columnas de fecha (year, month, day) en blanco para encolar automáticamente un post. Completalas para programar en una fecha y hora específicas.

Columnas del CSV

Columna

Obligatoria

Qué es

Ejemplo

content

El texto / caption del post. Hashtags y menciones van inline.

Arrancamos el lanzamiento! #launch

title

No

Título opcional, que usan las redes que lo tienen (título del pin de Pinterest, título de YouTube, Medium).

Lanzamiento de verano

link

No

Link opcional asociado al post (por ejemplo, a dónde lleva un Pin).

media_urls

No

Una o más URLs públicas de imagen o video, separadas por coma.

year

No

Año de publicación. En blanco para encolar automáticamente.

2026

month

No

Mes, 1-12.

7

day

No

Día del mes.

10

hour

No

Hora en formato 24h, 0-23.

14

minute

No

Minuto, 0-59.

0

first_comment

No

Primer comentario automático, en las redes que lo soportan.

Link en la bio!

media_product_type

No

El formato del post: FEED, STORY, REEL o SHORT.

REEL

pinterest_board

No

A qué board de Pinterest fijar el pin, por nombre o ID. Necesario para Pinterest.

My Travel Board

tiktok_privacy_level

No

Visibilidad en TikTok: PUBLIC, FRIENDS, PRIVATE o FOLLOWERS.

PUBLIC

Algunas columnas solo aparecen si seleccionaste la red correspondiente en el Paso 2.

Tip de media: poné varias URLs en una misma celda media_urls, separadas por coma, para adjuntar más de una imagen o video (un carrusel, en las redes que lo soportan). Si una URL contiene una coma, encerrá toda la celda entre comillas dobles para que tu planilla la mantenga como un solo valor.

Paso 4: Revisar y corregir

Followr valida cada fila contra cada red que seleccionaste. Llegás a Review & validate: una grilla donde cada post aparece como una tarjeta por red (por ejemplo, 2 posts x 3 redes = 6 tarjetas).

  • Un tilde verde significa que el post es válido para esa red. Una X roja es un bloqueante que tenés que corregir.

  • Usá los filtros All / Errors / Warnings de arriba para enfocarte.

  • Hacé clic en cualquier fila para editar el contenido, el título, el horario o el tipo de media inline. Tus cambios se re-validan al instante.

  • Si tu texto es demasiado largo para X (Twitter), hacé clic en Auto-trim para recortarlo al límite automáticamente.

  • No podés avanzar mientras haya bloqueantes.

Cuando esté todo en orden, hacé clic en Continue.

Paso 5: Programar

Elegí cómo sale el lote:

  • Add to Queue: escalona los posts automáticamente, uno por día, a las 10am en tu zona horaria. Ideal cuando solo querés distribuir el contenido sin elegir fechas.

  • Use CSV dates: cada post se publica en la fecha y hora exactas de su fila. Las filas sin fecha caen en la cola.

  • Save as Drafts: crea borradores sin programar para que los revises y programes después.

El Schedule preview muestra cuántos posts caen en cada día. Cuando estés conforme, hacé clic en Schedule X posts to Y networks.

Captura: Paso 4, elegir cómo se programa el lote.

Después de importar

Tus posts aparecen en el Calendar y en My Posts. Abrí cualquiera para editar el texto, cambiar el horario o reemplazar la media, igual que un post creado a mano. Los borradores que crea el importador quedan sin programar hasta que les asignes un horario.

Problemas comunes y límites

  • Contenido demasiado largo. Una X roja en una red significa que el caption supera el límite de esa red. Acortalo inline, o usá Auto-trim para X.

  • Media inaccesible. Las URLs de media tienen que ser públicas y cargar rápido. Si un link es privado o está roto, esa fila falla. Volvé a alojar el archivo en una URL pública.

  • Una red necesita media. Algunas redes (por ejemplo Instagram, TikTok, YouTube, Pinterest) no pueden publicar sin media. Agregá un valor en media_urls, o guardá esas filas como borradores y adjuntá la media después.

  • Fecha en el pasado. Una fila programada en el pasado queda bloqueada. Usá una fecha futura, o dejá las columnas de fecha en blanco para encolarla.

  • Columnas desfasadas. Si una celda contiene una coma, encerrala entre comillas dobles para que la fila mantenga la cantidad correcta de columnas.

Did this answer your question?