De Google Sheets a redes sociales con n8n

De Google Sheets a redes sociales con n8n

Publica desde una hoja de cálculo con n8n, el problema del seguimiento de filas del que nadie avisa, y cuándo una importación CSV es la mejor respuesta.

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

ColumnaPropósito
ContentEl texto de la publicación
ChannelsPlataformas de destino
Publish atHora programada
Media URLAdjunto opcional
ApprovedLa puerta. yes o nada
PublishedEscrito 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.