Creare workflow più avanzati con i webhook

Chi può utilizzare questa funzione?
  • Tutti i membri(impostazione predefinita)
  • Disponibile per i piani Standard, Plus e Enterprise Grid

I workflow sono attività o processi automatici e in più passaggi che possono essere eseguiti all’interno di Slack o connettersi ad altri strumenti e servizi. Sei tu a decidere il grado di complessità dei workflow di Slack. Nella maggior parte dei casi non è richiesto scrivere codice.

Se sei un programmatore o hai esperienza nella scrittura di codice, puoi creare un workflow attivato da un evento in un servizio esterno (come uno strumento interno utilizzato dall’azienda) utilizzando un webhook.

Cosa è necessario per iniziare

  • Avere familiarità con l’invio di richieste HTTP tramite la riga di comando o tramite un altro strumento
  • Saper comprendere i webhook in entrata. Per ricevere istruzioni, leggi la documentazione sulla API Slack o chiedi assistenza a uno sviluppatore del tuo team

Ecco cosa imparerai

  • Come configurare un webhook per avviare un workflow su Slack
  • Come creare variabili personalizzate e utilizzarle nei passaggi dei workflow
  • Come verificare il funzionamento del workflow prima di pubblicarlo

Attenzione: i proprietari e gli amministratori possono limitare l’accesso alla creazione dei workflow con i webhook. Se non visualizzi questa opzione in Workflow Builder, chiedi assistenza a un proprietario o a un amministratore.

Suggerimento: visita Impostare un workflow in Slack per rivedere come impostare un workflow e scegliere un trigger.


Configurazione dei workflow

Nozioni base sui workflow dei webhook

Tutti i workflow in Slack si avviano in risposta a un trigger. Per attivare un workflow utilizzando un webhook, configura il webhook in modo che avvii il workflow in Slack quando un evento da te specificato si verifica in un altro servizio. Ad esempio, puoi impostare un workflow che posta un messaggio su Slack quando si verifica un problema sul tuo sito web o sul tuo servizio ed è stato chiamato un incidente per capire e risolvere i problemi.

Configurare il webhook

Il servizio esterno che hai scelto per creare e configurare il webhook deve consentirti di inviare una richiesta HTTP POST a Slack quando si verificano determinati eventi. Slack genera un URL di richiesta univoca per il workflow dopo che lo hai pubblicato. Puoi configurare il webhook in modo che passi informazioni a Slack tramite il corpo della richiesta HTTP. È possibile fare riferimento a qualsiasi dato inviato dal webhook a Slack in passaggi successivi del workflow mediante la creazione di variabili.

Suggerimento: se non sai come configurare il webhook, ti consigliamo di chiedere assistenza a uno sviluppatore del tuo team o di fare riferimento alla documentazione di supporto offerta dal servizio che utilizzi, come Postman o Zapier.

Creare variabili personalizzate

Puoi aggiungere fino a 20 variabili per trasferire i dati su Slack da un altro servizio e per includere informazioni specifiche per Slack, come nomi visualizzati o indirizzi e-mail, nei passaggi che aggiungi al tuo workflow.

Per creare una variabile personalizzata, dovrai aggiungere una coppia chiave-valore in Workflow Builder come variabile basata su testo. Dopo aver aggiunto una variabile, vedrai un’anteprima del corpo HTTP e potrai così assicurarti che i valori corrispondano agli output JSON nell’altro servizio che vuoi collegare a Slack tramite webhook. Al momento non è possibile utilizzare strutture nidificate JSON nelle variabili dei workflow.

Nell’esempio che segue, se utente, gravità e descrizione_incidente non venissero inviati con la richiesta webhook, il workflow non riuscirebbe. 

Incident_webhook_workflow.png

Suggerimento: apri il workflow in Workflow Builder in qualsiasi momento per aggiungere, rimuovere o modificare le variabili. Poi, clicca su Modifica accanto a Webhook per effettuare le modifiche. Assicurati inoltre che eventuali modifiche apportate alle variabili si riflettano nel servizio esterno da cui hai inviato la richiesta del webhook.

Ottenere l’URL di richiesta web

Quando pubblichi il workflow, Slack genera un URL di richiesta univoca, che puoi aggiungere al webhook per assicurarti che questo invii il POST da te impostato al canale di Slack corretto. Gli URL di richiesta iniziano con https://hooks.slack.com/workflows e sono seguiti da una stringa di caratteri casuale.

Assicurati di tenere protetto il tuo URL di richiesta, poiché chiunque possieda il link ha la possibilità di attivare il tuo workflow.

Attenzione: i workflow dei webhook sono limitati a una richiesta al secondo. Scopri di più sui limiti di velocità sul sito della API Slack.


Metti in pratica ciò che hai imparato

Aggiungere i passaggi

Una volta configurato il webhook e create le variabili che vuoi utilizzare, puoi aggiungere passaggi al tuo workflow

  1. Apri il workflow in Workflow Builder. 
  2. Clicca su Aggiungi passaggio
  3. Scegli il tipo di passaggio che vuoi aggiungere e segui le istruzioni per personalizzarlo.


Verificare il funzionamento del workflow

Prima di pubblicare il workflow in un canale che i membri della tua area di lavoro utilizzano attivamente, puoi impostare il primo passaggio per postare in un canale di prova.

  1. Invia un POST all’URL di richiesta del tuo workflow ed esamina i passaggi per assicurarti che tutto funzioni correttamente.
  2. Torna a Workflow Builder e aggiorna il primo passaggio del workflow per postare nel canale da te specificato, poi pubblica le modifiche.


Rigenerare un URL webhook

Se un URL del webhook diventa non protetto o deve essere modificato per qualche ragione, segui questi passaggi: 

  1. Apri Workflow Builder e seleziona il tuo workflow nell’elenco.
  2. Clicca su Modifica accanto a Webhook.
  3. Seleziona Rigenera URL e salva le modifiche.

Attenzione: quando rigeneri un URL webhook, il collegamento tra il workflow in Slack e un altro servizio si interrompe. Aggiorna l'altro servizio con il nuovo URL per far funzionare tutto senza problemi.