Wyzwalacze
Ta funkcja aplikacji zostanie wkrótce wycofana. Zalecamy tworzenie rozwiązań w oparciu o infrastrukturę monday workflows. Więcej informacji o migracji znajdziesz tutaj.
Wyzwalacze to zdarzenia, które uruchamiają integrację. W tym opisie znajdziesz informacje o API, którego aplikacja używa do uruchamiania i zarządzania integracjami.
Tło
Bloki wyzwalaczy określają, kiedy uruchamia się integracja. Wiele aplikacji korzysta z webhooków usług zewnętrznych, ale źródłem zdarzenia może być dowolny system.
Aplikacja musi obsłużyć trzy kluczowe kroki:
- Subskrypcja: monday.com wywołuje adres URL subskrypcji, gdy użytkownik dodaje wyzwalacz do tablicy.
- Uruchomienie: aplikacja wywołuje adres URL webhooka subskrypcji, aby uruchomić integrację.
- Anulowanie subskrypcji: monday.com wywołuje adres URL anulowania subskrypcji, gdy użytkownik usuwa wyzwalacz.
Informacje o konfigurowaniu interfejsu bloku wyzwalacza znajdziesz w artykule Tworzenie bloku wyzwalacza. .# Dokumentacja
Adres URL subskrypcji
Gdy użytkownik dodaje wyzwalacz do integracji, monday.com wysyła do aplikacji żądanie POST na adres URL subskrypcji. Żądanie zawiera adres URL webhooka, który aplikacja wywoła później, aby uruchomić działania integracji.
Żądanie
Metoda: POST
Autoryzacja: JWT w nagłówkach
Treść:
{
"payload": {
"webhookUrl": "https://api-gw.monday.com/automations/apps-events/481690204",
"subscriptionId": 481690204,
"blockMetadata": { "shouldCalculateDynamicMapping": false },
"inputFields": { "text": "hello world" },
"inboundFieldValues": { "text": "hello world" },
"credentialsValues": {},
"recipeId": 30440657,
"integrationId": 398739197
}
}
Odpowiedź
Zwróć 200 OK, aby potwierdzić subskrypcję. Zapisz szczegóły subskrypcji, zwłaszcza webhookUrl, aby móc użyć ich przy kolejnych wyzwoleniach.
Jeśli chcesz użyć własnego identyfikatora zamiast subscriptionId z monday.com, zwróć go jako webhookId:
{ "webhookId": 111 }
Uruchamianie bloku
Gdy wystąpi zdarzenie zewnętrzne, na przykład pojawi się nowy lead w CRM, uruchom blok monday.com, wysyłając żądanie POST na adres webhookUrl integracji.
1. Utwórz JWT
Podpisz identyfikator aplikacji za pomocą klucza tajnego do podpisywania:
const jwt = require("jsonwebtoken");
const appId = 11111;
const signingSecret = process.env.MONDAY_SIGNING_SECRET;
const token = jwt.sign({ appId }, signingSecret, { expiresIn: "1m" });
2. Wyślij żądanie
curl -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $token" \
-d '{
"trigger": {
"outputFields": {
"text": "Hello?",
"number": 9
}
}
}'
Adres URL anulowania subskrypcji
Gdy użytkownik usuwa wyzwalacz (przepis) z tablicy, monday.com wysyła do aplikacji żądanie POST na adres URL anulowania subskrypcji.
1. Odbierz żądanie
Metoda: POST
Autoryzacja: JWT w nagłówkach
Treść:
{
"payload": {
"webhookId": 481690204 // your webhookId or the subscriptionId
}
}
2. Usuń subskrypcję
Użyj webhookId, aby usunąć zapisaną subskrypcję z pamięci aplikacji.
3. Odpowiedz monday.com
Zwróć 200 OK (bez treści).
Jeśli aplikacja zwróci błąd lub status inny niż 2xx, automatyzacja zostanie usunięta i nie będzie już uruchamiana. Kolejne wywołania webhooka nie przyniosą efektu.
Adres URL anulowania subskrypcji jest wywoływany tylko wtedy, gdy przepis zostanie usunięty, a nie wyłączony. Po wyłączeniu wyzwalacz pozostaje, ale jego działania są pomijane.
Słowniczek
Zdarzenia
Zdarzenie subskrypcji: Występuje, gdy użytkownik dodaje wyzwalacz do przepływu pracy. monday.com wywołuje wtedy adres URL subskrypcji.
Zdarzenie anulowania subskrypcji: Występuje, gdy użytkownik usuwa wyzwalacz. monday.com wywołuje wtedy adres URL anulowania subskrypcji.
Wywołanie: Aplikacja wywołuje adres URL webhooka monday.com, aby uruchomić blok wyzwalacza.
Pola wejściowe: Dane, które wyzwalacz otrzymuje do uruchomienia. Zazwyczaj definiuje je użytkownik podczas tworzenia integracji.
Pola wyjściowe: Dane, które wyzwalacz przekazuje po uruchomieniu. Zazwyczaj są to dane i metadane dotyczące zdarzenia.
Diagram przepływu danych
Poniższy diagram przedstawia niestandardowy wyzwalacz korzystający z webhooka zewnętrznego systemu CRM.