Een spreadsheet is een snelle plek om een maand aan posts te schrijven. Ze eruit krijgen is het deel dat de moeite van automatiseren waard is, maar niet altijd met een workflow.
Eerst: is dit een batch of een stroom?
Een batch. Je schrijft een maand aan posts, bent klaar, en wilt ze ingepland hebben. Je hebt n8n niet nodig. Exporteer als CSV en importeer het: de bulk-composer van BulkPublish leest een content-kolom plus optionele scheduled_at en media_urls. Twee minuten, niets te onderhouden.
Een stroom. Rijen worden continu toegevoegd, door meerdere mensen, en moeten publiceren zodra ze verschijnen. Daar is de workflow voor.
De workflow bouwen voor een batch is een permanente onderhoudskost voor iets dat een file-upload eenmalig doet.
De workflow
1. Schedule Trigger, elke 15 of 30 minuten. Geef hier de voorkeur aan boven de nieuwe-rij-trigger, om de reden hieronder.
2. Google Sheets-node, lees rijen.
3. Filter op Approved = yes en Published leeg. Twee voorwaarden, beide nodig.
4. Bouw de post uit de kolommen.
5. BulkPublish-node, Post → Create.
6. Schrijf terug naar het sheet, zet Published en de post-URL.
Het rij-trackingprobleem
Dit is het ding dat mensen vangt, en het is specifiek voor spreadsheets.
De nieuwe-rij-trigger van n8n volgt positie. Als iemand het sheet sorteert, een rij verwijdert, of er een in het midden invoegt, komt de tracking niet meer overeen met de werkelijkheid, en krijg je duplicaten, overgeslagen rijen, of beide. Spreadsheets worden voortdurend herordend, want daar zijn ze voor.
De oplossing is helemaal niet op positie te vertrouwen: poll op een schema, filter op een kolom, en schrijf terug na publicatie. Dan is herordenen onschadelijk, want de workflow leest status uit de rij in plaats van rijen te tellen.
De kolommen
| Kolom | Doel |
|---|---|
| Content | De posttekst |
| Channels | Doelplatforms |
| Publish at | Geplande tijd |
| Media URL | Optionele bijlage |
| Approved | De poort. yes of niets |
| Published | Teruggeschreven na posten |
De kolom Approved bestaat omdat een sheetrij zichtbaar is voor de workflow zodra hij is aangemaakt, ook terwijl iemand hem nog aan het typen is.
Let op de quota
Een spreadsheet maakt het triviaal om vijftig rijen te plakken, en vijftig rijen is vijftig posts.
- Posts: Free: 3/dag. Pro: 30/dag. Business: onbeperkt.
- API-verzoeken/dag: Free: 30. Pro: 5.000. Business: 50.000.
- Channels: Free: 3 (1 per platform). Pro: 30 (2 per platform). Business: 75 (5 per platform).
Een workflow die elke 15 minuten pollt, verbruikt 96 verzoeken per dag voordat er iets is gepubliceerd, dus de gratis laag draait dit niet.
Check de lengte
Een spreadsheetcel bevat veel meer tekst dan de meeste platforms accepteren, en niets in het sheet waarschuwt je daarvoor. Tekenlimieten worden gecontroleerd wanneer de post wordt aangemaakt, dus je krijgt een duidelijke fout in plaats van een afgekapte post, maar de workflow moet dat ergens loggen waar je het ook echt ziet.
Begin met concepten
Laat het de eerste week naar concepten lopen. De kolommapping is het deel dat misgaat, en het is duidelijk zichtbaar in een lijst met concepten.
BulkPublish publiceert naar 15 platforms: Facebook, Instagram, TikTok, YouTube, X, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr en Snapchat.
De korte versie
Als het sheet een afgerond plan is, exporteer het en importeer de CSV in plaats van iets te bouwen. Als het een levende wachtrij is, poll op een schema en filter op kolommen in plaats van de nieuwe-rij-trigger te gebruiken, want spreadsheets worden herordend en positiegebaseerde tracking produceert duplicaten. Poort op een Approved-kolom, en schrijf terug na publicatie.