De CRM-naar-voice-AI-workflow, uitgelegd zonder jargon


Een CRM koppelen aan een AI-stemagent komt neer op vier overdrachtsmomenten. Het CRM bepaalt wie er gebeld wordt. Het gespreksverzoek bevat wat de agent moet weten. De agent voert het gesprek. De resultaten komen terug op hetzelfde CRM-record. De meeste verwarring rond integraties ontstaat doordat die vier door elkaar lopen, of doordat niet duidelijk is welk systeem voor welk onderdeel verantwoordelijk is.
Deze gids loopt de volgorde door met een HubSpot-workflow als voorbeeld en laat daarna dezelfde cyclus zien voor elk CRM dat een webhook kan versturen.
Trigger, context, gesprek en terugschrijven:
Een CRM-workflow start het gesprek op een van twee manieren: met een native workflowactie, of met een webhook die je eigen service omzet in een API-aanroep.
Native actie (HubSpot). De Retell AI-app in de HubSpot Marketplace voegt een actie Make a Phone Call toe aan HubSpot-workflows. Begin met een trigger die je al gebruikt: een formulierinzending, een nieuw record, een gewijzigde dealfase of een datumeigenschap zoals een afspraakdatum. Voeg een voorwaarde "Telefoonnummer is bekend" toe, zodat contacten zonder nummer nooit worden ingeschreven. Vul daarna drie velden van de actie in: From (de Retell-agent en het telefoonnummer), To (de telefoontoken van het contact) en optioneel Dynamic Variables als JSON. De workflow pauzeert tot het gesprek is afgelopen.
Webhook plus API (elk CRM). Kan je CRM vanuit een workflow een webhook versturen, laat die dan wijzen naar een kleine service die je zelf beheert. Die service roept de Create Phone Call API van Retell aan met vier dingen: from_number, to_number, de contextvelden in retell_llm_dynamic_variables en de CRM-record-ID in metadata. Retell slaat metadata op bij het gesprek en stuurt die mee in het call-object van latere webhooks. Zo vindt het resultaat de weg terug naar het juiste record.
Lijsten in plaats van gebeurtenissen. Voor een campagne gericht op een segment in plaats van één gebeurtenis exporteer je de lijst en voer je die uit als batchgesprekken: een CSV met een kolom voor telefoonnummers, waarbij elke extra kolom een variabele wordt die de agent kan gebruiken.
Voor elke route gelden twee voorwaarden. Aan het nummer waarmee je belt moet een uitgaande agent gekoppeld zijn, en de nummers die je belt moeten geldige E.164-nummers zijn (bijvoorbeeld +14155550123).
Via dynamische variabelen: benoemde waarden zoals {{first_name}} of {{deal_stage}} die Retell invult voordat de agent begint te praten. Ze komen uit drie bronnen:
retell_llm_dynamic_variables.Komt dezelfde naam uit meer dan één bron, dan gaat de waarde uit het verzoek voor op het gesynchroniseerde contactveld, en gaat alles wat de agent tijdens het gesprek verzamelt voor op beide.
Drie regels voorkomen de meeste gevallen waarin een agent een placeholder hardop voorleest:
"42" en "true", niet 42 en true.{{client.name}} wordt niet ingevuld; stuur in plaats daarvan client_name.{{braces}}-vorm staan.De agent voert het gesprek op basis van zijn prompt en variabelen, en kan tijdens het gesprek acties in het CRM uitvoeren als je hem daar tools voor geeft.
Is HubSpot gekoppeld via de native integratie van Retell, dan kan de agent tijdens het praten tools gebruiken zoals Search Contact, List Contact Deals, Update Deal, Update Contact en Create Task. Hij kan een e-mailadres corrigeren dat het contact net heeft doorgegeven, of de vervolgtaak aanmaken waarmee het contact heeft ingestemd. Voor een CRM zonder native integratie doet een custom function hetzelfde door tijdens het gesprek je eigen API aan te roepen.
Houd rekening met twee situaties. Als een CRM-toolaanroep mislukt of een time-out krijgt, loopt het gesprek gewoon door. De prompt moet de agent dus vertellen wat hij moet zeggen als een opzoeking niets oplevert. En als een uitgaand gesprek bij de voicemail uitkomt in plaats van bij een persoon, kan de agent ophangen of een bericht achterlaten, afhankelijk van je configuratie, en krijgt het gesprek de markering in_voicemail. Die markering is belangrijk bij het terugschrijven.
Na afloop van het gesprek voert Retell een analyse na het gesprek uit op de transcriptie (in het product heet dit Post Call Extraction). De resultaten komen vervolgens via een van drie routes in het CRM terecht, afhankelijk van wat je CRM ondersteunt en wie de koppelingslogica beheert.
Wat er wordt gegenereerd. Elk gesprek krijgt call_summary, user_sentiment, call_successful en in_voicemail. Je voegt eigen velden toe voor je eigen uitkomsten, elk van het type boolean, tekst, getal of selector: qualified, budget_range, callback_requested. Het gespreksrecord bevat ook de volledige transcriptie en een opname-URL. Zie analyse na het gesprek voor hoe velden worden gedefinieerd.
Route 1: de HubSpot Marketplace-app. Zodra het gesprek is afgerond, schrijft de app de samenvatting en analyse naar de activiteitentijdlijn van het contact, zet de opname en transcriptie in het gesprekslog en toont het log op de tijdlijn van het gekoppelde bedrijf. De gepauzeerde workflow gaat daarna verder en kan vertakken op outputs zoals Call Success, User Sentiment of Call Outcome: een opvolgmail bij succes, een nieuwe poging of een SMS als er niet wordt opgenomen.
Route 2: native CRM-integratie. De integraties van Retell met HubSpot, Salesforce, Microsoft Dynamics 365, GoHighLevel en Zoho CRM koppelen velden uit de analyse na het gesprek aan contactvelden en sturen ze door naar het CRM-record. Elke koppeling heeft een updatemodus: Overwrite voor statusvelden, Fill only if empty voor vaste gegevens zoals e-mail, of Accumulate & summarize om notities van meerdere gesprekken samen te voegen. Zet Log activities automatically aan en elk gesprek wordt ook op het contact gelogd, bijvoorbeeld als Call-engagement in HubSpot of als Task in Salesforce. Functies na het gesprek voegen daar gerichte schrijfacties aan toe, zoals een HubSpot Create Task die alleen draait als een veld followup_needed true is.
Eén kanttekening bij route 2: die schrijft alleen naar contacten die zijn geïmporteerd uit de actieve CRM-koppeling. Een nummer dat niet overeenkomt met een gesynchroniseerd contact levert geen activiteitenrecord op, en Retell werkt bestaande CRM-records bij in plaats van nieuwe aan te maken, tenzij je Create new contacts in CRM aanzet.
Route 3: een webhook naar je CRM. Retell stuurt een call_analyzed-event naar je endpoint met het volledige call-object: transcriptie, opname-URL, analyseresultaten en de metadata die je bij de trigger hebt meegestuurd. Je service leest de record-ID uit metadata en schrijft via de API van het CRM. Controleer de header x-retell-signature en stuur binnen 10 seconden een 2xx terug, anders probeert Retell het tot 3 keer opnieuw. Ontdubbel op call_id, zodat een nieuwe poging hetzelfde gesprek nooit twee keer wegschrijft. Luister naar call_analyzed, niet naar call_ended: de call_ended-payload wordt verstuurd voordat de analyse draait en bevat dus geen analyseresultaten.
De tabel koppelt veelvoorkomende HubSpot-triggers aan wat de agent doet en wat er terugkomt op het record. De webhookroute volgt dezelfde drie kolommen.
| CRM-trigger | Wat de agent tijdens het gesprek doet | Wat er wordt teruggeschreven |
|---|---|---|
| Formulierinzending (nieuwe lead) | Begroet de lead bij naam op basis van de formuliervelden en stelt kwalificatievragen | qualified (boolean) en lead_status (selector) overschrijven contacteigenschappen; de samenvatting wordt op de tijdlijn gelogd |
| Dealfase wijzigt | Leest de openstaande deal met List Contact Deals en bevestigt de volgende stappen | Gesprek gelogd op de tijdlijn; een vervolgtaak wordt alleen aangemaakt als followup_needed true is |
| Afspraakdatum nadert | Bevestigt de afspraak of verzet die via een gekoppelde agenda zoals Cal.com | Bevestigingsstatus weggeschreven naar een contactveld; workflow vertakt op de uitkomst |
| Contact een bepaalde periode inactief | Peilt de huidige interesse en vraagt wat er is veranderd | Notities samengevoegd in een veld met interactiegeschiedenis via Accumulate & summarize; sentiment vastgelegd |
| Een van de bovenstaande, maar niemand neemt op | Hangt op of spreekt een voicemail in, volgens de voicemailinstelling van de agent | call_successful false of in_voicemail true; de workflow vertakt naar een nieuwe poging of een e-mail |
Eigen analysevelden worden niet ingevuld voor gesprekken die nooit tot stand zijn gekomen. Bouw de tak voor niet-opgenomen gesprekken daarom op de ingebouwde velden en de gespreksuitkomst, niet op je eigen velden.
do_not_call van Retell blokkeert op zichzelf geen gesprekken; geef honor_internal_dnc: true mee bij API-aanroepen zodat Retell ze weigert, en houd de eigen uitsluitingsregels van je CRM in de trigger.Is HubSpot je leidende systeem, dan dekt de HubSpot-integratie van Retell beide helften van deze cyclus: de native koppeling die de agent context geeft en resultaten terugschrijft, en de Marketplace-app waarmee een HubSpot-workflow het gesprek start. Volg voor de stapsgewijze configuratie, inclusief de scopes van de private app, de HubSpot-installatiegids. Werk je met Salesforce, Dynamics 365, Zoho of iets anders? Begin bij het overzicht van integraties en gebruik de webhookroute voor elk CRM dat er niet tussen staat.
Verder lezen: De checklist voor uitgaande telefoonnummers, de scope van een eerste partnerdeal bepalen en meer gidsen in de Retell Learn-hub.
See how much your business could save by switching to AI-powered voice agents.
Total Human Agent Cost
AI Agent Cost
Estimated Savings
Een demodemonummer van Retell Clinic Office

Start building smarter conversations today.




