Hoe voer je bulkcontentgeneratie uit met Make.com en OpenAI?
Als je in één keer tientallen of honderden stukken content wilt genereren, is prompts een voor een kopiëren geen realistische optie. Deze pagina legt uit hoe je in Make.com een geautomatiseerde pipeline bouwt die je databron koppelt aan OpenAI, elke rij afzonderlijk verwerkt en de resultaten zonder handmatige invoer terugschrijft. Ook komt aan bod hoe je omgaat met de rate limit-fouten die zulke workflows vaak halverwege een run laten vastlopen.
Bijdrage van
SaaS Hackers
Kort antwoord: Je kunt bulkcontentgeneratie uitvoeren met Make.com en OpenAI door een scenario te bouwen dat een databron doorloopt, voor elke rij de OpenAI-module aanroept en rate limits afvangt met ingebouwde foutafhandeling en sleep-modules. Zo vervang je handmatig werk per prompt door een herhaalbare, geautomatiseerde pipeline die schaalt naar honderden outputs per run.
Content genereren met OpenAI is eenvoudig als je een of twee teksten nodig hebt. Het werkt snel niet meer als je in één sessie 50 productbeschrijvingen, 200 e-mailvarianten of een hele maand aan social posts nodig hebt. Prompts kopiëren en plakken is geen workflow. Het is een bottleneck.
Make.com lost dit op door als orkestratielaag tussen je data en de API van OpenAI te fungeren. Je legt de logica één keer vast, wijst naar je databron en laat het draaien. Deze gids laat precies zien hoe je die pipeline bouwt, inclusief hoe je omgaat met de rate limit-fouten waar de meeste mensen de eerste keer tegenaan lopen.
Wat je nodig hebt voordat je begint
- Een Make.com-account (een betaald abonnement voor scenario's met meer dan 1.000 operaties per maand)
- Een OpenAI API-sleutel met voldoende tegoed
- Een databron met je input (Google Sheets, Airtable of een CSV zijn het meest gebruikelijk)
- Een duidelijke prompttemplate met een of meer dynamische variabelen
Als je databron een Google Sheet is, structureer die dan zo dat elke rij één contentopdracht is. Kolom A kan bijvoorbeeld een productnaam zijn, kolom B een korte beschrijving en kolom C de doelgroep. Je Make-scenario leest elke rij en zet die waarden in je prompt.
Zo koppel je Make.com aan OpenAI voor bulkcontent
Stap 1: maak een nieuw scenario en voeg een databronmodule toe
Open Make.com en maak een nieuw scenario. Voeg de triggermodule toe die bij je databron past:
- Google Sheets: gebruik "Search Rows" om alle rijen uit je inputsheet op te halen
- Airtable: gebruik "Search Records" met een filter voor rijen die nog niet zijn verwerkt
- HTTP-module: gebruik deze als je data uit een eigen database of API haalt
Stel de module in om alle rijen te retourneren in plaats van één rij. Make stuurt elke rij als aparte bundle door de rest van het scenario.
Stap 2: voeg een Iterator-module toe
Voeg na je databronmodule een Iterator toe. Die splitst je array met rijen op in losse items, zodat elk item afzonderlijk door de OpenAI-module gaat. Zonder deze stap probeert Make de hele dataset in één aanroep naar OpenAI te sturen, wat één output oplevert in plaats van één per rij.
Verbind de output van de Iterator met de volgende module in je keten.
Stap 3: voeg de OpenAI (ChatGPT)-module toe
Voeg de OpenAI (ChatGPT)-module toe en kies "Create a Completion" of "Create a Chat Completion", afhankelijk van het model dat je gebruikt. GPT-4o en GPT-3.5-turbo gebruiken allebei Chat Completions.
Schrijf in het promptveld je template en koppel de dynamische variabelen vanuit de Iterator:
Write a 150-word product description for {{1.product_name}}.
Target audience: {{1.target_audience}}.
Tone: {{1.tone}}.
Include one specific benefit and one clear call to action.De verwijzingen tussen dubbele haakjes halen automatisch de bijbehorende kolomwaarden uit elke rij op.
Stel je model, max tokens en temperature in. Houd temperature voor consistente batchoutput tussen 0,3 en 0,7. Hogere waarden zorgen voor meer variatie, wat handig is voor social copy maar minder voor gestructureerde productbeschrijvingen. Als je op grote schaal SEO-gedreven content produceert, helpt het ook om de aanpak van B2B SaaS-contentmarketingbureaus te bekijken om briefings en outputkwaliteit te standaardiseren.
Stap 4: schrijf de output terug naar je databron
Voeg na de OpenAI-module een module toe die het resultaat terugschrijft naar je sheet of database. Gebruik voor Google Sheets "Update a Row" en koppel de gegenereerde content aan je outputkolom. Gebruik voor Airtable "Update a Record."
Koppel het responsveld van OpenAI (meestal choices[0].message.content) aan de juiste cel. Voeg ook een tijdstempelkolom toe, zodat je kunt bijhouden wanneer elke rij is verwerkt.
Zo ga je in Make.com om met rate limits van OpenAI
Rate limits zijn het vaakst de oorzaak van fouten in bulkcontentscenario's. OpenAI hanteert limieten voor zowel requests per minuut (RPM) als tokens per minuut (TPM). Als je scenario sneller requests verstuurt dan je tier toestaat, krijg je 429-fouten en mislukt je scenario halverwege de run.
Voeg een Sleep-module toe tussen requests
De eenvoudigste oplossing is een Sleep-module direct na de OpenAI-module en voor de outputmodule. Stel die in op een pauze van 1 tot 3 seconden tussen elke iteratie. Dat verlaagt je doorvoersnelheid, maar houdt je ruim binnen de standaard rate limits van de meeste OpenAI-tiers.
Ter referentie: de gratis tier van OpenAI staat 3 RPM toe op GPT-4o. Tier 1 (na $5 uitgaven) staat 500 RPM toe. Zit je op Tier 1, dan geeft een sleep van 1 seconde je een comfortabele marge. Zit je op de gratis tier, stel de sleep dan in op 20 seconden.
Gebruik de ingebouwde foutafhandeling van Make voor 429-fouten
Voeg een error handler toe aan je OpenAI-module om 429-responses af te vangen zonder dat het hele scenario crasht:
- Klik met de rechtermuisknop op de OpenAI-module
- Selecteer "Add error handler"
- Kies "Resume" als handlertype
- Voeg binnen de error handler nog een Sleep-module toe, ingesteld op 60 seconden
- Leid de flow terug naar de OpenAI-module om hetzelfde request opnieuw uit te voeren
Zo ontstaat een automatische retry-loop. Als OpenAI een rate limit-fout teruggeeft, wacht Make 60 seconden en probeert het opnieuw, in plaats van de hele run te laten mislukken en je voortgang te verliezen.
Splits grote batches op in kleinere runs
Als je in één keer meer dan 200 rijen verwerkt, splits de opdracht dan op. Gebruik een filter in je databronmodule om in de ene scenario-run rijen 1-100 op te halen en in de volgende rijen 101-200. Je kunt dit automatiseren met een teller in een Make-datastore die na elke run ophoogt.
Zo structureer je je prompttemplate voor consistente batchoutput
Promptkwaliteit telt zwaarder op schaal, omdat je niet elke output afzonderlijk kunt beoordelen voordat de volgende draait. Een vage prompt die eenmalig acceptabele resultaten oplevert, geeft over 100 rijen wild wisselende resultaten.
Gebruik expliciete outputbeperkingen:
Write exactly 3 bullet points. Each bullet must be under 20 words.
Do not include an introduction or conclusion. Start directly with the first bullet.Geef formaateisen op:
Return only the finished copy. Do not include explanations, labels, or commentary.Gebruik rolkadering om de toon vast te leggen:
You are a direct-response copywriter for a B2B SaaS brand.
Write in second person. Avoid jargon.Als je je prompt test op 5 tot 10 representatieve rijen voordat je de hele batch draait, scheelt dat veel opruimwerk. Als de output pipelinegeneratie, consistente messaging of campagnesegmentatie ondersteunt, kan het ook nuttig zijn om je workflow te vergelijken met hoe gespecialiseerde B2B SaaS Digital Marketing-bureaus herhaalbare contentsystemen inrichten.
Zo houd je batchoutput bij en beheer je die in Make.com
Gebruik een statuskolom in je databron
Voeg een kolom "Status" toe aan je inputsheet met waarden als "Pending", "Processing" en "Done". Werk die bij aan het begin en einde van het traject van elke rij door het scenario. Zo kun je bij de volgende run filteren op onverwerkte rijen en voorkom je dubbel werk als het scenario halverwege mislukt.
Sla outputs op in een aparte sheet of tabel
Schrijf gegenereerde content naar een aparte outputtabel in plaats van je inputdata te overschrijven. Zo blijft je brondata schoon en heb je een volledig overzicht van elk gegenereerd stuk, inclusief het tijdstempel en de inputwaarden waarmee het is gemaakt.
Log fouten in een aparte sheet
Voeg vanuit je error handler een tweede outputpad toe dat mislukte rijen naar een foutenlogsheet schrijft. Neem de rij-ID, de foutmelding en het tijdstempel op. Na elke run kun je mislukte rijen apart opnieuw verwerken zonder de geslaagde aan te raken.
Wat is het verschil tussen bulkverwerking in Make.com en de Batch API van OpenAI?
De Batch API van OpenAI is een apart product voor ontwikkelaars die grote aantallen requests via directe API-aanroepen willen indienen en de resultaten asynchroon willen ophalen, vaak tegen 50% lagere kosten. Het is gebouwd voor engineeringteams die vertrouwd zijn met het rechtstreeks werken met JSON-bestanden en API-endpoints.
De aanpak van Make.com is anders. Je krijgt een visuele no-code interface waarmee je dezelfde bulkverwerkingslogica bouwt zonder handmatig API-aanroepen te schrijven. Je krijgt realtime inzicht in de status, native foutafhandeling en directe integratie met tools als Google Sheets, Airtable, Slack en Notion in dezelfde workflow. Voor marketingteams, content ops-managers en SaaS-founders die contentproductie willen automatiseren zonder afhankelijk te zijn van engineering, is Make.com de snelste weg naar een werkende pipeline.
De twee aanpakken sluiten elkaar niet uit. Als je content op zeer groot volume genereert (tienduizenden rijen), kun je Make gebruiken om een Batch API-job van OpenAI te starten en daarna te pollen naar de resultaten zodra die klaar zijn. Dat is een geavanceerder patroon dat de moeite waard is om te verkennen zodra je basispipeline betrouwbaar draait.
Veelgestelde vragen
V: Hoeveel rijen kan Make.com met OpenAI verwerken in één scenario-run?
A: Make.com legt geen harde limiet op aan het aantal iteraties per scenario-run, maar de operatielimiet van je abonnement blijft van toepassing. Elke OpenAI-aanroep telt als één operatie. Bij het Core-abonnement van Make (10.000 operaties per maand) verbruikt één batch van 500 rijen 5% van je maandelijkse tegoed. Houd hier rekening mee bij je keuze van een abonnement, voordat je regelmatig grote batches draait.
V: Wat gebeurt er als mijn Make-scenario halverwege een bulkrun voor content mislukt?
A: Make registreert het punt waarop het misging, en in de uitvoeringsgeschiedenis zie je welke bundles zijn afgerond. Heb je een statuskolom in je gegevensbron, dan worden alleen rijen met de status "Done" bij de volgende run overgeslagen. Zonder statuskolom loop je het risico dat afgeronde rijen opnieuw worden verwerkt en dubbele content ontstaat. Bouw statusbewaking altijd in bulkscenario's in voordat je ze op grote schaal draait.
V: Is Make.com met OpenAI goedkoper dan rechtstreeks OpenAI's Batch API gebruiken?
A: De Batch API van OpenAI biedt 50% lagere tokenkosten dan de standaard API-prijzen, waardoor die bij zeer grote volumes goedkoper is. Make.com rekent daar bovenop zijn eigen operatiekosten voor de standaard API-prijzen van OpenAI. Bij runs van minder dan een paar honderd rijen per week is de aanpak met Make meestal kostenefficiënter, als je de tijdwinst op het gebied van opzet en onderhoud meetelt. Bij tienduizenden rijen per maand is een hybride aanpak (Make die Batch API-jobs start) het evalueren waard.
V: Kan ik met Make.com in bulk afbeeldingen genereren met DALL-E van OpenAI, naast tekst?
A: Ja. De OpenAI-module van Make bevat de actie "Create an Image", die DALL-E aanroept. Je kunt in hetzelfde scenario een tekstaanroep en een afbeeldingsaanroep na elkaar zetten, met de tekstuitvoer als prompt voor de afbeelding. Elke afbeelding telt als een aparte operatie en een aparte API-aanroep, dus houd met beide rekening bij je berekeningen van ratelimits en kosten.
V: Is deze aanpak geschikt voor niet-technische SaaS-teams?
A: Make.com is hiervoor gebouwd. Je hoeft geen code te schrijven om een werkende bulkpipeline voor content te bouwen. De modules voor Google Sheets, OpenAI en foutafhandeling werk je allemaal met aanwijzen en klikken in. SaaS-teams die ook aan zoekzichtbaarheid van de gegenereerde assets denken, kunnen zich vergelijken met gespecialiseerde B2B SaaS SEO-bureaus, maar je begint het best nog altijd met een testbatch van 10 rijen om je prompt en uitvoerformaat te valideren voordat je opschaalt naar je volledige dataset.
Bijdrage van
SaaS Hackers


