Vai al contenuto

Pronto a creare con AnyBot?

Documentazione AnyBot
Canali

Slack

Collega la tua app Slack così l'agente risponde ai DM e alle @menzioni nel tuo spazio di lavoro, e nota che è anche una famiglia di strumenti Slack separata in sola lettura.

Slack si collega incollando il Bot Token e il Signing Secret della tua app Slack e attivando le Event Subscriptions, non c'è un OAuth con un clic. Il tuo agente risponde poi ai messaggi diretti e ai messaggi di canale che lo @menzionano, segue la conversazione nei thread e gestisce allegati di immagini, audio e file, ma non legge né risponde alle chiacchiere generiche di canale, solo a ciò che gli è indirizzato. Due cose distinguono Slack dalla maggior parte dei canali: non usa il blocco condiviso delle impostazioni di canale e la stessa connessione alimenta anche una famiglia di strumenti Slack in sola lettura sotto Integrazioni.

Prima di iniziare

  • Una app Slack nello spazio di lavoro che vuoi collegare (creane una dal dashboard delle app di Slack).
  • Il suo Bot Token e il suo Signing Secret, li incolli entrambi durante la configurazione.
  • L'autorizzazione a modificare le Event Subscriptions e gli OAuth scopes di quell'app.
  • Il bot token ha bisogno degli scope chat:write e chat:write.public per poter rispondere nei canali in cui non è stato invitato.

Puoi collegare più di uno spazio di lavoro, ogni app Slack è un canale a sé.

Collega

  1. Apri (o crea) la tua app Slack e copia il suo Bot Token e il suo Signing Secret.
  2. In AnyBot, aggiungi il canale Slack e incolla entrambi. AnyBot convalida il token immediatamente. Un token sbagliato viene rifiutato all'istante.
  3. Copia l'URL del Webhook (Request) che AnyBot ti fornisce. Nelle Event Subscriptions della tua app Slack, attivalo e incolla l'URL nel campo Request URL, Slack lo verifica automaticamente.
  4. Sotto Subscribe to bot events, aggiungi app_mention, message.im e member_joined_channel, poi salva e reinstalla l'app.
la configurazione del canale Slack con i campi Bot Token e Signing Secret

Su questo canale

DirezioneSupportato
RiceveTesto, immagini, audio e allegati file (il primo file di un messaggio)
InviaTesto, risposte nei thread e file o media caricati
  • Dove risponde: DM (sempre) e messaggi di canale che lo @menzionano. Una volta che fa parte di un thread continua a rispondere in quel thread; le chiacchiere generiche di canale le ignora.
  • Quando viene aggiunto a un canale: pubblica un breve saluto in cui si presenta e segnala che risponde solo alle @menzioni.
  • Thread: le risposte restano nel thread sul messaggio originale.

Impostazioni del canale

Slack non usa il blocco condiviso di risposta automatica / saluto / orari di lavoro / limite di risposta che la maggior parte dei canali condivide. Il suo comportamento è invece fissato dalla connessione: risponde ai DM e alle @menzioni e saluta un canale quando vi viene aggiunto per la prima volta. Non c'è una scheda Impostazioni per-canale da configurare qui, vedi Impostazioni del canale per sapere quali canali condividono quel blocco e perché Slack ne resta fuori.

Anche uno strumento: Slack in sola lettura

La stessa connessione Slack funge anche da famiglia di strumenti in sola lettura sotto Integrazioni. Come strumenti il tuo agente può elencare i canali, leggere la cronologia di canali e thread, cercare gli utenti e cercare i messaggi, ma non pubblica mai attraverso di essi. Tieni distinte le due cose: il canale permette all'agente di parlare in Slack (DM e @menzioni); gli strumenti gli permettono di leggere Slack mentre lavora a un'attività. Collegare Slack qui abilita entrambi.

Risoluzione dei problemi

  • La Request URL non si verifica. Verifica che il Signing Secret corrisponda alla tua app Slack e che l'URL sia quello attuale mostrato da AnyBot. AnyBot risponde automaticamente al challenge di verifica di Slack, quindi un fallimento di solito significa il secret sbagliato o un URL non aggiornato.
  • Il bot ignora i messaggi di canale. Risponde solo alle @menzioni, assicurati di averlo menzionato e che app_mention sia sottoscritto. Per rispondere in un canale in cui non è mai stato invitato, il token ha bisogno di chat:write.public.
  • Le risposte funzionano nei DM ma non nei canali (o viceversa). Controlla che sia message.im (DM) sia app_mention (menzioni) siano sottoscritti sotto i bot events.
  • Gli eventi vengono persi. Le richieste di Slack più vecchie di cinque minuti vengono rifiutate come protezione dal replay, un orologio del server molto sfasato può innescare questo problema.
  • I contatti compaiono come ID, non come nomi. Slack non include i nomi visualizzati nel payload dell'evento, quindi l'inbox può mostrare un ID utente Slack finché non viene risolto.
  • Modifiche ed eliminazioni non fanno nulla. L'adapter salta di proposito le modifiche ai messaggi, le eliminazioni e i messaggi pubblicati dal bot.

FAQ

L'agente legge tutto in Slack? No, come canale vede solo i DM e i messaggi che lo @menzionano.

Posso collegare più di uno spazio di lavoro? Sì, ogni app Slack è un canale a sé.

È lo stesso degli strumenti di integrazione Slack? Correlati ma separati: quegli strumenti sono in sola lettura e non pubblicano mai. Vedi la sezione qui sopra.

Prossimi passi