Airfocus integreren met Webhooks

Geschreven door:  Morgan T
Laatst bijgewerkt:  

Ontvang automatische, realtime updates van AirFocus door jouw favoriete apps te verbinden via onze Webhooks.

Voordelen van het gebruik van webhooks

Webhooks laten airfocus en andere apps eenvoudig en in real-time samenwerken. Dit betekent dat updates en meldingen snel gebeuren zonder dat je extra apps of ingewikkelde codering nodig hebt.

Eerste opstelling van een nieuwe webhook

Maak een nieuwe werkruimte aan in Airfocus, of selecteer degene waarin je een nieuwe webhook wilt maken.

Vereisten:

  • "Full" Toestemmingen naar de werkruimte waar ik de webhook wil opzetten.
  • Betaald abonnement op professioneel of Enterprise abonnement.
  • Technische kennis voor de juiste configuratie.

je kan meerdere webhooks toevoegen aan een bepaald werkruimte (bijvoorbeeld aan verschillende Slack kanalen voor verschillende Stakeholder-doelgroepen).

Om dat te doen, ga je gewoon naar de sectie Extensies binnen jouw werkruimte, klik je op "Add integratie" en "Connect" onder Webhook.

integrate-with-webhooks-1.png

integrate-with-webhooks-2.png

Geef vervolgens jouw webhook een naam (optioneel) en selecteer voor welke gebeurtenis de verzoeken getriggerd moeten worden.

integreren-met-webhooks-3.png

Kies in de verzoekopties het tijdelijke formaat en methode en plak jouw webhook URL in het URL-veld. JE kan ook headers toevoegen aan jouw verzoeken indien nodig.

integrate-with-webhooks-4.png

Optioneel kan je ook het lichaam van jouw request configureren in het hierboven gekozen tijdelijke formaat.

{
"blokken": [
{
"type": "divider"
},
{
"type": "sectie",
"tekst": {
"type": "mrkdwn",
"tekst": "{{title|esc}}"
},
"accessoire": {
"type": "knop",
"tekst": {
"type": "plain_text",
"text": "Open in airfocus",
"emoji": true
},
"waarde": "click_me_123",
"url": "{{url}}",
"action_id": "knop-actie"
}
},
{
"type": "sectie",
"tekst": {
"type": "mrkdwn",
"tekst": "{{details|esc}}"
}
}
]
}

Voor gedetailleerde documentatie van aanpassingsopties voor jouw webhooks lees de volgende sectie.

Gebruik - ontvang Slack-meldingen voor AirFocus-updates

Voor dit gebruiksgeval is ons doel om een webhook te configureren die elke keer dat een item van de werkruimte waarvoor we de webhook configureren zijn status krijgt een Slack-bericht naar een kanaal naar keuze stuurt.

Om dat te doen, moeten we een Slack-app instellen om een webhook-URL te genereren en vervolgens de rest van de integratie in Airfocus configureren.

Hoe maak je een webhook-URL aan naar jouw Slack kanaal:

  1. Maak een nieuwe Slack-app aan in de Slack-werkruimte waar je de AirFocus-meldingen wilt ontvangen.
    integrate-with-webhooks-5.png
    integrate-with-webhooks-6.png
  2. Zet vanaf de pagina Functies de optie Inkomende Webhooks Activeren in.
    integrate-with-webhooks-7.png
  3. Klik op Voeg nieuwe webhook toe aan werkruimte.
    integreren-met-webhooks-8.png
  4. Kies een kanaal waar de app op zal posten en klik dan op Toestaan.
    integrate-with-webhooks-9.png
  5. Kopieer de webhook-URL en open de airfocus-werkruimte waarvoor je de updates wilt opstellen.
    integrate-with-webhooks-9.1.png

Hoe configureer je jouw webhook in Airfocus om gebeurtenis-updatemeldingen naar Slackte sturen:

  1. Klik in de popover van extensies op "Add integratie".
    integrate-with-webhooks-10.png
  2. Klik in het integratieoverzicht op "Verbinden" onder de integratie "Webhooks".
    integrate-with-webhooks-11.png
  3. Geef jouw webhook een naam (optioneel) en selecteer voor welke gebeurtenis de verzoeken getriggerd moeten worden. → "Status bijgewerkt" voor dit gebruiksgeval.
    integrate-with-webhooks-12.png
  4. Selecteer in de verzoekopties "Slack markdown" als plaatsvervangend formaat en "POST" als methode. Plak nu de webhook-URL die je uit Slack hebt gekopieerd in het URL-veld.
    integrate-with-webhooks-13.png
  5. Om correct geformatteerd Slack bericht te ontvangen, plak je het volgende sjabloon in het hoofdtekstveld en druk je op update.
    •  

      {
      "blokken": [
      {
      "type": "divider"
      },
      {
      "type": "sectie",
      "tekst": {
      "type": "mrkdwn",
      "tekst": "{{title|esc}}"
      },
      "accessoire": {
      "type": "knop",
      "tekst": {
      "type": "plain_text",
      "text": "Open in airfocus",
      "emoji": true
      },
      "waarde": "click_me_123",
      "url": "{{url}}",
      "action_id": "knop-actie"
      }
      },
      {
      "type": "sectie",
      "tekst": {
      "type": "mrkdwn",
      "tekst": "{{details|esc}}"
      }
      }
      ]
      }

       

  6. JE ontvangt nu een Slack bericht aan het kanaal dat je heeft gekozen wanneer een item in de werkruimte zijn Status heeft gewijzigd.
    integrate-with-webhooks-14.png

Ontvang airfocus updates in Microsoft Teams

Opmerking: De Microsoft Teams webhook connector functie wordt eind april 2026 afgeschaft. De onderstaande gids bevat stappen om de workflowfunctie als alternatief te gebruiken.

De Microsoft Teams workflowfunctie stelt je in staat een webhook te configureren die een Teambericht naar een aangewezen kanaal stuurt wanneer items binnen een bepaald airfocus werkruimte worden bijgewerkt. Om dit te doen, moet ik een webhook-URL op Microsoft Teams genereren en vervolgens de rest van de integratie configureren in airfocus.

Maak een webhook-URL aan in Microsoft Teams

Om een webhook-URL in Microsoft Teamste genereren, volgen we deze stappen:

  1. Log in bij Microsoft Teams.
  2. Klik op het menu met drie puntjes in het navigatiemenu helemaal links.
  3. Select workflow.
  4. Zoek in de zoekbalk op "webhook".
  5. Selecteer Plaatsen op een kanaal wanneer een webhook-verzoek wordt ontvangen.
  6. Typ een naam in voor jouw workflow (bijv. "Airfocus updates").
  7. Klik op Volgende.
  8. Selecteer onder "Details" het specifieke Team en Kanaal waar je wilt dat de updates verschijnen.
  9. Klik op Voeg workflowtoe.
  10. Kopieer op het bevestigingsscherm de POST-URL.
    • Dit is de webhook-URL die je in airfocusmoet plakken.
  11. Klik op Klaar om de setup af te ronden.

Configureer jouw webhook in airfocus

Om jouw webhook in airfocuste configureren, volg deze stappen:

  1. Open de airfocus werkruimte waarvoor je updates naar Microsoft Teamswilt sturen.
  2. Klik rechtsboven op Uitbreidingen in de werkruimte.
  3. Selecteer Voeg integratie toe.
  4. Klik onder "Webhooks" op Verbinden.
  5. Typ een naam in voor de webhook.
  6. Selecteer onder "gebeurtenis" welk soort updates ik naar Microsoft Teamswilt sturen.
  7. Selecteer onder "Placeholder-formaat" Markdown.
  8. Selecteer onder "Methode" POST en plak de URL die je in Microsoft Teams hebt gegenereerd onder "URL".
  9. Selecteer + Voeg kop.
  10. Onder "Header name" typ je "Content-Type".
  11. Onder "Header value" typ je "applicatie/json".
    example-webhookd-form-filled-out-in-airfocus.png
  12. Om correct geformatteerd Microsoft Teams bericht te ontvangen, plakt u het volgende sjabloon in het hoofdtekstveld.
    • {
        "type": "AdaptiveCard",
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "versie": "1.4",
        "lichaam": [
          {
            "type": "TextBlock",
            "tekst": "{{title}}",
            "grootte": "Medium",
            "gewicht": "Gedurfder",
            "Wrap": waar
          },
          {
            "type": "TextBlock",
            "tekst": "{{details}}",
            "Wrap": waar
          }
        ],
        "Acties": [
          {
            "type": "Action.OpenUrl",
            "titel": "Open in airfocus",
            "URL": "{{url}}"
          }
        ]
      }
  13. Klik rechtsonder op de pagina op Updaten .

JE ontvangt nu updates over het Microsoft Teams kanaal dat JE in het eerste gedeelte heeft opgezet.
 

HTTP-verzoek configureren - technische documentatie

Methode

Het staat standaard op POST, maar kan ook worden gewijzigd naar GET of PUT. Andere methoden worden niet ondersteund.

URL

  • Mag niet leeg zijn
  • Kan alleen beginnen met https:// (andere schema's of lege schema's worden niet ondersteund)
  • moet een publieke domeinnaam hebben met een bekend top-niveau-domein (IP's worden niet ondersteund)

Kopteksten

  • Autorisatie wordt ondersteund
  • Content-Type wordt ondersteund
  • Aangepaste headers die beginnen met x- worden ondersteund
  • andere headers worden niet ondersteund

Hoofdtekst

Definieert een request body van de webhook.

Kan elke tekst tot 2000 tekens lang bevatten.

Om het verzoeklichaam in te vullen met betekenisvolle gebeurtenis-data, leveren we een aantal tijdelijke elementen die onze server vervangt door gebeurtenis-data voordat het verzoek wordt verzonden.

Plaatsvervangerformaat

Geeft aan hoe de placeholders met RichText-type vooraf door onze server moeten worden gerenderd. Bijvoorbeeld {{title}} , een tijdelijke tekst kan een string bevatten zoals "John updated field Labels on item Fix the knop" die wat rich-text opmaak bevat zoals vetgedrukt, cursief, enzovoort, en daarom specificeert het placeholderformaat in welke specifieke syntaxis deze opmaak moet worden getransformeerd. Beschikbare formaten:

Naam Beschrijving Voorbeeld
markdown Standaard markdown John heeft het veld bijgewerkt Labels op het item Fix de knop
HTML <b>John</b> bijgewerkte veld <i>Labels</i> op item <b>Fix de knop</b>
tekst Opmaak verwijderd John heeft het veld bijgewerkt Labels op het item Fix de knop
Slack speciale Slack mrkdwn *John* bijgewerkt veld *Labels* op item *Fix de knop*

Plaatsvervangers

Placeholder Type Beschrijving Voorbeeld
{{type}} String Type gebeurtenis bijgewerktItem
{{title}} String (RichText) beschrijft gebeurtenis actie John heeft het veld bijgewerkt Labels op het item Fix de knop
{{details}} String (RichText) aanvullende gebeurtenisdetails (bijv. Wat is er veranderd) Oude waarde ⇒ Nieuwe waarde
{{url}} String call-to-action URL voor elke specifieke gebeurtenis (bijvoorbeeld een link naar een werkruimte of een item) https://myteam.airfocus.com/w/workspaceId?item=itemId 
*vervang airfocus.com door airfocus.app als je je in de VS of APAC-regio bevindt en jouw account na september 2025 is aangemaakt
{{event}} JSON volledige JSON-gegevens over de huidige gebeurtenis Zie hieronder het gebeurtenis Payload-model
{{title|esc}} String (RichText) Hetzelfde als {{title}} , maar alle dubbele aanhalingstekens worden ontsnapt Transformeert een string met "dubbele" aanhalingstekens in een string met \"double\" aanhalingstekens
{{details|esc}} String (RichText) Hetzelfde als {{details}} , maar alle dubbele aanhalingstekens worden ontsnapt Transformeert een string met "dubbele" aanhalingstekens in een string met \"double\" aanhalingstekens

Datamodellen

gebeurtenis Payload model

Een object op topniveau, geproduceerd voor elke gebeurtenis. Het bevat gegevens over de gebeurtenis evenals ingebedde basisgegevens over alle entiteiten die met deze gebeurtenis te maken hebben.

Veld Type Vereist Beschrijving
Gebeurtenis Gebeurtenis ja Basisgegevens over de gebeurtenis
Insluiten Gebeurtenisbed ja Aanvullende gegevens over de gebeurtenis - voornamelijk namen van items/werkruimte/velden/etc. die met deze gebeurtenis te maken hebben
matchedFilter EventFilter ja Een van de gebeurtenis-filters geselecteerd in de integratie-instellingen, die overeenkwam met de huidige gebeurtenis

Gebeurtenismodel

Basisgegevens over de gebeurtenis

Veld Type Vereist Beschrijving
Id UUID ja unieke identificatie van de gebeurtenis
Initiatiefnemer EventInitiator ja informatie over wie deze gebeurtenis heeft geïnitieerd
Gegevens EventData ja de daadwerkelijke gegevens van de gebeurtenis. Het verschilt per specifiek gebeurtenis-type
createdAt Tijdstempel ja wanneer de gebeurtenis heeft plaatsgevonden

EventInitiator-model

Informatie over wie deze gebeurtenis heeft geïnitieerd. In de meeste gevallen wordt de userId gedefinieerd. Het is ook mogelijk dat er zowel userId als integrationId gedefinieerd zijn - bijvoorbeeld als een gebruiker op de knop "synchronise integratie" drukt, wat dan de gebeurtenis produceert.

Veld Type Vereist Beschrijving
gebruikersId UUID Nee gedefinieerd als deze gebeurtenis werd geïnitieerd door een Gebruiker
appId UUID Nee gedefinieerd als deze gebeurtenis door een app is geïnitieerd
integrationId UUID Nee gedefinieerd als deze gebeurtenis is geïnitieerd door een integratie
eventId UUID Nee gedefinieerd als deze gebeurtenis werd geïnitieerd door een andere gebeurtenis
requestId UUID Nee gedefinieerd als deze gebeurtenis werd gestart binnen een HTTP-verzoek

EventEmbed-model

Aanvullende gegevens over de gebeurtenis - voornamelijk namen van items/werkruimte/velden/etc. die met deze gebeurtenis te maken hebben.

Veld Type Vereist Beschrijving
Teams {UUID: TeamInfo} Nee een hash-map van Team-ID's naar Teamdata
gebruikers {UUID: UserInfo} Nee een hash-map van Gebruiker-ID's naar Gebruiker-data
apps {UUID: AppInfo} Nee een hash-map van app-ID's naar app-data
Werkruimte {UUID: WorkspaceInfo} Nee een hash-map van werkruimte-ID's naar werkruimte-data
integraties {UUID: IntegrationInfo} Nee een hash-map van integratie-ID's naar integratiedata
velden {UUID: FieldInfo} Nee een hash-map van veld-ID's naar veldgegevens
Statussen {UUID: StatusInfo} Nee een hash-map van status-ID's naar statusgegevens
items {UUID: ItemInfo} Nee een hash-map van item-ID's naar itemgegevens

TeamInfo-model

Veld Type Vereist Beschrijving
naam String ja Teamnaam
slug String ja Team URL slug
baseUrl String ja Voorbeeld: https://myteam.airfocus.com 
*vervang airfocus.com door airfocus.app als je je in de VS of APAC-regio bevindt en jouw account na september 2025 is aangemaakt

UserInfo-model

Veld Type Vereist Beschrijving
teamId UUID ja ID van het team waar deze Gebruiker bij hoort
volledige Naam String ja Gebruikers volledige naam

AppInfo-model

Veld Type Vereist Beschrijving
teamId UUID ja ID van het team waar deze app toe behoort
typeId String ja Eén van: Formulieren, Inzichten, Spiegel, Portaal, Prioritering

WorkspaceInfo-model

Veld Type Vereist Beschrijving
teamId UUID ja ID van het team waar deze werkruimte toe behoort
naam String ja Werkruimtenaam

IntegratieInfo-model

Veld Type Vereist Beschrijving
workspaceId UUID ja ID van de werkruimte waar deze integratie bij hoort
typeId String ja Eén van: Asana, Azure-DevOps, Clubhouse, GitHub, Intercom, Jira, Planner, Trello

StatusInfo-model

Veld Type Vereist Beschrijving
workspaceId UUID ja ID van de werkruimte waartoe deze status behoort
naam String ja Naam van de status
categorie String ja Eén van: Draft, Actief, Gesloten

ItemInfo-model

Veld Type Vereist Beschrijving
workspaceId UUID ja ID van de werkruimte waar dit item bij hoort
statusId UUID ja ID van de status van het item
naam String ja Naam van het item

EventData-model

EventData is een unietype - het kan een van de gespecificeerde types zijn:

CreatedItem

Veld Type Vereist Beschrijving
itemId UUID ja ID van het aangemaakte item

BijgewerktItem

Veld Type Vereist Beschrijving
itemId UUID ja ID van het bijgewerkte item
status {prev: UUID, next: UUID} Nee oude en nieuwe ID's van de status (indien gewijzigd)
kleur {prev: String, next: String} Nee oude en nieuwe ID's van de kleur van het item (indien gewijzigd)
administratorUserIds {prev: UUID[], next: UUID[]} Nee oude en nieuwe lijst van toegewezen Gebruiker-ID's (indien gewijzigd)
naam {prev: String, next: String} Nee Oude en nieuwe itemnaam (indien gewijzigd)
Beschrijving {prev: RichText, next: RichText} Nee Oude en nieuwe itembeschrijving (indien gewijzigd)
Beschrijving { UUID: { prev: JSON, next: JSON } } Nee een hash-map van veld-id's naar hun gewijzigde waarden; elke waarde is een soort JSON die afhangt van het veldtype
gearchiveerd {prev: Boolean, next: Boolean} Nee oud en nieuw Archief (indien gewijzigd)

Feedback geven over dit artikel

Heb je feedback over dit artikel? Deel je ervaringen hier.

Heb je gevonden wat je zocht?

Heb je nog een vraag of wil je delen wat je hebt geleerd? Bezoek onze Community   om hulp te krijgen en samen te werken met anderen.