Wat zijn Gespreksnotificaties?
Met de module Gespreksnotificaties kun je automatisch gespreksgegevens versturen naar een URL naar keuze. Deze gespreksnotificaties worden verstuurd naar de opgegeven URL voor alle gesprekken binnen je portaalomgeving.
Als je deze gespreksnotificaties integreert met je CRM-software, zie je wie er heeft gebeld, het tijdstip van het gesprek en de duur.
De gespreksnotificaties worden verstuurd voor inkomende, interne en uitgaande gesprekken. Je kunt gespreksnotificaties ook gebruiken voor andere doeleinden, zoals het meten van gespreksstatistieken.
Check zeker de Webhooks om het maximale uit je telefoonservice te halen.
Instellingen voor gespreksnotificaties
- Beschrijving: Geef deze gespreksnotificatie een naam die je meteen herkent. Alleen je team ziet dit, nooit de beller.
- Service: Kies waar deze notificatie naartoe gaat: kies Custom om het zelf in te stellen, of Robin om het rechtstreeks naar de Robin integratie te sturen.
- Web hook URL: Plak hier de volledige webhook URL, inclusief https://, waar je deze notificaties naartoe wilt sturen.
- Call notifications_send_summary_events: Als je dit aanvinkt, worden gesprekssamenvattingen meegestuurd met de gespreksnotificaties. Let op: Intelligence moet hiervoor ingeschakeld zijn.
- Call notifications_send_transcription_events: Als je dit aanvinkt, worden gesprekstranscripties meegestuurd met de gespreksnotificaties. Let op: Intelligence moet hiervoor ingeschakeld zijn.
De gespreksnotificatie triggers
Tijdens een gesprek wordt op zes verschillende momenten informatie verstuurd naar de opgegeven URL voor inkomende, interne en uitgaande gesprekken: Created, Ringing, Answered, Warm transfer, Cold transfer en Hang-up. Notificaties worden verstuurd naar de opgegeven URL bij verschillende belangrijke gebeurtenissen tijdens een gesprek. De notificaties worden verstuurd als een POST request met de gegevens in een JSON document. Hieronder lees je welke informatie er precies wordt verstuurd.
Created
Een created event wordt verstuurd wanneer een inkomend gesprek wordt gestart.
- call_id: Een unieke string om het gesprek te identificeren.
- timestamp: De datum en tijd waarop de webhook wordt gegenereerd, in ISO 8601 formaat.
- status: De status van het gesprek. Voor dit notificatietype is het
created. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om te migreren naar een andere versie van de webhooks. Momenteel is het altijd
v2. - direction: Of een gesprek inkomend (
inbound) of uitgaand (outbound) is. Het created event wordt alleen verstuurd voor inkomende gesprekken. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Deze informatie wordt niet meegestuurd met het
createdevent. - user_numbers: Deze informatie wordt niet meegestuurd met het
createdevent. - user_emails: Deze informatie wordt niet meegestuurd met het
createdevent. - destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gebeld.
Ringing
Een ringing notificatie wordt verstuurd wanneer telefoons beginnen te rinkelen door een inkomend gesprek.
Het is mogelijk dat meerdere ringing notificaties achter elkaar worden verstuurd als nieuwe apparaten beginnen te rinkelen.
- call_id: Een unieke string om het gesprek te identificeren.
- timestamp: De datum en tijd waarop de webhook wordt gegenereerd, in ISO 8601 formaat.
- status: De status van het gesprek. Voor dit notificatietype is het
ringing. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om te migreren naar een andere versie van de webhooks. Momenteel is het altijd
v2. - direction: Of een gesprek inkomend (
inbound) of uitgaand (outbound) is. Gesprekken tussen collega's worden gemarkeerd alsoutbound. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Deze informatie wordt niet meegestuurd met het
ringingevent. - user_numbers: Deze informatie wordt niet meegestuurd met het
ringingevent. - user_emails: Deze informatie wordt niet meegestuurd met het
ringingevent. - destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gebeld.
- targets: De telefoons die rinkelen voor dit gesprek. Telefoons die niet bereikbaar zijn worden niet getoond.
- number: Het nummer dat wordt gebeld. Dit is meestal hetzelfde als destination.number, maar kan veranderen als het gesprek wordt doorgeschakeld.
- name: De naam van de persoon die gebeld wordt. Voor inkomende gesprekken is dit bijna altijd
null. - account_number: De interne nummers van de gebruikers die hun VoIP-account hebben ingesteld om bereikbaar te zijn (waar beschikbaar, kan een lege array zijn).
- user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
Opgenomen (bezig)
Een in-progress notificatie wordt verstuurd wanneer een gesprek wordt opgenomen.
Let op! Het target dat het gesprek opneemt is niet altijd een van de apparaten die eerst overging. Door call pickup kan het gebeuren dat het gesprek op een ander apparaat wordt opgenomen.
- call_id: Een unieke string om het gesprek te identificeren.
- timestamp: De datum en tijd waarop de webhook is gegenereerd, in ISO 8601 formaat.
- status: De status van het gesprek. Voor dit notificatietype is dit
in-progress. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om te migreren naar een andere versie van de webhooks. Op dit moment is dit altijd
v2. - direction: Of een gesprek inkomend (
inbound) of uitgaand (outbound) is. Gesprekken tussen collega's worden gemarkeerd alsoutbound. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Het interne nummer van het VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit vrijwel altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gebeld.
- targets: De toestellen die overgaan voor dit gesprek. Toestellen die niet bereikbaar zijn worden niet getoond.
- number: Het nummer dat gebeld wordt. Dit is meestal hetzelfde als destination.number, maar kan veranderen als het gesprek wordt doorgeschakeld.
- name: De naam van de persoon die gebeld wordt. Voor inkomende gesprekken is dit vrijwel altijd
null. - account_number: De interne nummers van de gebruikers die hun VoIP-account hebben ingesteld om bereikbaar te zijn (waar beschikbaar, kan een lege array zijn).
- user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
Warme transfer
Een warm-transfer notificatie wordt verstuurd wanneer een gesprek "warm" wordt getransfereerd. Bij een warme transfer belt de doorverbinder eerst de nieuwe deelnemer, de nieuwe deelnemer neemt op, spreekt met de doorverbinder en daarna wordt het gesprek getransfereerd.
Het gesprek van de doorverbinder naar de derde partij genereert ook ringing en in-progress notificaties met een eigen call_id. Tijdens een transfer worden deze twee gesprekken in feite samengevoegd tot één gesprek. De call_id van een van de twee gesprekken wordt dan gebruikt voor het gesprek na de transfer. De andere call_id wordt in de transfer opgenomen als merged_id en wordt daarna verwijderd.
- call_id: Een unieke string om het gesprek te identificeren, overgenomen van een van de vorige gesprekken.
- merged_id: De call_id van het andere vorige gesprek, die niet meer wordt gebruikt.
- timestamp: De datum en tijd waarop de webhook is gegenereerd, in ISO 8601 formaat.
- status: De status van het gesprek. Voor dit notificatietype is dit
transfer. - version: Een versie-attribuut dat in de toekomst gebruikt kan worden om te migreren naar een andere versie van de webhooks. Op dit moment is dit altijd
v2. - direction: Of een gesprek inkomend (
inbound) of uitgaand (outbound) is. Gesprekken tussen collega's worden gemarkeerd alsoutbound. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Het interne nummer van het VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit vrijwel altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gebeld.
- targets: De toestellen die overgaan voor dit gesprek. Toestellen die niet bereikbaar zijn worden niet getoond.
- number: Het nummer dat gebeld wordt. Dit is meestal hetzelfde als destination.number, maar kan veranderen als het gesprek wordt doorgeschakeld.
- name: De naam van de persoon die gebeld wordt. Voor inkomende gesprekken is dit vrijwel altijd
null. - account_number: De interne nummers van de gebruikers die hun VoIP-account hebben ingesteld om bereikbaar te zijn (waar beschikbaar, kan een lege array zijn).
- user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- redirector: Informatie over de deelnemer die de transfer heeft uitgevoerd.
- number: Het telefoonnummer dat de doorverbinder gebruikt.
- name: De naam van de doorverbinder.
- account_number: Het interne nummer van het VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit vrijwel altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
Cold transfer
Een cold-transfer notificatie wordt verstuurd wanneer een gesprek cold wordt getransfereerd. Bij een cold transfer belt de transferor de nieuwe deelnemer, maar schakelt het gesprek door zonder te wachten of iemand opneemt.
Er zijn twee belangrijke verschillen tussen een cold-transfer en een warm-transfer:
- Bij een warm transfer is er altijd één gebelde partij, terwijl er bij een cold transfer meerdere kunnen zijn (bijvoorbeeld als het gesprek wordt doorgeschakeld naar een belgroep).
- Bij een warm transfer worden eerst
ringingenin-progressnotificaties gegenereerd. Bij een cold transfer wordt alleen eenringingnotificatie verstuurd, en eenin-progressnotificatie volgt alleen als de derde partij het gesprek opneemt.
Het gesprek van de transferor naar de derde partij genereert ook een ringing notificatie met een eigen call_id. Tijdens een transfer worden deze twee gesprekken in feite samengevoegd tot één gesprek. De call_id van een van de twee gesprekken wordt dan gebruikt voor het gesprek na de transfer. De andere call_id wordt in de transfer opgenomen als merged_id en wordt daarna weggegooid.
- call_id: Een unieke string om het gesprek te identificeren, overgenomen van een van de eerdere gesprekken.
- merged_id: De call_id van het andere eerdere gesprek, die niet langer wordt gebruikt.
- timestamp: De datum en tijd waarop de webhook wordt gegenereerd, in ISO 8601-formaat.
- status: De status van het gesprek. Voor dit notificatietype is dit
transfer. - version: Een versie-attribuut dat in de toekomst kan worden gebruikt om te migreren naar een andere versie van de webhooks. Momenteel is dit altijd
v2. - direction: Of een gesprek inkomend of uitgaand is. Momenteel worden alleen inkomende gesprekken ondersteund, dus deze waarde is altijd
inbound. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Het interne nummer van het VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit bijna altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gebeld.
- targets: De telefoons die overgaan voor dit gesprek. Telefoons die niet bereikbaar zijn worden niet getoond.
- number: Het nummer dat wordt gebeld. Dit is meestal hetzelfde als destination.number, maar kan veranderen als het gesprek wordt doorgeschakeld.
- name: De naam van de persoon die wordt gebeld. Voor inkomende gesprekken is dit bijna altijd
null. - account_number: De interne nummers van de gebruikers die hun VoIP-account bereikbaar hebben ingesteld (waar beschikbaar, kan een lege array zijn).
- user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- redirector: Informatie over de deelnemer die de transfer heeft uitgevoerd.
- number: Het telefoonnummer dat de redirector gebruikt.
- name: De naam van de redirector.
- account_number: Het interne nummer van het VoIP-account (waar beschikbaar, voor inkomende gesprekken is dit bijna altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (waar beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
Ophangen (ended)
Een ended notificatie wordt verstuurd wanneer een gesprek wordt beëindigd. Er zijn verschillende redenen waarom een gesprek kan eindigen.
Een ended notificatie kan worden verstuurd na een in-progress notificatie als het gesprek is opgehangen door een van de deelnemers, na een ringing notificatie als niemand heeft opgenomen, of als enige notificatie als er geen apparaten bereikbaar waren.
- call_id: Een unieke string om het gesprek te identificeren.
- timestamp: De datum en tijd waarop de webhook wordt gegenereerd, in ISO 8601-formaat.
- status: De status van het gesprek. Voor dit notificatietype is dit
ended. - reason: De reden waarom het gesprek eindigde. De reden kan een van de volgende waarden zijn:
- completed: Het gesprek is succesvol afgerond.
- busy: Het gesprek is afgewezen, de gebelde was in gesprek.
- no-answer: Niemand heeft het gesprek opgenomen, om verschillende redenen.
- failed: Er is een fout opgetreden waardoor het gesprek niet tot stand kon komen.
- cancelled: De beller heeft opgehangen voordat iemand kon opnemen.
- abandon: De beller heeft opgehangen tijdens het wachten in de wachtrij.
- version: Een versie-attribuut dat in de toekomst kan worden gebruikt om te migreren naar een andere versie van de webhooks. Momenteel is dit altijd
v2. - direction: Of een gesprek inkomend (
inbound) of uitgaand (outbound) is. Gesprekken tussen collega's worden gemarkeerd alsoutbound. - caller: Informatie over de beller.
- number: Het telefoonnummer dat de beller gebruikt.
- name: De naam van de beller.
- account_number: Het interne nummer van het VoIP-account (indien beschikbaar, bij inkomende gesprekken is dit bijna altijd
null). - user_numbers: De interne nummers van de gebruikers die bereikbaar zijn (indien beschikbaar, kan een lege array zijn).
- user_emails: De e-mailadressen van de gebruikers.
- destination: Informatie over waar het gesprek naartoe gaat.
- number: Het telefoonnummer dat de beller heeft gekozen.
Transcriptie klaar
Een call_transcription notificatie wordt verstuurd zodra de transcriptie klaar is.
Als Voys Intelligence is ingeschakeld. Dit is de eerste gebeurtenis die volgt op een ended notificatie. Als gesprekssamenvattingen zijn ingeschakeld, volgt het summary event snel daarna.
{
"call_id": "ua0-grq-prd-1780997460.58680",
"call_transcription": "Speaker 1: Hi how are you.\nSpeaker 2: Hey great that you called.",
}Samenvatting klaar
Een summary notificatie wordt verstuurd zodra de gesprekssamenvatting klaar is.
Als Voys Intelligence is ingeschakeld. Dit is de laatste gebeurtenis voor een specifiek gesprek.
{
"call_id": "ua0-grq-prd-1780997460.58680",
"summary": "This was a great call."
}Gespreksopname klaar
Een call recording created event wordt verstuurd zodra een opname van een gesprek beschikbaar is.
De inhoud van het event ziet er zo uit:
{
"call_id": "ua0-grq-prd-1741083170.160935",
"recording_url": "https://api.voys.nl/api/v2/clients/9f515223-c139-4704-a031-57342c8809a4/callrecordings/ua0-grq-prd-1741083170.160935/audio"
}Je kunt recording_url direct gebruiken om de opname op te halen met je API-sleutel. Je hoeft de URL niet zelf te bouwen of je klant-ID op te zoeken.
Volgorde van notificaties
Per gesprek worden meerdere notificaties verstuurd. Welke notificaties worden verstuurd hangt af van hoe het gesprek wordt afgehandeld. Hieronder staat de volgorde van notificaties voor de meest voorkomende types gesprekken.
Eenvoudig gesprek
Een geslaagd gesprek met twee deelnemers:
- ringing - A belt B
- in-progress - A belt B
- ended - A belt B (reden:
completed)
Eenvoudig gesprek met Voys Intelligence ingeschakeld
Een geslaagd gesprek met twee deelnemers:
- ringing - A belt B
- in-progress - A belt B
- ended - A belt B (reden:
completed) - call_transcription - transcriptie van het gesprek is klaar
- summary - samenvatting van het gesprek is klaar
Niet opgenomen
De telefoon van de gebelde partij gaat over maar wordt niet opgenomen.
- ringing - A belt B
- ended - A belt B (reden:
busyofno-answerafhankelijk van het apparaat)
Gebelde partij niet bereikbaar
De gebelde partij is niet bereikbaar (bijvoorbeeld doordat de telefoon op Niet storen staat), waardoor de telefoon niet overgaat en het gesprek niet wordt opgenomen.
- ended - A belt B (reden:
busy)
Attended Transfer
Bij een attended transfer (warme transfer) belt A eerst B, waarna een van de deelnemers het gesprek doorstuurt naar C. De deelnemer belt eerst C, en nadat ze hebben gesproken wordt het gesprek doorgeschakeld. Alleen deelnemers A en C blijven in het gesprek.
- ringing - A belt B
- in-progress - A belt B
- ringing - B belt C
- in-progress - B belt C
- warm-transfer - B verbindt A en C
- ended - A en C hangen op (reden:
completed) - call_transcription - transcriptie van het gesprek is klaar (één per gespreksdeel, indien ingeschakeld)
- summary - samenvatting van het gesprek is klaar (één per gespreksdeel, indien ingeschakeld)
Blind transfer
Bij een blind transfer (koude transfer) belt A eerst B, waarna een van de deelnemers het gesprek doorstuurt naar C zonder te wachten of C beschikbaar is.
- ringing - A belt B
- in-progress - A belt B
- ringing - B belt C
- cold-transfer - B verbindt A en C
- in-progress - A belt C
- ended - A belt C niet langer (reden:
completed) - call_transcription - transcriptie van het gesprek is klaar
- summary - samenvatting van het gesprek is klaar
Semi-attended transfer
Bij een semi-attended transfer (lauwwarme transfer) belt A eerst B, waarna een van de deelnemers het gesprek doorzet naar C. De deelnemer probeert eerst C te bellen, maar zet het gesprek door voordat C opneemt.
- ringing - A belt B
- in-progress - A belt B
- ringing - B belt C
- cold-transfer - B verbindt A en C
- in-progress - A belt C
- ended - A belt C niet langer (reden:
completed) - call_transcription - transcriptie van het gesprek is klaar
- summary - samenvatting van het gesprek is klaar
Call Pickup
Als twee telefoons in dezelfde PickupGroup zitten, kun je een gesprek dat voor de ene telefoon bedoeld is, opnemen met de andere.
- ringing - A belt B
- in-progress - A belt C
- ended - A belt C niet langer (reden:
completed) - call_transcription - transcriptie van het gesprek is klaar
- summary - samenvatting van het gesprek is klaar
Doorschakelen
Als een gebruiker de telefoon zo instelt dat inkomende gesprekken automatisch worden doorgeschakeld naar een ander nummer.
- ringing - A belt B
- ringing - A belt B & C
- in-progress of ended, afhankelijk van of iemand opneemt.
- call_transcription - transcriptie van het gesprek is klaar
- summary - samenvatting van het gesprek is klaar
Gespreksnotificaties instellen
- Ga naar Gespreksnotificaties.
- Klik op Toevoegen.
- Vul een beschrijving in bij Beschrijving om aan te geven waarvoor de notificatie dient.
- Kies 'Custom' bij Package, tenzij je liever een standaardoptie gebruikt.
- Vul de URL in waar de gespreksnotificaties naartoe moeten.
- Vul het API token in als je gekozen package daar een van aanbiedt.
- Klik op Opslaan.
Goed om te weten: dit is alleen nodig als je package een API token uitgeeft.
Voorbeeldintegraties
Hieronder een aantal voorbeelden van integraties in combinatie met Zapier:
- Stuur een bericht naar Slack bij een gemiste oproep.
- Stuur een e-mail bij een gemiste oproep.
- Robin integratie.
- Microsoft Flow integratie
- Zapier integratie
En een voorbeeld met N8N en onze gespreksopname API
FAQ
Webhooks worden getriggerd op een specifiek punt in het belplan en werken alleen voor inkomende gesprekken. Indien nodig kan voor elke webhook een andere URL worden gebruikt. Een webhook wordt op één enkel moment aangeroepen.
Gespreksnotificaties werken voor zowel inkomende als uitgaande gesprekken. Check hier voor meer details:
Met gespreksnotificaties kan de URL op zes verschillende momenten in de levenscyclus van een gesprek worden aangeroepen.
Inkomende, uitgaande en interne gesprekken.
Een formulier in JSON-formaat wordt naar de URL van de klant gestuurd.
- Voor webhooks gebruik je een GET request.
- Voor gespreksnotificaties gebruik je een POST request.
Eerste check: staat Voys Intelligence aan? De gespreksnotificatie-opties zijn namelijk ook configureerbaar als het uit staat, dus de setup ziet er prima uit, maar er wordt niks verstuurd. Geen samenvattingen, geen transcripties, zelfs geen lege notificatie. Zet Voys Intelligence aan en je webhook krijgt ze binnen.