---
title: "Uitgaande campagnes"
description: "Upload een contactenlijst en laat een spraakagent deze afwerken — met belvensters, nieuwe pogingen en live voortgang."
---

Campagnes bellen namens jou een lijst met contacten: kies een agent, upload een
CSV, stel in wanneer bellen is toegestaan en ThunderPhone werkt de lijst af
— met nieuwe pogingen voor onbeantwoorde oproepen en voicemail volgens het schema
dat je kiest. Je vindt ze onder **Betrokkenheid → Campagnes** (`/dashboard/campaigns`).

Gebruik voor eenmalige programmatische oproepen in plaats daarvan de
[API voor uitgaande oproepen](/nl/guides/place-outbound-calls).

## Vereisten

- Een uitgerolde spraakagent.
- Een telefoonnummer dat is ingeschakeld voor uitgaande oproepen. VoIP-nummers van klanten blijven campagnes ondersteunen. ThunderPhone-nummers beginnen alleen met inkomende oproepen; een organisatiebeheerder kan uitgaand bellen aanvragen op de pagina Telefoonnummers. ThunderPhone beoordeelt elk verzoek handmatig en goedgekeurde nummers kunnen campagnes uitvoeren. Zie
  [Een VoIP-provider verbinden](/nl/guides/voip-providers).
- Contacten als CSV-bestand (of geplakte JSON) met een kolom `phone` of
  `phone_number`. **Maximaal 5.000 rijen per upload**, UTF-8-gecodeerd.
  Nieuwe JSON-uploads moeten plat zijn: extra waarden mogen tekenreeksen, getallen,
  booleaanse waarden of `null` zijn. Rijen met arrays of geneste objecten worden
  afzonderlijk afgewezen met een validatiemelding; geldige rijen worden nog steeds geïmporteerd. CSV-cellen
  zijn tekenreeksen. Geaccepteerde extra kolommen worden bewaard als variabelen per contact in de
  contactrecords van de campagne en automatisch meegegeven bij elke belpoging. ThunderPhone
  classificeert ook de opgeslagen prompt van de agent vóór elke uitgaande oproep om te bepalen of
  de agent door een telefoonmenu moet navigeren. Koppen zoals `name` en `account_id`
  komen overeen met `{{name}}` en `{{account_id}}` in de prompt van de opgeslagen agent. Naamtoewijzing kan ook kolommen combineren tot `name`. Zie
  [variabelen per oproep](/nl/guides/call-variables) voor standaardwaarden, naamgevingsregels,
  de objectlimiet van 32 KB en waarden die worden geretourneerd in webhooks bij voltooiing.

Oudere contactrecords kunnen geneste metadata uit eerdere JSON-uploads bevatten.
Die metadata blijft bij het opgeslagen contact. Elke belpoging laat niet-scalaire waarden weg uit
de payload met variabelen en registreert de genegeerde sleutelnamen voor die poging, zonder
waarden te registreren. Nieuwe pogingen gebruiken dezelfde filtering.

## Een campagne maken

<Steps>
  <Step title="Klik op Nieuwe campagne">
    Geef de campagne een naam, kies de **spraakagent** en selecteer het **van-nummer**
    (een van je nummers waarop uitgaande gesprekken zijn ingeschakeld).
  </Step>
  <Step title="Upload de CSV met contacten">
    Rijen met een ongeldig telefoonnummer of ongeldige variabelen worden afzonderlijk afgewezen en
    teruggekoppeld met hun rijnummers — de rest wordt probleemloos geïmporteerd.
  </Step>
  <Step title="Stel het belvenster in">
    Kies een **tijdzone** en een venster voor **dagelijkse start/eindtijd**; de campagne
    belt alleen binnen dit venster. De tijdzone is standaard die van je van-nummer
    (het netnummer in de VS en Canada, het land elders) of, voor
    nummers die meerdere zones beslaan, zoals gratis nummers, die van je
    browser. De hint onder het veld geeft aan welke van toepassing is. Standaard is het venster
    9.00–17.00 uur. Een venster dat vóór 8.00 uur begint of na 21.00 uur eindigt, toont een
    waarschuwing: gesprekken buiten deze uren kunnen regels voor beltijden schenden, zoals
    die van de TCPA. Een eindtijd vóór de starttijd loopt door tot na middernacht: 22:00 →
    02:00 belt van 22.00 uur tot 2.00 uur de volgende dag, met een waarschuwing. Het
    venster geldt in de tijdzone van de campagne, niet die van elk contact, dus groepeer
    contacten op tijdzone wanneer ze verspreid zijn.
    Stel eventueel een **starttijd** in om de start te plannen en een
    **eindtijd** waarna de campagne automatisch wordt voltooid.
  </Step>
  <Step title="Stel het tempo en opnieuw proberen af">
    - **Gelijktijdige oproepen** — hoeveel oproepen deze campagne tegelijk uitvoert
      (1–10, standaard 3). Campagnes starten geen nieuwe oproep zolang je
      organisatie 10 uitgaande oproepen in uitvoering heeft, dus parallelle
      campagnes delen dat budget. Elke oproep telt ook mee voor de
      [limiet voor gelijktijdige oproepen](/api-reference/introduction#call-limits) van je organisatie
      (standaard 20, voor inkomende, uitgaande, web- en testoproepen samen).
      Wanneer die limiet is bereikt of hetzelfde nummer in de
      afgelopen 10 seconden is gebeld, wacht het contact eenvoudig op een volgende ronde; de
      pogingen worden niet verbruikt.
    - **Maximumaantal pogingen** — hoe vaak elk contact mag worden gebeld
      (1–10, standaard 2).
    - **Wachttijd voor opnieuw proberen (minuten)** — de wachttijd vóór een nieuwe poging (minimaal 30,
      standaard 60).
    - **Opnieuw proberen bij** — welke uitkomsten een nieuwe poging activeren: **geen antwoord**,
      **voicemail**, **mislukt** (standaard allemaal ingeschakeld).

    Meer pogingen of kortere tussenpozen nodig? Neem contact op met support: medewerkers kunnen
    beide limieten voor je organisatie verhogen.
  </Step>
  <Step title="Maak een concept en start vervolgens">
    Campagnes worden als concept gemaakt — contacten kunnen alleen worden toegevoegd zolang een
    campagne een concept is. Voor het starten van een campagne is uitdrukkelijke toestemming
    voor de gesprekskosten vereist. Met een toekomstige **starttijd** wordt de campagne
    *ingepland*; anders wordt deze onmiddellijk *actief*.
  </Step>
</Steps>

<Note>
  Campagnes die vóór deze limieten zijn opgeslagen, blijven precies volgens hun configuratie actief.
  Hun pogingen en tussenpozen blijven zoals opgeslagen, ook na andere wijzigingen.
</Note>

## Hoe resultaten en nieuwe pogingen werken

Na elk gesprek krijgt het contact een resultaat — succesvolle gesprekken worden
gemarkeerd als voltooid; een gesprek dat is beoordeeld als geen antwoord, is
gedetecteerd als voicemail, of is mislukt, wordt opnieuw geprobeerd als dat
resultaat in je lijst **opnieuw proberen bij** staat en het contact nog pogingen
over heeft. Contacten zonder resterende pogingen worden gemarkeerd als
*uitgeput*; niet-opnieuw-probeerbare mislukkingen worden gemarkeerd als
*mislukt*.

<Note>
  Het kiezen wordt automatisch gepauzeerd wanneer je accountsaldo niet in orde
  is, en hervat zodra dat wel zo is. Laat
  [automatisch opwaarderen](/nl/guides/billing-and-topups) ingeschakeld voor lange campagnes.
</Note>

## Monitoren en beheren

Elke campagnekaart toont de status en voortgang (bijv. "173 van 248
voltooid"). Open een campagne voor de statusuitsplitsing, resultaten per contact
en recente gesprekken — elk item linkt naar het volledige transcript en de
opname in de Oproepgeschiedenis.

- **Pauzeren / hervatten** — pauzeren stopt nieuwe oproepen; gesprekken die al
  bezig zijn, worden normaal afgerond. Gepauzeerde campagnes kunnen worden
  bewerkt en hervat.
- **Annuleren** — stopt de campagne permanent.
- Een campagne wordt automatisch voltooid wanneer elk contact een eindstatus
  bereikt of de tijd **eindigen om** verstrijkt.

Campagnestatussen: `draft`, `scheduled`, `running`, `paused`,
`completed`, `cancelled`. Contactstatussen: `pending`, `scheduled`,
`calling`, `completed`, `failed`, `exhausted`.

## Volgende stappen

<CardGroup cols={2}>
  <Card title="Beluister gesprekken live" icon="tower-broadcast" href="/nl/guides/monitor-live-calls">
    Luister mee met campagnegesprekken terwijl ze plaatsvinden.
  </Card>
  <Card title="API voor uitgaande gesprekken" icon="phone-arrow-up-right" href="/nl/guides/place-outbound-calls">
    Plaats individuele gesprekken programmatisch.
  </Card>
</CardGroup>
