Una hoja de cálculo es un lugar rápido para escribir un mes de publicaciones. Sacarlas de ahí es la parte que merece la pena automatizar, pero no siempre con un flujo de trabajo.
Primero: ¿esto es un lote o un flujo continuo?
Un lote. Escribes un mes de publicaciones, terminas, y quieres que se pongan en cola. No necesitas n8n. Expórtalo como CSV e impórtalo: el compositor masivo de BulkPublish lee una columna content más scheduled_at y media_urls opcionales. Dos minutos, nada que mantener.
Un flujo continuo. Se añaden filas continuamente, por varias personas, y deben publicarse a medida que aparecen. Para eso está el flujo de trabajo.
Construir el flujo de trabajo para un lote es un coste de mantenimiento permanente para algo que una subida de archivo hace una sola vez.
El flujo de trabajo
1. Schedule Trigger, cada 15 o 30 minutos. Prefiere esto al disparador de fila nueva, por la razón de abajo.
2. Nodo de Google Sheets, leer filas.
3. Filtrar por Approved = yes y Published vacío. Dos condiciones, ambas necesarias.
4. Construir la publicación a partir de las columnas.
5. Nodo de BulkPublish, Post → Create.
6. Escribir de vuelta en la hoja, estableciendo Published y la URL de la publicación.
El problema del seguimiento de filas
Esto es lo que pilla a la gente, y es específico de las hojas de cálculo.
El disparador de fila nueva de n8n hace seguimiento por posición. Si alguien ordena la hoja, elimina una fila o inserta una en medio, el seguimiento deja de coincidir con la realidad, y obtienes duplicados, saltos, o ambos. Las hojas de cálculo se reordenan constantemente, porque para eso sirven.
La solución es no depender de la posición en absoluto: consultar según un horario, filtrar por una columna, y escribir de vuelta después de publicar. Entonces reordenar es inofensivo, porque el flujo de trabajo lee el estado desde la fila en lugar de contar filas.
Las columnas
| Columna | Propósito |
|---|---|
| Content | El texto de la publicación |
| Channels | Plataformas de destino |
| Publish at | Hora programada |
| Media URL | Adjunto opcional |
| Approved | La puerta. yes o nada |
| Published | Escrito de vuelta tras publicar |
La columna Approved existe porque una fila de la hoja es visible para el flujo de trabajo en el momento en que se crea, incluso mientras alguien todavía la está escribiendo.
Vigila la cuota
Una hoja de cálculo hace trivial pegar cincuenta filas, y cincuenta filas son cincuenta publicaciones.
- Publicaciones: Free: 3/día. Pro: 30/día. Business: ilimitadas.
- Solicitudes de API/día: Free: 30. Pro: 5.000. Business: 50.000.
- Canales: Free: 3 (1 por plataforma). Pro: 30 (2 por plataforma). Business: 75 (5 por plataforma).
Un flujo de trabajo que consulta cada 15 minutos gasta 96 solicitudes al día antes de publicar nada, así que el nivel gratuito no podrá ejecutar esto.
Comprueba la longitud
Una celda de hoja de cálculo contiene mucho más texto del que aceptan la mayoría de plataformas, y nada en la hoja te avisa. Los límites de caracteres se validan al crear la publicación, así que obtendrás un error claro en lugar de una publicación truncada, pero el flujo de trabajo necesita registrar eso en algún sitio donde realmente lo veas.
Empieza con borradores
Ejecútalo hacia borradores durante la primera semana. El mapeo de columnas es la parte que suele fallar, y es evidente en una lista de borradores.
BulkPublish publica en 15 plataformas: Facebook, Instagram, TikTok, YouTube, X, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr y Snapchat.
La versión corta
Si la hoja es un plan terminado, expórtala e importa el CSV en lugar de construir nada. Si es una cola en vivo, consulta según un horario y filtra por columnas en lugar de usar el disparador de fila nueva, porque las hojas de cálculo se reordenan y el seguimiento basado en posición produce duplicados. Filtra con una columna Approved, y escribe de vuelta después de publicar.