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.
Ge sedan din webhook ett namn (valfritt) och välj vilka händelser förfrågningarna ska utlösas för.
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.
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:
-
Skapa en ny Slack-app i Slack-arbetsytan där du vill ta emot airfocus -aviseringar.
- Från sidan Funktioner aktiverar du alternativet Aktivera inkommande webhooks.
- Klicka på Lägg till ny webhook i arbetsytan.
- Välj en kanal som appen ska publicera på och klicka sedan på Tillåt.
-
Kopiera webhook-URL:en och öppna den airfocus-arbetsyta som du vill konfigurera uppdateringarna för.
Så här konfigurerar du din webhook i airfocus för att skicka meddelanden om händelseuppdateringar till Slack:
- Klicka på ”Lägg till integrationer” i tilläggsfönstret.
- I integrationsöversikten klickar du på ”Anslut” under ”Webhooks” -integrationen.
- 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.
- 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.
- 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}}]}
-
- Du kommer nu att få ett Slack-meddelande till kanalen du valde när något objekt i arbetsytan har ändrat status.
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:
- Logga in på Microsoft-teamet.
- Klicka på menyn med tre punkter i navigeringsmenyn längst till vänster.
- Select arbetsflöde.
- I sökfältet söker du ”webhook”.
- Välj Lägg upp till en kanal när en webhook-förfrågan tas emot.
- Skriv ett namn för ditt arbetsflöde (t.ex. "airfocus updates").
- Klicka på Nästa.
- Under "Detaljer" väljer du det specifika Team och den kanal där du vill att uppdateringarna ska visas.
- Klicka på Lägg till arbetsflöde.
- Kopiera POST-URL på bekräftelseskärmen.
- Detta är webhook-URL:en som du behöver klistra in i airfocus.
- 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:
- Öppna den airfocus -arbetsyta som du vill skicka uppdateringar till Microsoft Team för.
- Klicka på Tillägg i det övre högra hörnet av arbetsytan.
- Välj Lägg till integrationer.
- Klicka på Anslut under ”Webhooks”.
- Skriv ett namn för webhooken.
- Under "Händelser" väljer du vilken typ av uppdateringar du vill skicka till Microsoft Team.
- Under ”Platshållarformat” väljer du Markdown.
- Under ”Metod” väljer du POST och klistra sedan in URL:en du genererade i Microsoft Team under ”URL”.
- Välj + Lägg till rubrik.
- Skriv ”Innehållstyp” under ”Rubriknamn”.
- Under ”Rubrikvärde” skriver du ”application/json”.
- 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}}" } ] }
- 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.