← Terug naar blog

Integraties en webhooks verbinden

· 7 min leestijd · Heedback Team


Geen supporttool functioneert in een vacuüm. Je team gebruikt al Slack voor interne communicatie, projectmanagementtools voor taakbeheer en CRM’s voor klantdata. Heedback integreert met je bestaande stack via native integraties, webhooks en een REST API — zodat informatie stroomt waar het moet, zonder handmatig kopiëren en plakken.

Vereisten

Zorg ervoor dat je het volgende hebt voordat je begint:

  • Een Heedback-account met beheerders- of eigenaarsrechten
  • Toegang tot de tools die je wilt integreren (Slack workspace-beheerder, webhook-endpoint, etc.)
  • Voor API-gebruik: bekendheid met REST API’s en een HTTP-client (cURL, Postman of de HTTP-bibliotheek van je programmeertaal)

Stap 1: Slack verbinden

Slack is de populairste integratie en Heedback ondersteunt het native. Zo stel je het in:

  1. Ga naar Instellingen → Integraties in je Heedback-dashboard.
  2. Zoek Slack in de integratielijst en klik op Verbinden.
  3. Je wordt doorgestuurd naar de OAuth-autorisatiepagina van Slack. Selecteer de workspace die je wilt verbinden en keur de machtigingen goed.
  4. Terug in Heedback kies je welk Slack-kanaal meldingen moet ontvangen. Je kunt een bestaand kanaal kiezen of een specifiek kanaal aanmaken zoals #klantsupport.
  5. Configureer welke gebeurtenissen Slack-berichten triggeren — nieuwe gesprekken, nieuwe berichten, statuswijzigingen of alles bovenstaande.

Eenmaal verbonden krijgt je team realtime Slack-meldingen wanneer klanten contact opnemen. Elke melding bevat het klantbericht, hun profielinformatie (indien geïdentificeerd) en een directe link terug naar het gesprek in Heedback.

Tip: Maak een apart Slack-kanaal aan voor Heedback-meldingen. Het mengen van supportmeldingen in een druk algemeen kanaal zorgt ervoor dat ze begraven raken.

Stap 2: Webhooks configureren

Webhooks laten je Heedback-gebeurtenissen pushen naar elk HTTP-endpoint — je eigen backend, een serverless functie of een automatiseringsplatform zoals Zapier of n8n.

Ga naar Instellingen → Webhooks en klik op Webhook toevoegen. Je moet het volgende opgeven:

  • URL: Het endpoint dat POST-verzoeken ontvangt. Het moet publiek bereikbaar zijn en een 200 statuscode retourneren.
  • Gebeurtenissen: Selecteer welke gebeurtenissen de webhook triggeren. Beschikbare gebeurtenissen zijn:
    • conversation.created — een nieuw gesprek is geopend
    • message.created — een nieuw bericht is verzonden (door klant of medewerker)
    • conversation.status_changed — een gesprek is geopend, gesloten of uitgesteld
    • post.created — een nieuwe functie-aanvraag is ingediend
    • vote.created — een gebruiker heeft gestemd op een functie-aanvraag
  • Secret (optioneel maar aanbevolen): Een gedeeld geheim om webhook-payloads te ondertekenen. Verifieer de handtekening aan jouw kant om te garanderen dat verzoeken daadwerkelijk van Heedback afkomstig zijn.

Elke webhook-bezorging bevat een JSON-payload met het gebeurtenistype, tijdstempel en de volledige resourcedata. Een message.created gebeurtenis bevat bijvoorbeeld de berichtinhoud, gespreks-ID, afzenderdetails en organisatiecontext.

Stap 3: Bouwen met de REST API

Voor diepere integraties biedt Heedback een versioned REST API op /api/v1/. Veelvoorkomende toepassingen zijn:

  • Contacten synchroniseren: Haal eindgebruikersdata op in je CRM of push CRM-updates terug naar Heedback.
  • Gesprekken programmatisch aanmaken: Trigger supportgesprekken vanuit gebeurtenissen in je eigen app (bijv. een mislukte betaling, een foutalarm).
  • Data exporteren: Haal gesprekken, berichten of feature board-stemmen op voor rapportage en analyse.

Authenticatie: API-verzoeken vereisen een sessiecookie (voor dashboard-integraties) of een API-sleutel via de Authorization header. Genereer API-sleutels onder Instellingen → API.

Voorbeeld — Alle open gesprekken ophalen:

curl -H "Authorization: Bearer JOUW_API_SLEUTEL" \
  https://jouw-heedback-instantie.com/api/v1/conversations?status=open

De API volgt REST-conventies: resources zijn zelfstandige naamwoorden, acties zijn HTTP-werkwoorden en antwoorden zijn JSON. Paginering gebruikt page en limit queryparameters.

Stap 4: Automatiseren met Zapier of n8n

Als je de voorkeur geeft aan no-code automatisering, zijn webhooks de brug tussen Heedback en platformen zoals Zapier, Make of n8n.

Zapier-voorbeeld — Een Jira-ticket aanmaken voor elke nieuwe functie-aanvraag:

  1. Maak een Zap met een Webhooks by Zapier trigger (Catch Hook).
  2. Kopieer de Zapier-webhook-URL en voeg deze toe in de webhook-instellingen van Heedback met de post.created gebeurtenis.
  3. Voeg een Jira-actiestap toe die een nieuw issue aanmaakt met data uit de webhook-payload (titel, beschrijving, stemtelling).
  4. Schakel de Zap in en test het door een functie-aanvraag in te dienen in Heedback.

n8n-voorbeeld — Een samenvatting naar Slack posten wanneer een gesprek wordt gesloten:

  1. Maak een n8n-workflow met een Webhook trigger-node.
  2. Voeg een filter-node toe die controleert of event === "conversation.status_changed" en status === "closed".
  3. Voeg een Slack-node toe die een samenvatting post (klantnaam, onderwerp, oplostijd) naar je #support-overwinningen kanaal.

Stap 5: Monitoren en debuggen

Integraties kunnen stilletjes falen als endpoints uitvallen of payloads veranderen. Heedback helpt je dit bij te houden:

  • Webhook-logs: Onder Instellingen → Webhooks toont elke webhook een bezorgingslog met statuscodes, responstijden en payloads. Mislukte bezorgingen zijn rood gemarkeerd.
  • Automatische herhalingen: Mislukte webhook-bezorgingen worden tot 3 keer opnieuw geprobeerd met exponentiële backoff. Als alle herhalingen falen, wordt de webhook gemarkeerd voor je aandacht.
  • Testbezorgingen: Klik op Test verzenden bij elke webhook om een voorbeeldpayload te triggeren. Gebruik dit om te verifiëren dat je endpoint correct ontvangt en verwerkt voordat je live gaat.

Tips en best practices

  • Begin met Slack en één webhook. Probeer niet alles tegelijk te koppelen. Zorg dat één integratie betrouwbaar werkt en breid dan uit.
  • Verifieer altijd webhook-handtekeningen. Zonder handtekeningverificatie kan iedereen die je endpoint-URL ontdekt, valse gebeurtenissen sturen.
  • Gebruik idempotente handlers. Webhook-bezorgingen kunnen incidenteel gedupliceerd worden. Ontwerp je handlers zo dat ze dezelfde gebeurtenis twee keer veilig kunnen verwerken zonder bijwerkingen.
  • Houd API-sleutels beperkt en roteer ze. Deel niet één API-sleutel over alle integraties. Maak aparte sleutels voor elk gebruik zodat je er één kunt intrekken zonder alles te breken.

Gerelateerde functies

  • Meldingen — Webhooks vullen in-app en e-mailmeldingen aan. Gebruik webhooks voor systeem-naar-systeemautomatisering, meldingen voor mensgerichte alerts.
  • Feature Boards — Webhook-gebeurtenissen voor stemmen en functie-aanvragen laten je productfeedback direct naar je planningstools sturen.
  • Support Inbox — De gesprekken die webhook-gebeurtenissen triggeren ontstaan hier. Een goed georganiseerde inbox maakt integratiedata zinvoller.
  • Teambeheer — Beheer welke teamleden integraties mogen configureren via rolgebaseerde machtigingen.