Gesprekstranscripties koppelen met N8N, voor de techneuten.

Call Transcription API koppelen aan N8N

Met n8n, of een andere automatiseringstool, kun je de uitwerking van gesprekken automatisch ophalen en direct doorsturen naar andere systemen. Denk aan verdere verwerking met AI, verzending via e-mail of Slack, of het opslaan van gegevens in je CRM. De mogelijkheden zijn breed inzetbaar.

In deze handleiding laten we stap voor stap zien hoe je een eenvoudige workflow opzet. In dit voorbeeld haal je de gespreksuitwerking op via de API en stuur je die vervolgens met de Slack API door naar een Slack-kanaal.

Het onderdeel over de Slack API lichten we niet verder toe, omdat dit buiten ons product valt.

Zakelijke VoIP oplossing
  • Gespreksopnames correct ingeschakeld in mijn.voiptelecom.nl
  • Een werkende instantie van N8N
  • Technische kennis
  • Begrijpen hoe de gespreksnotificaties werken deze ingeschakeld hebben in mijn.voiptelecom.nl
  • Basiskennis van API’s, in het bijzonder onze get call transcription API

In deze node (webhook) luisteren we naar gespreksnotificaties door de data van mijn.voiptelecom.nl naar de N8N instantie te sturen. Hiervoor moet je de link van N8N toevoegen in de gespreksnotificaties in mijn.voiptelecom.nl. Op deze manier worden alle gespreksnotificaties voor alle nummers en alle gesprekken (uitgaand + inkomend) naar N8N gestuurd.

N8N: kopieer hier de webhook url

mijn.voiptelecom.nl: plak hier de webhook url

In deze node (If) wachten we tot de “status” in de gespreksnotificatie “ended” is + reason=completed. Zo weten we dat het gesprek is beëindigd. Er is geen garantie dat er een gespreksopname is, omdat we niet controleren of het gesprek is beantwoord (door eerst de in-progress te checken)

We gebruiken een counter om opnieuw te proberen na een bepaalde wachttijd, als de API call faalt om de uitwerking op te halen.

Nadat het gesprek is beëindigd en een counter op 0 is gezet, wachten we 1 minuut. Zo weten we zeker dat de server genoeg tijd heeft gehad om de gespreksopname uit te werken en beschikbaar te stellen voor ophalen door de API.

Waarschijnlijk is deze stap overbodig, maar hier halen we de call ID op in een variabele genaamd call_id.

Now we will generate the API GET request. You’ll need 3 things.

Bearer auth token
You can find the token in the portal under Security for a user with admin rights

Client_UUID
You can find the Client_UUID under your personal mijn.voiptelecom.nl settings. You can find it at the top right of your mijn.voiptelecom.nl portal, under: personal – Personal settings. Other methods include copying the link address of the call notification or copying part of the URL from the Opening Hours | Basic Module.

CallID → only for testing or manual API calls
The CallID and UUID can be retrieved from the call list: right-click on the transcription icon and select Copy Link Address. In the URL, you’ll find the UUID after /clients/ and the CallID after /calls/.

In this example it will be placed automatically in the API request by the call notification

After we obtain the Bearer auth token and the client_UUID, we can proceed with the HTTP request in N8N. The easiest way, is to navigate to our openAPI docs and fill in the Client_UUID and bearer auth token, and copy the curl command generated as show below.

In the API docs
Generate the Curl command by copying your api token en client_uuid in the required fields. The call_id we leave empty in this example.

In N8N:

 

Nu kun je de data schrijven waar je maar wilt.

Google Drive
Slack
Email
Je CRM
….

Foutafhandeling: transcriptie is niet klaar na 1 minuut

Zakelijke VoIP oplossing

We verhogen de waarde van de teller met 1

We checken of de teller kleiner of gelijk is aan 15. Zo wordt het 14 keer opnieuw geprobeerd.

Waar vind ik de Client_UUID en het Call ID?

Je vindt de Client_UUID onder je persoonlijke instellingen. Je vindt dit rechtsboven in mijn.voiptelecom portal, onder: persoonlijk – Persoonlijke instellingen.

image
Een andere manier om beide te vinden is door het link adres van de gespreksnotificatie te kopiëren of door de URL van de Openingstijden | Basis Module te kopiëren.
Ik heb alle stappen gevolgd, maar het werkt niet

Helaas bieden we geen ondersteuning bij zelfgebouwde automatiseringen. Als het niet werkt kun je het volgende doen:

  • Welke stap gaf een foutmelding in N8N?
    • webhook: controleer of de URL correct is ingesteld in freedom. Check de output data in de execution data in N8N
    • http request: Controleer of een gesprekstranscriptie beschikbaar is door onze OpenAPI pagina te gebruiken, en bearer auth, client_uuid, en het specifieke call ID dat je wilt controleren