# Runs

Een **run** maakt van één verzoek advertentiescripts. Je typt op **Marketing** → **Overzicht** wat je wilt, klikt op **Scripts maken**, en de run doorloopt zijn stappen op je eigen OpenRouter-sleutel. De scripts die hij schrijft komen onder [Scripts](/nl/docs/marketing/scripts) terecht om te beoordelen.

## Een run starten

Het **Overzicht** vraagt "Wat wil je maken?" boven één vak. Beschrijf de advertenties in een zin, bijvoorbeeld "Vijf video-advertenties voor onze voorjaarsactie, gericht op nieuwe kopers", en klik op **Scripts maken** (of druk op Ctrl+Enter of Cmd+Enter). De pagina van de run opent meteen.

Een run gebruikt de merkcontext die het gekozen merk heeft: profiel, klanttypes, citaten, swipe-advertenties en actieve kennis. Niets is vooraf verplicht. **Ideeën** onder het vak stellen vragen voor uit de eigen gegevens van het merk, en maximaal twee zachte hints zeggen wat er nog ontbreekt, elk met een link naar dat onderdeel van [Merk](/nl/docs/marketing/brand-context). Ze houden je nooit tegen. Zie [Overzicht](/nl/docs/marketing/index#overzicht).

**Meer opties** opent drie optionele keuzes, standaard dicht:

| Optie | Wat het doet |
| --- | --- |
| **Project** | Koppelt de run en zijn scripts aan een project. Standaard **Geen project**. |
| **Klanttype** | Schrijft voor één klanttype. Standaard **Elk klanttype**. |
| **Aantal scripts** | 1 tot 10. **Standaard** gebruikt **Scripts per run** uit de instellingen van de [AI-pijplijn](/nl/docs/marketing/settings#ai-pijplijn) (5, tenzij je dat hebt gewijzigd), behalve als je vraag een aantal noemt: "drie video-advertenties" of "3 scripts" maakt er drie. |

De knop staat uit zolang er geen werkende OpenRouter-sleutel gekoppeld is, behalve als de stappen van het merk op [je agent](/nl/docs/marketing/agent) draaien: die heeft geen sleutel nodig. De accounteigenaar ziet de hint **Koppel je OpenRouter-sleutel om te starten**, met een link naar **Verbindingen**; teamleden zien **Vraag de accounteigenaar om een OpenRouter-sleutel te koppelen**. Zie [Verbindingen](/nl/docs/marketing/settings#verbindingen).

Onder het vak toont **Recente runs** de laatste vijf runs van het merk met hun status en aantal scripts. De laatste run toont ook een klein plaatje van zijn [pijplijncanvas](#het-pijplijncanvas). Klik op een rij om hem te openen. **Meer tonen** onder de lijst laadt oudere runs, en **Kosten** naast de titel opent [Kosten](/nl/docs/marketing/costs).

### Hoeveel scripts een run schrijft

Een aantal dat je kiest onder **Aantal scripts** wint altijd. Staat het op **Standaard**, dan bepaalt een aantal van 1 tot 10 in je vraag het aantal als het direct voor een woord als scripts, advertenties, video's of varianten staat, als cijfer of als woord in het Nederlands, Engels of Turks: "Drie video-advertenties voor nieuwe kopers", "Maak 4 korte advertenties" of "three video ads" zetten elk het aantal. Jaartallen, prijzen, percentages, tijdsduren en "10x" tellen niet ("Advertenties voor onze actie van €5 in 2026" gebruikt de standaard), net als een vraag met twee verschillende aantallen. In alle andere gevallen geldt **Scripts per run**. De pagina van de run toont het gebruikte aantal onder **Gevraagde scripts**.

### Dieper gaan op gekozen scripts

Vink op **Marketing** → **Scripts** tot 5 scripts aan die je goed vindt en klik op **Dieper gaan**, daarna op **Bevestigen**. Het **Overzicht** opent met de gekozen scripts als chips onder **Dieper op**, boven het vak, en het vak begint met een notitie die je kunt aanpassen, zoals "korter", "emotioneler" of "voor het nieuwe product". Klik op het kruisje van een chip om dat script weg te laten. Met meer dan 5 aangevinkt meldt de lijst **Dieper gaan werkt met maximaal 5 scripts** en opent er niets.

De nieuwe run houdt het idee van de gekozen scripts vast en schrijft er nieuwe hooks, opbouw en lengte voor. De stappen voor invalshoeken en scripts krijgen de gekozen scripts volledig mee, met hun advertentieresultaten als die gekoppeld zijn; onderzoek, beoordelen en scoren werken zoals bij elke run. Laat je **Alle producten** staan, dan gaat de run over de producten van de eigen runs van de gekozen scripts; producten die je kiest gaan voor. De pagina van de run toont de gekozen scripts onder **Dieper op** in **Details**, elk met een link naar zijn script.

## De stappen

Elke run doorloopt tot vier stappen, in deze volgorde:

| Stap | Wat het doet |
| --- | --- |
| **Onderzoek** | Leest je merkcontext en vindt inzichten, pijnpunten, wensen en bezwaren. Feiten die het waard lijken om te bewaren worden voorgestelde kennisitems, die je onder [Kennis](/nl/docs/marketing/knowledge) wel of niet accepteert. |
| **Invalshoeken** | Maakt van het onderzoek invalshoeken om voor te schrijven. |
| **Scripts** | Schrijft de scripts, verdeeld over de invalshoeken, elk met hookvarianten, tekst, call to action en drie advertentieteksten. |
| **Controle** | Toetst elk script aan je merk en stuurt een afgekeurd script één keer terug om te herschrijven. Zie [De controle](/nl/docs/marketing/scripts#de-controle). |

**Onderzoek** en **Controle** kun je uitzetten in de instellingen van de AI-pijplijn; een uitgezette stap toont **Overgeslagen**. **Invalshoeken** en **Scripts** draaien altijd.

## De pagina van een run

De pagina van een run (`/m/marketing/runs/{id}`) heeft geen item in de zijbalk: open hem vanuit **Recente runs** of vanuit een script. Hij werkt zichzelf bij zolang de run bezig is.

- De titel is je verzoek, met de status van de run ernaast. Daaronder: wanneer hij startte en de kosten tot nu toe. Klik op de kosten om [Kosten](/nl/docs/marketing/costs) te openen.
- **Pipeline** toont de run als een canvas met stapkaarten (zie [Het pijplijncanvas](#het-pijplijncanvas)). Klik op een kaart voor de details van die stap.
- **Scripts** zegt hoeveel scripts de run maakte en hoeveel er nog te beoordelen zijn. **Scripts beoordelen** bovenaan opent ze: de scriptlijst, gefilterd op deze run.
- De volgorde volgt de run: zolang hij bezig, gepauzeerd, mislukt of geannuleerd is, staat **Pipeline** bovenaan; is hij klaar en schreef hij scripts, dan staat **Scripts** bovenaan, zodat je het resultaat als eerste ziet.
- **Wat de agent te horen kreeg** toont de briefing die de run kreeg: elk deel van je merkcontext, hoeveel items erin gingen en hoeveel er zijn weggelaten om te passen. Geaccepteerde [inzichten](/nl/docs/marketing/learning#inzichten-in-de-briefing) staan daar als "What worked before".
- **Details** aan de zijkant: merk, **Draait op** (**Borkol** of **Je agent**), project, klanttype, **Gevraagde scripts**, **Tokens in / uit**, **Kosten**, **Geen dataopslag (ZDR)** (**Aan** of **Uit**) en **Kostenlimiet** (alleen bij runs op Borkol).

### Het pijplijncanvas

**Pipeline** tekent één kaart per stap, **Onderzoek**, **Invalshoeken**, **Scripts** en **Controle**, verbonden door een lijn in de volgorde waarin ze draaien. Elke kaart toont de status van de stap, het gebruikte model (bij runs op Borkol), hoe lang hij duurde en wat hij kostte. Het canvas is een vaste weergave van de run: je kunt kaarten niet verplaatsen of verbinden.

De kaarten veranderen vanzelf zolang de run bezig is. Staan live updates aan, dan zie je een nieuwe status van een stap op het moment dat hij verandert. Staan live updates uit of valt de verbinding weg, dan kijkt de pagina om de paar seconden naar de run, zodat hij toch bijblijft, alleen iets later.

Boven het canvas kan een zachte hint staan. Die houdt de run nooit tegen:

- "Koppel je OpenRouter-sleutel zodat de volgende run kan starten." met **Verbindingen openen**, als er geen werkende sleutel gekoppeld is (niet bij een merk dat op je agent draait). Teamleden zien in plaats daarvan "Vraag de accounteigenaar om een OpenRouter-sleutel te koppelen om te starten." zonder link.
- "Scripts worden beter met merkgegevens. Vul ze aan op de merkpagina.", met een link naar **Wat je verkoopt** op Merk, als de [score voor de inrichting](/nl/docs/marketing/brand-context#score-voor-de-inrichting) van het merk lager is dan 50%.

### Het stappaneel

Klik op een kaart (of ga er met Tab naartoe en druk op Enter) om rechts het stappaneel te openen. Het toont wat de oude stappenlijst toonde, en meer:

- De naam van de stap met zijn status, en wat de stap doet. Een mislukte stap toont waarom (zie [Als een stap mislukt](#als-een-stap-mislukt)).
- **Model**, **Status**, **Gestart**, **Duur**, **Tokens in / uit**, **Tokens uit cache**, **Kosten** met de bron, **Pogingen** en **Playbook**. Bij een run op je agent ook **Wacht sinds** en **Opgepakt door je agent**.
- **Inzichten uit onderzoek** bij de stap Onderzoek en **Invalshoeken** bij de stap Invalshoeken: wat die stappen vonden. Ze stonden eerst op de pagina van de run.
- Bij de stap Scripts hoeveel scripts de run maakte en **Scripts beoordelen**; bij de stap Controle **Gemarkeerde scripts beoordelen**.

Druk op Escape of klik ernaast om het te sluiten.

### Het model van een stap wisselen voor de volgende run

Onderaan het stappaneel, onder **Volgende runs**, staat **Model voor de volgende runs**: het model van het merk voor deze stap. Kies er een uit de lijst of typ een OpenRouter-model-id en klik op **Opslaan**; het paneel zegt "Model opgeslagen voor de volgende runs." Het is dezelfde instelling als het model van de stap onder [AI-pijplijn](/nl/docs/marketing/settings#ai-pijplijn), die je opent met **Alle instellingen voor de AI-pijplijn**.

De run die je bekijkt houdt het model waarmee hij draaide ("Deze run gebruikte {model}. Runs die al gestart zijn houden hun model."), net als elke run die al gestart is. De wijziging geldt vanaf de volgende run. Je hebt er bewerktoegang tot marketing voor nodig, net als voor de AI-pijplijn. Bij een run op je agent zegt het paneel in plaats daarvan "Je agent kiest zelf zijn modellen."

### Statussen van een run

| Status | Betekenis |
| --- | --- |
| **Wacht** | Een andere run van hetzelfde merk is bezig; deze start zodra die klaar is |
| **Bezig** | Een stap is aan het werk |
| **Gepauzeerd op runlimiet** | De run bereikte zijn eigen kostenlimiet vóór de volgende modelaanroep |
| **Gepauzeerd op maandlimiet** | Het merk bereikte zijn maandlimiet vóór de volgende modelaanroep |
| **Klaar** | Alle stappen zijn afgerond |
| **Mislukt** | Een stap is mislukt; zie de stap voor de reden |
| **Geannuleerd** | Iemand heeft de run geannuleerd |

**Gepauzeerd op runlimiet** en **Gepauzeerd op maandlimiet** zijn twee verschillende pauzes: de eerste is de eigen kostenlimiet van deze run, de tweede de limiet van het merk voor de maand. Elk heeft een eigen **Doorgaan** (zie [De kostenlimiet](/nl/docs/marketing/runs#de-kostenlimiet) en [De maandlimiet](/nl/docs/marketing/runs#de-maandlimiet)).

Stappen tonen **Niet gestart**, **Wacht**, **Bezig**, **Klaar**, **Mislukt**, **Overgeslagen** of **Gepauzeerd**. Bij een merk waarvan de stappen op [je agent](/nl/docs/marketing/agent) draaien, kan een stap ook **Wacht op je agent** tonen (klaar, nog niet opgepakt) of **Vastgelopen** (30 minuten gewacht zonder te worden opgepakt). Een vastgelopen stap zet "Je agent heeft een stap niet op tijd opgepakt. Controleer of je agent draait en zijn schema aan staat." bovenaan de run, met een link naar **Je eigen agent**.

## Kosten

Elke modelaanroep wordt op je OpenRouter-account gefactureerd; Borkol factureert geen AI-tokens. De pagina van de run toont de kosten per stap en in totaal, met waar het bedrag vandaan komt:

- **gemeten**: OpenRouter meldde de kosten van elke aanroep.
- **geschat**: OpenRouter meldde ze voor een aanroep niet, dus Borkol schatte ze op basis van de catalogusprijs van het model.
- **kosten onbekend**: Borkol heeft geen prijs voor het gekozen model en OpenRouter meldde er geen.
- **gemeld door je agent**: de stap draaide op [je agent](/nl/docs/marketing/agent), die zijn eigen kosten meldde. Je agent betaalt zijn modellen, niet je OpenRouter-sleutel.

De activiteitenpagina van OpenRouter blijft leidend voor wat je hebt betaald.

### De kostenlimiet

Elke run heeft een **Kostenlimiet** (de instelling **Kostenlimiet per run**, standaard $1,00, voor runs op Borkol; een run op je agent wordt er nooit op gepauzeerd). Vóór elke modelaanroep kijkt de run wat hij heeft uitgegeven. Is de limiet bereikt, dan stopt hij vóór de volgende aanroep: de run toont **Gepauzeerd op runlimiet** en de pagina zegt "Gepauzeerd op de kostenlimiet: {spent} van {cap} uitgegeven. Ga door met een hogere limiet of annuleer de run." Scripts die al geschreven zijn blijven staan.

**Doorgaan** vraagt om een **Nieuwe kostenlimiet**, ingevuld met het dubbele van de huidige. Die moet hoger zijn dan wat al is uitgegeven, en maximaal $50. De gepauzeerde stap gaat daarna verder. Doorgaan vraagt de goedkeurrechten, dezelfde waarmee je scripts goedkeurt.

### De maandlimiet

Elk merk heeft ook een **Maandlimiet**, standaard $25, in te stellen onder [Kosten](/nl/docs/marketing/costs#maandlimiet). Vóór elke modelaanroep kijkt een run op Borkol ook wat het merk deze maand (UTC) heeft uitgegeven. Bereikt het merk zijn maandlimiet, dan stopt de run vóór de volgende aanroep, net als bij de kostenlimiet: hij toont **Gepauzeerd op maandlimiet** en de pagina zegt "Gepauzeerd op de maandlimiet van dit merk: deze maand {spent} van {cap} uitgegeven. Ga door met een hogere maandlimiet of annuleer de run." Andere merken en runs op je agent worden niet gepauzeerd.

**Doorgaan** vraagt dan om een **Nieuwe maandlimiet**, ingevuld met het dubbele van de huidige. Die moet hoger zijn dan de uitgaven van deze maand, en maximaal $5.000. De nieuwe limiet wordt voor het merk opgeslagen en de gepauzeerde stap gaat verder. Voor het verhogen van de maandlimiet heb je de goedkeurrechten nodig.

## Gouden controles

Een [gouden controle](/nl/docs/marketing/learning#playbookwijzigingen) van een playbookwijziging is ook een run, dus de runlimiet, de maandlimiet, het vastleggen van kosten en het canvas gelden allemaal. Hij schrijft geen scripts in **Scripts** en staat niet bij **Recente runs**; zijn pagina toont **Gouden controle** met "Deze gouden controle vergelijkt het huidige en het voorgestelde playbook. De scores staan bij het voorstel." en **Open de playbookwijziging**. Stappen die hij niet nodig heeft, tonen **Overgeslagen**.

## Annuleren of opnieuw proberen

- **Meer acties** → **Run annuleren** stopt een wachtende, lopende of gepauzeerde run nadat je "Deze run annuleren?" bevestigt. Stappen die nog niet zijn uitgevoerd worden overgeslagen; scripts die al zijn geschreven blijven staan.
- Een run met de status **Mislukt** heeft **Opnieuw proberen**, dat de mislukte stap opnieuw uitvoert met dezelfde kostenlimiet.

### Als een stap mislukt

| Melding | Wat je doet |
| --- | --- |
| "Geen werkende OpenRouter-sleutel." | Koppel of vervang de sleutel onder [Verbindingen](/nl/docs/marketing/settings#verbindingen) |
| "Het OpenRouter-account heeft geen tegoed meer." | Vul je tegoed aan bij OpenRouter en klik op **Opnieuw proberen** |
| "De modelaanbieder was druk of begrensde het aantal verzoeken." | Wacht even en klik op **Opnieuw proberen** |
| "Het model gaf twee keer uitvoer in de verkeerde vorm." | Klik op **Opnieuw proberen**, of kies een ander model voor de stap |
| "Dit model heeft op OpenRouter geen aanbieder met Geen dataopslag (ZDR)." | Kies een ander model voor de stap in het stappaneel of de instellingen van de AI-pijplijn en klik op **Opnieuw proberen** |
| "Deze stap is mislukt." | Klik op **Opnieuw proberen**; blijft het mislukken, neem dan contact op met Borkol |

## Eén run tegelijk

Standaard werkt er per merk één run tegelijk (**Runs tegelijk**, maximaal 3). Een run die je start terwijl een andere bezig is toont **Wacht** en start vanzelf zodra de eerdere klaar is, oudste eerst. Runs van een ander merk worden niet opgehouden.

## Meldingen

Als een run eindigt, toont de bel in de balk één melding met je verzoek erachter: "3 scripts klaar voor review" als hij scripts schreef om te beoordelen, anders "Marketingrun klaar" of "Marketingrun mislukt", en "Marketingrun gepauzeerd op de kostenlimiet" of "Marketingrun gepauzeerd op de maandlimiet" als hij pauzeerde. Bij een merk dat op je agent draait, stuurt een stap die 30 minuten door niemand wordt opgepakt één keer per stap "Je agent heeft {step} niet opgepakt". Klik erop om de run te openen. Een run die je annuleert stuurt niets. De mobiele app stuurt dezelfde gebeurtenissen als pushmelding.

## Wie wat mag

Starten, annuleren, **Opnieuw proberen** en het model van een stap wisselen vragen bewerktoegang tot marketing. **Doorgaan** na de kostenlimiet of de maandlimiet vraagt de goedkeurrechten. Leden met leestoegang zien runs en hun pagina's.

## Op mobiel

De Borkol-app start runs vanuit hetzelfde vraagvak, toont runs per dag en laat een run zien als lijst van zijn stappen met status, model, duur en kosten. **Doorgaan**, **Opnieuw proberen** en **Run annuleren** volgen dezelfde regels als hier; het pijplijncanvas, het stappaneel en de briefing blijven op het web. Zie [Marketing op mobiel](/nl/docs/marketing/mobile).
