Integrera airfocus med Webhooks

Skriven av:  Morgan T
Senast uppdaterad:  

Få automatiska uppdateringar i realtid från airfocus genom att ansluta dina favoritappar med våra Webhooks.

Fördelar med att använda webhooks

Webhooks låter airfocus och andra appar arbeta tillsammans enkelt och i realtid. Detta innebär att uppdateringar och aviseringar sker snabbt utan att behöva extra appar eller komplicerad kodning.

Inledande installation av en ny webhook

Skapa en ny arbetsyta i airfocus, eller välj den där du vill skapa en ny webhook.

Krav:

  • ”Fullständiga” behörigheter till arbetsytan där du vill ställa in webhooken.
  • Betald prenumeration på Professional- eller Enterprise-planen.
  • Teknisk kunskap för korrekt konfiguration.

Du kan lägga till flera webhooks till en viss arbetsyta (t.ex. till olika Slack-kanaler för olika intressentgrupper).

För att göra det, gå helt enkelt till avsnittet Tillägg i din arbetsyta, klicka på " Lägg till integrationer " och " Anslut " under Webhook.

integrate-with-webhooks-1.png

integrate-with-webhooks-2.png

Ge sedan din webhook ett namn (valfritt) och välj vilka händelser förfrågningarna ska utlösas för.

integrate-with-webhooks-3.png

Välj platshållar format och metod i förfrågningsalternativen och klistra in web hook-webbadressen i URL- fältet. Du kan också lägga till rubriker till dina förfrågningar om det behövs.

integrate-with-webhooks-4.png

Alternativt kan du också konfigurera förfrågningens brödtext i platshållarformatet som valts ovan.

{
" block ": [
{
"type": "divider"
},
{
" typ ": " section ",
" text ": {
" typ ": " mrkdwn ",
" text ": "{{title|esc}}"
},
" tillbehör ": {
" " " ",,
"
": {
"type": "plain_text",
"text": "Open in airfocus",
"emoji": true
},
" värde ": " click_me_123 ",
" url ": "{{url}}", " ": " knappåtgärd "
}}
},
{
" typ ": " section ",
" text ": {
" typ ": " mrkdwn ",
" text ": "{{details|esc}}<span



translate="sv">55}}]}

För detaljerad dokumentation av anpassningsalternativ för dina webhooks, läs följande avsnitt.

Användningsfall – få Slack-aviseringar för airfocus-uppdateringar

För detta användningsfall, vårt mål är att konfigurera en webhook som skickar ett Slack-meddelande till en kanal som vi väljer varje gång ett objekt i arbetsytan vi konfigurerar webhooken för får sin status uppdaterad.

För att göra det måste vi konfigurera en Slack-app för att generera en webhook-URL och sedan konfigurera resten av integrationen i airfocus.

Så här skapar du en webhook-URL till din Slack-kanal:

  1. Skapa en ny Slack-app i Slack-arbetsytan där du vill ta emot airfocus -aviseringar.
    integrate-with-webhooks-5.png
    integrate-with-webhooks-6.png
  2. Från sidan Funktioner aktiverar du alternativet Aktivera inkommande webhooks.
    integrate-with-webhooks-7.png
  3. Klicka på Lägg till ny webhook i arbetsytan.
    integrate-with-webhooks-8.png
  4. Välj en kanal som appen ska publicera på och klicka sedan på Tillåt.
    integrate-with-webhooks-9.png
  5. Kopiera webhook-URL:en och öppna den airfocus-arbetsyta som du vill konfigurera uppdateringarna för.
    integrera-med-webhooks-9.1.png

Så här konfigurerar du din webhook i airfocus för att skicka meddelanden om händelseuppdateringar till Slack:

  1. Klicka på ”Lägg till integrationer” i tilläggsfönstret.
    integrate-with-webhooks-10.png
  2. I integrationsöversikten klickar du på ”Anslut” under ”Webhooks” -integrationen.
    integrate-with-webhooks-11.png
  3. Ge din webhook ett namn (valfritt) och välj vilka händelser förfrågningarna ska utlösas för. → ”Status uppdaterad” för detta användningsfall.
    integrate-with-webhooks-12.png
  4. I förfrågningsalternativen väljer du ”Slack markdown” som platshållarformat och ”POST” som metod. Klistra in webhook-webbadressen som du kopierade från Slack i URL-fältet.
    integrate-with-webhooks-13.png
  5. För att ta emot korrekt formaterade Slack-meddelanden klistrar du in följande mall i brödfältet och trycker på uppdatera.
    •  

      {
      " block ": [
      {
      "type": "divider"
      },
      {
      " typ ": " section ",
      " text ": {
      " typ ": " mrkdwn ",
      " text ": "{{title|esc}}"
      },
      " tillbehör ": {
      " " " ",,
      "
      ": {
      "type": "plain_text",
      "text": "Open in airfocus",
      "emoji": true
      },
      " värde ": " click_me_123 ",
      " url ": "{{url}}", " ": " knappåtgärd "
      }}
      },
      {
      " typ ": " section ",
      " text ": {
      " typ ": " mrkdwn ",
      " text ": "{{details|esc}}<span



      translate="sv">55}}]}

       

  6. Du kommer nu att få ett Slack-meddelande till kanalen du valde när något objekt i arbetsytan har ändrat status.
    integrate-with-webhooks-14.png

Få airfocus uppdateringar i Microsoft Team

Obs! Funktionen webhook-anslutning i Microsoft Team tas bort i slutet av april 2026. Guiden nedan innehåller steg för hur du använder funktionen Arbetsflöden som ett alternativ.

Med funktionen Microsoft Team Workflows kan du konfigurera en webhook som skickar ett teammeddelande till en angiven kanal när objekt inom en viss airfocus arbetsyta uppdateras. För att göra detta måste du generera en webhook-URL i Microsoft Team och sedan konfigurera resten av integrationen i airfocus.

Skapa en webhook-URL i Microsoft Teams

Så här genererar du en webhook-URL i Microsoft Team:

  1. Logga in på Microsoft-teamet.
  2. Klicka på menyn med tre punkter i navigeringsmenyn längst till vänster.
  3. Select arbetsflöde.
  4. I sökfältet söker du ”webhook”.
  5. Välj Lägg upp till en kanal när en webhook-förfrågan tas emot.
  6. Skriv ett namn för ditt arbetsflöde (t.ex. "airfocus updates").
  7. Klicka på Nästa.
  8. Under "Detaljer" väljer du det specifika Team och den kanal där du vill att uppdateringarna ska visas.
  9. Klicka på Lägg till arbetsflöde.
  10. Kopiera POST-URL på bekräftelseskärmen.
    • Detta är webhook-URL:en som du behöver klistra in i airfocus.
  11. Klicka på K lar för att slutföra installationen.

Konfigurera din webhook i airfocus

För att konfigurera din webhook i airfocus, följ dessa steg:

  1. Öppna den airfocus -arbetsyta som du vill skicka uppdateringar till Microsoft Team för.
  2. Klicka på Tillägg i det övre högra hörnet av arbetsytan.
  3. Välj Lägg till integrationer.
  4. Klicka på Anslut under ”Webhooks”.
  5. Skriv ett namn för webhooken.
  6. Under "Händelser" väljer du vilken typ av uppdateringar du vill skicka till Microsoft Team.
  7. Under ”Platshållarformat” väljer du Markdown.
  8. Under ”Metod” väljer du POST och klistra sedan in URL:en du genererade i Microsoft Team under ”URL”.
  9. Välj + Lägg till rubrik.
  10. Skriv ”Innehållstyp” under ”Rubriknamn”.
  11. Under ”Rubrikvärde” skriver du ”application/json”.
    exempel-webhookd-formulär-ifyllt-i-airfocus.png
  12. För att ta emot korrekt formaterade Microsoft Team-meddelanden, klistra in följande mall i brödtextfältet.
    • {
       " typ ": " AdaptiveCard ",
       " $schema ": " http://adaptivecards.io/schemas/adaptive-card.json",
       " version ": " 1.4 ",
        "kropp": [
       {
       "typ": "Textblock",
       "text": "{{title}}",
       "storlek": "Medelstor",
       "vikt": "Djärvare",
       "omslag": sant
       },
       {
       "typ": "Textblock",
       "text": "{{details}}",
       "omslag": sant
       }
       ],
       "åtgärder": [
       {
       "typ": "Action.OpenUrl",
       "titel": "Öppna i airfocus",
       "webbadress": "{{url}}"
       }
       ]
       }
  13. Klicka på Uppdat era längst ned till höger på sidan.

Du får nu uppdateringar till Microsoft Team-kanalen som du skapade i det första avsnittet.
 

Konfigurera HTTP-begäran - teknisk dokumentation

Metod

Den är inställd på POST som standard, men kan också ändras till GET eller PUT. Andra metoder stöds inte.

URL

  • Bör inte vara tom
  • kan bara börja med https://(andra scheman eller tomt schema stöds inte)
  • bör ha ett offentligt domännamn med en välkänd toppdomän (IP-adresser stöds inte)

Rubriker

  • Auktorisering stöds
  • Innehållstyp stöds
  • anpassade rubriker som börjar med x- stöds
  • andra rubriker stöds inte

Kropp

Definierar en förfrågningstext för webhooken.

Kan innehålla text upp till 2000 tecken lång.

För att fylla i förfrågningstexten med meningsfulla händelsedata tillhandahåller vi ett gäng platshållare som vår server ersätter med händelsedata innan begäran skickas.

Platshållarformat

Anger hur platshållare med RichText-typ ska förrenderas av vår server. Till exempel kan {{title}} platshållare innehålla en sträng som ”John uppdaterade fälteti ketter på objekt Fi xa knappen” som innehåller viss formaterad text som fet, kursiv, etc, och därför anger platshållarformatet i vilken specifik syntax denna formatering ska omvandlas. Tillgängliga format:

Namn Beskrivning Exempel
nedmarkning standardmarkdown John uppdaterade fält Etiketter på objekt Fixa knappen
html <b>John</b> uppdaterat fält <i>Etiketter</i> på objekt <b>Fixa knappen</b>
Text formatering borttagen John uppdaterade fält Etiketter på objekt Fixa knappen
slack speciell Slack mrkdwn *John* uppdaterat fält *Etiketter* på objektet *Fixa knappen*

Platshållare

Platshållare Type Beskrivning Exempel
{{type}} String Typ av händelse UppdateraDiem
{{title}} Sträng (RichText) beskriver händelseåtgärd John uppdaterade fält Etiketter på objekt Fixa knappen
{{details}} Sträng (RichText) ytterligare händelsedetaljer (t.ex. Vad har ändrats) Gammalt värde ⇒ Nytt värde
{{url}} String URL för uppmaning till handling för varje specifik händelse (t.ex. en länk till en arbetsyta eller ett objekt) https://myteam.airfocus.com/w/workspaceId?item=itemId 
*ersätt airfocus.com med airfocus.app om du befinner dig i USA eller Asien-Stillahavsområdet och ditt konto skapades efter september 2025
{{event}} JSON fullständig JSON-data om den aktuella händelsen Se händelsens nyttolastmodell nedan
{{title|esc}} Sträng (RichText) samma som {{title}} men alla dubbla citattecken undviks omvandlar sträng med " dubbla " citattecken till sträng med\ " dubbla\ " citat
{{details|esc}} Sträng (RichText) samma som {{details}} men alla dubbla citattecken undviks omvandlar sträng med " dubbla " citattecken till sträng med\ " dubbla\ " citat

Datamodeller

Modell för händelsenyttolast

Ett objekt på översta nivån, producerat för varje händelse. Den innehåller data om händelsen samt inbäddade grundläggande data om alla enheter som är relaterade till denna händelse.

Field Type Obligatoriskt Beskrivning
händelse Händelse ja Grundläggande uppgifter om evenemanget
Bädda in händelseBädda in ja ytterligare data om händelsen - mestadels namn på objekt/arbetsutrymmen/fält/etc som är relaterade till denna händelse
Matchningsfilter Händelsefilter ja ett av de händelsefilter som valts i integrationsinställningarna, som matchade den aktuella händelsen

Händelsemodell

Grundläggande uppgifter om evenemanget

Field Type Obligatoriskt Beskrivning
Id NEW ja unikt ID för händelsen
Initiativtagare EventInitiator ja information om vem som initierade evenemanget
data händelsedata ja de faktiska uppgifterna för händelsen. Det är olika för varje specifik händelsetyp
SkapatVid Tidsstämpel ja När händelsen har inträffat

EventInitiator-modell

Information om vem som initierade denna händelse. I de flesta fall definieras användar-ID. Det är också möjligt att det kommer att finnas både userID och IntegrationId definierade - t.ex. om en användare tryckte på knappen ”synkronisera integration” som sedan skapade händelsen.

Field Type Obligatoriskt Beskrivning
Användar-ID NEW Nej definieras om den här händelsen initierades av en användare
App-ID NEW Nej definieras om den här händelsen initierades av en app
Integrations-ID NEW Nej definieras om denna händelse initierades av en integration
EvenTid NEW Nej definieras om den här händelsen initierades av en annan händelse
RequestTime NEW Nej definieras om den här händelsen initierades i en HTTP-begäran

EventEmbedd-modell

Ytterligare data om händelsen - mestadels namn på objekt/arbetsutrymmen/fält/etc som är relaterade till denna händelse.

Field Type Obligatoriskt Beskrivning
Team {UUID: TeamInfo} Nej en hashmappning av team-ID:n till teamdata
användare {UUID: UserInfo} Nej en hash-map av användar-ID:n till användardata
Appar {UUID: AppInfo} Nej en hash-karta över app-ID:n till appdata
Arbetsplatser {UUID: WorkspaceInfo} Nej en hash-mappning av arbetsyta-ID:n till arbetsytans data
integrationer {UUID: IntegrationInfo} Nej en hash-map av integrations-ID:n till integrationsdata
Fält {UUID: FieldInfo} Nej en hash-karta av fält-ID:n till fältdata
statusar {UUID: StatusInfo} Nej en hash-mappning av statusID till statusdata
Objekt {UUID: ItemInfo} Nej en hash-mappning av objekt-ID till artikeldata

TeamInfo-modell

Field Type Obligatoriskt Beskrivning
Namn String ja Teamnamn
snigel String ja Team URL-slug
BaseURL String ja exempel: https://myteam.airfocus.com 
*ersätt airfocus.com med airfocus.app om du befinner dig i USA eller Asien-Stillahavsområdet och ditt konto skapades efter september 2025

UserInfo-modell

Field Type Obligatoriskt Beskrivning
TeamID NEW ja ID för teamet som den här användaren tillhör
Fullständigt namn String ja Användarens fullständiga namn

AppInfo-modell

Field Type Obligatoriskt Beskrivning
TeamID NEW ja ID för teamet som den här appen tillhör
Typ-ID String ja en av: former, Insikter, spegel, portal, prioritering

WorkspaceInfo-modell

Field Type Obligatoriskt Beskrivning
TeamID NEW ja ID för teamet som den här arbetsytan tillhör
Namn String ja arbetsytans namn

IntegrationInfo-modell

Field Type Obligatoriskt Beskrivning
Arbetsområde-ID NEW ja ID för arbetsytan som denna integration tillhör
Typ-ID String ja en av: asana, azure-devops, klubbhus, github, intercom, jira, planerare, trello

StatusInfo-modell

Field Type Obligatoriskt Beskrivning
Arbetsområde-ID NEW ja ID för arbetsytan som denna status tillhör
Namn String ja namn på status
kategori String ja en av: utkast, aktiv, stängd

ItemInfo-modell

Field Type Obligatoriskt Beskrivning
Arbetsområde-ID NEW ja ID för arbetsytan som objektet tillhör
StatusID NEW ja ID för objektets status
Namn String ja artikelns namn

EventData-modell

EventData är en fackföreningstyp - det kan någon av de angivna typerna:

Skapat Dim

Field Type Obligatoriskt Beskrivning
Artikel-ID NEW ja id för det skapade objektet

UppdateraDiem

Field Type Obligatoriskt Beskrivning
Artikel-ID NEW ja id för den uppdaterade artikeln
Status {prev: UUID, next: UUID} Nej gamla och nya ID för status (om ändrat)
Färg {prev: String, next: String} Nej gamla och nya ID för artikelfärgen (om ändrat)
Tilldelade användarID {prev: UUID[], next: UUID[]} Nej gammal och ny lista över tilldelade användar-ID (om ändrat)
Namn {prev: String, next: String} Nej gamla och nya artikelnamn (om ändrat)
beskrivning {prev: RichText, next: RichText} Nej Gammal och ny artikelbeskrivning (om ändrat)
beskrivning {UUID: { prev: JSON, next: JSON } } Nej en hash-karta av fält-id till deras ändrade värden varje värde är någon JSON som beror på fälttypen
arkiverad {prev: Boolean, next: Boolean} Nej gamla och nya arkiverade (om ändrat)

Ge feedback på den här artikeln

Har du feedback om den här artikeln? Berätta om din upplevelse här.

Hittade du det du letade efter?

Har du fortfarande en fråga eller vill dela med dig av vad du har lärt dig? Besök vår Community   för att få hjälp och samarbeta med andra.