Slack

Połącz workspace Slack z ElevenLabs Agents, aby rozmawiać z agentem na kanałach i w wątkach

Omówienie

Integracja ze Slackiem pozwala agentowi ElevenLabs wysyłać i odbierać wiadomości w Slacku. Po połączeniu agent odpowiada w wątku, gdy zostanie wspomniany na kanale, i zachowuje osobny kontekst rozmowy dla każdego wątku.

Możliwości

MożliwośćObsługa
Tryb zerowej retencji (ZRM)Nieobsługiwany
Załączniki w wyzwalaczachObrazy (PNG, JPEG, GIF, WebP) i pliki PDF w przychodzących wiadomościach, gdy w ustawieniach agenta włączono Zezwalaj na załączniki plików, a LLM agenta obsługuje obrazy lub dokumenty
Załączniki w narzędziachNieobsługiwane — narzędzia działają tylko na tekście

Konfiguracja

Integrację możesz połączyć na dwa sposoby:

  • OAuth — zainstaluj wspólną aplikację Slack ElevenLabs w swoim workspace. Jeden workspace Slack odpowiada jednemu połączeniu ElevenLabs. To najszybsza konfiguracja, bez zarządzania aplikacją Slack.
  • Własna aplikacja — połącz za pomocą utworzonej i należącej do ciebie aplikacji Slack. Skorzystaj z tej opcji, jeśli bot ma występować pod twoją marką lub zasady workspace wymagają instalacji aplikacji przez administratora.

Opcja A — OAuth

Użytkownik instalujący aplikację musi mieć uprawnienia do dodawania aplikacji do docelowego workspace Slack.

1

Otwórz stronę integracji

W panelu ElevenLabs przejdź do Agents > Integrations i wybierz Slack.

2

Kliknij Connect

Wybierz dane logowania OAuth i kliknij Connect. Nastąpi przekierowanie do Slacka, gdzie wybierzesz workspace do instalacji aplikacji ElevenLabs i zatwierdzisz wymagane zakresy.

3

Dokończ przekierowanie

Po zatwierdzeniu Slack przekieruje cię z powrotem do ElevenLabs i utworzy połączenie. Identyfikator workspace Slack zostanie zapisany automatycznie i użyty przy konfiguracji wyzwalaczy.

Opcja B — Własna aplikacja Slack

Skorzystaj z niej, jeśli bot ma wyświetlać się pod nazwą i ikoną twojej aplikacji albo jeśli twój workspace wymaga sprawdzenia i instalacji aplikacji przez administratora.

1

Utwórz aplikację Slack

Przejdź do Slack API: Your Apps i kliknij Create New App > From scratch. Nazwij aplikację i wybierz workspace Slack, w którym chcesz ją zainstalować.

2

Dodaj zakresy bota

Otwórz OAuth & Permissions i dodaj następujące zakresy Bot Token Scopes:

app_mentions:read, channels:history, channels:join, channels:manage, chat:write, files:read, groups:history, groups:write, im:history, reactions:write.

Następnie kliknij Install to Workspace i zatwierdź. Skopiuj Bot User OAuth Token (zaczyna się od xoxb-).

3

Skopiuj signing secret

Otwórz Basic Information > App Credentials i skopiuj Signing Secret.

4

Utwórz połączenie w ElevenLabs

W panelu ElevenLabs przejdź do Integrations, kliknij przycisk Add integration i wybierz Slack. Wybierz dane logowania Bring your own app. Wklej token bota i signing secret, a potem zapisz. ElevenLabs zweryfikuje token w Slacku i zapisze identyfikator workspace.

Po utworzeniu połączenia strona połączenia pokaże dwa adresy webhooków utworzone na podstawie tożsamości aplikacji Slack. Ta sama aplikacja Slack, ponownie połączona z tego samego workspace ElevenLabs, zawsze tworzy te same adresy URL — możesz więc usunąć i odtworzyć połączenie bez ponownej aktualizacji konfiguracji aplikacji Slack. Nie zamykaj tej strony — przyda się w kolejnych krokach.

5

Skonfiguruj Event Subscriptions

W aplikacji Slack otwórz Event Subscriptions, włącz zdarzenia i wklej Events URL ze strony połączenia ElevenLabs w polu Request URL. Slack zweryfikuje adres URL za pomocą podanego signing secret.

Zasubskrybuj zdarzenia bota zależnie od tego, jak agent ma działać na kanałach:

  • Tylko wzmianki — zasubskrybuj app_mention. Agent odpowie tylko, gdy użytkownik wspomni bota przez @.
  • Wszystkie wiadomości — zasubskrybuj message.channels i message.groups. Agent odpowie na każdą wiadomość na kanałach, do których należy bot, bez konieczności wzmianki.

Jeśli używasz wyzwalacza SlackDirectMessage, zasubskrybuj też message.im.

Nie subskrybuj jednocześnie app_mention i zdarzeń kanałowych message.*, chyba że chcesz obsługiwać zduplikowane dostarczenia. Gdy użytkownik wspomni bota przez @, Slack może wysłać zdarzenie app_mention i message dla tej samej wiadomości, przez co agent odpowie dwa razy.

6

Skonfiguruj Interactivity

Otwórz Interactivity & Shortcuts, włącz interaktywność i wklej Interactivity URL ze strony połączenia ElevenLabs w polu Request URL.

7

Zainstaluj ponownie, jeśli pojawi się prośba

Jeśli Slack poprosi o ponowną instalację aplikacji po zmianie zakresów lub zdarzeń, zrób to, aby zastosować zmiany.

Workspace Slack można połączyć tylko raz przez wspólną aplikację OAuth ElevenLabs. Ponowna instalacja z innego workspace ElevenLabs zwraca błąd duplicate Slack workspace — najpierw usuń istniejące połączenie. Połączenia z własnymi aplikacjami są niezależne i nie powodują konfliktów.

Zakresy OAuth

Aplikacja Slack ElevenLabs prosi o następujące zakresy:

ZakresCel
app_mentions:readOdbieranie wiadomości, w których bot został wspomniany przez @.
channels:historyOdczytywanie wiadomości na publicznych kanałach, do których należy bot.
channels:joinPozwala botowi automatycznie dołączać do publicznych kanałów po utworzeniu wyzwalacza.
channels:manageWykonywanie działań związanych z zarządzaniem kanałami.
chat:writePublikowanie wiadomości na kanałach i w wątkach.
files:readPobieranie plików dołączonych do wiadomości, aby agent mógł czytać obrazy i PDF-y.
groups:historyOdczytywanie wiadomości na prywatnych kanałach, do których należy bot.
groups:writeDziałanie na prywatnych kanałach.
im:historyOdczytywanie wiadomości w kanałach wiadomości bezpośrednich z botem.
reactions:writeDodawanie i usuwanie reakcji, używane jako wskaźnik myślenia przy wiadomościach i narzędziach agenta.

Narzędzia agenta

Gdy dodasz narzędzia Slack do agenta, dostępne będą następujące wbudowane narzędzia:

NarzędzieOpis
slack_add_reactionDodaje reakcję emoji. Domyślnie kanał i ts wiadomości są uzupełniane z integration__slack_channel_id i integration__slack_trigger_message_ts; model wybiera tylko shortcode emoji (bez dwukropków), na przykład thumbsup. Poza rozmowami wywołanymi przez Slack te zmienne są nieobecne, chyba że je ustawisz — dostosuj schemat narzędzia, jeśli model musi przekazywać kanał i ts bezpośrednio.
slack_remove_reactionUsuwa reakcję emoji (te same ustawienia domyślne co przy dodawaniu). Zgodnie ze Slackiem wywołujący bot może usunąć tylko reakcje, które sam dodał; zobacz reactions.remove.

Usuwanie połączenia

Usunięcie połączenia ze strony Integrations odinstalowuje aplikację Slack ElevenLabs z workspace Slack. Po usunięciu bot nie jest już obecny na żadnym kanale.

W przypadku połączeń z własną aplikacją ElevenLabs nie może odinstalować aplikacji, której nie jest właścicielem — usunięcie połączenia usuwa tylko lokalne mapowanie. Aby całkowicie usunąć bota z workspace Slack, odinstaluj aplikację w ustawieniach administratora Slack.

Skonfiguruj wyzwalacz

Integracja udostępnia jeden wyzwalacz: SlackMessage. Uruchamia się, gdy bot zobaczy nową wiadomość użytkownika na skonfigurowanym kanale.

1

Dodaj wyzwalacz SlackMessage

Na stronie konfiguracji agenta dodaj nowy wyzwalacz i wybierz SlackMessage.

2

Wybierz agenta i kanał

Skonfiguruj pola wyzwalacza:

  • Agent: agent obsługujący rozmowę.
  • Channel ID: identyfikator kanału Slack, na przykład C0123456789. Interfejs udostępnia bezpośredni link do otwarcia kanału w Slacku.
3

Zapisz wyzwalacz

Zapisz wyzwalacz. ElevenLabs automatycznie zaprasza bota na publiczne kanały. Późniejsze usunięcie wyzwalacza sprawi, że bot opuści ten kanał.

Slack nie pozwala aplikacjom automatycznie dołączać do prywatnych kanałów. W przypadku prywatnego kanału po zapisaniu wyzwalacza wpisz na nim /invite @Eleven, aby bot mógł widzieć wiadomości.

Dozwolony jest tylko jeden wyzwalacz dla każdej pary (Slack workspace, channel). Edytuj istniejący wyzwalacz zamiast tworzyć duplikat.

Skonfiguruj wyzwalacz DM

Wyzwalacz SlackDirectMessage pozwala każdemu użytkownikowi Slack rozmawiać z agentem przez wysłanie botowi wiadomości bezpośredniej. W przeciwieństwie do wyzwalacza kanałowego nie wymaga wzmianki przez @ — przetwarzana jest każda wiadomość wysłana przez użytkownika w DM z botem.

1

Dodaj wyzwalacz SlackDirectMessage

Na stronie konfiguracji agenta dodaj nowy wyzwalacz i wybierz SlackDirectMessage.

2

Wybierz agenta

Wybierz Agent, który obsługuje rozmowy DM.
3

Zapisz wyzwalacz

Zapisz wyzwalacz. Każdy użytkownik Slack w workspace może teraz otworzyć DM z botem i rozpocząć rozmowę.

W przypadku aplikacji BYO upewnij się, że zasubskrybowano zdarzenie bota message.im i dodano zakres bota im:history. Jeśli po ich dodaniu pojawi się prośba, zainstaluj aplikację ponownie.

Dozwolony jest tylko jeden wyzwalacz DM na połączenie Slack. Aby zmienić agenta, edytuj istniejący wyzwalacz.

Rozmowa z botem w Slacku

Gdy wyzwalacz jest aktywny, a bot znajduje się na kanale, rozpocznij rozmowę w wątku kanału. Sposób kontynuowania wątku zależy od subskrypcji zdarzeń aplikacji Slack (OAuth korzysta z trybu tylko ze wzmiankami).

Tylko wzmianki (app_mention)

1

Rozpocznij wątek ze wzmianką

Wspomnij bota na kanale, aby rozpocząć nowy wątek, na przykład @Eleven what's the status of order 1234?. Bot odpowie w wątku pod tą wiadomością.

2

Kontynuuj wątek

Wspominaj bota ponownie w każdej wiadomości, na którą ma odpowiedzieć, także w dalszych wiadomościach w tym samym wątku. Wiadomości bez wzmianki są ignorowane.

Wszystkie wiadomości (message.channels, message.groups)

1

Rozpocznij wątek

Wyślij dowolną wiadomość na kanale, na którym jest bot. Bot odpowie w wątku pod tą wiadomością. Nie musisz wspominać bota przez @.

2

Kontynuuj wątek

Odpowiedz w tym samym wątku bez wspominania bota. Każda nowa wiadomość w wątku jest przetwarzana.

Gdy bot generuje odpowiedź, dodaje reakcję :eyes: do wiadomości użytkownika, która wywołała działanie, i usuwa ją po opublikowaniu odpowiedzi.

Ustawienie Respond to messages from w wyzwalaczu Channel Message określa, kto może uruchomić agenta:

  • Only humans (domyślnie): wiadomości od innych botów i z workflow Slack są ignorowane. To bezpieczne ustawienie domyślne, które zachowuje działanie istniejących wyzwalaczy.
  • Humans and bots: wiadomości od innych botów i opublikowane przez workflow (w tym starsze zdarzenia bot_message) także uruchamiają agenta.

Bot zawsze ignoruje własne wiadomości — korzystając z tożsamości użytkownika bota i aplikacji w podpisanym webhooku Slacka — niezależnie od ustawienia, więc nigdy nie odpowiada sam sobie, nawet gdy sam zostanie wspomniany. Nadal ignoruje też edytowane (message_changed) i usunięte (message_deleted) wiadomości. Obsługuje zdarzenia message i app_mention oraz działa zarówno na kanałach publicznych, jak i prywatnych.

Starsze zdarzenia botów zawierające tylko bot_id identyfikują nadawcę, ale nie aplikację odbierającą. Są traktowane jako wiadomości od innego bota; wykrywanie pętli własnych wiadomości dla tej aplikacji Slack używa tożsamości użytkownika bota lub aplikacji zawartej we współczesnych ładunkach zdarzeń Slack.

Jeśli twoja aplikacja Slack subskrybuje jednocześnie app_mention i message.channels / message.groups, pojedyncza wzmianka przez @ może uruchomić dwie odpowiedzi agenta. Zasubskrybuj jeden z tych trybów.

Model rozmowy

Identyfikator rozmowy jest deterministyczny dla (agent_id, channel_id, thread_ts):

  • Nowy wątek Slack jest mapowany na nową rozmowę ElevenLabs.
  • Kontynuowanie tego samego wątku kontynuuje tę samą rozmowę, w tym historię transkrypcji i zmienne dynamiczne.

Podczas tworzenia historii czatu bot odczytuje wątek Slack bezpośrednio. Wiadomości od członków Slacka i innych botów są traktowane jako tury użytkownika, a własne wiadomości bota jako tury agenta. Wzmianki o użytkowniku bota (<@BOT_USER_ID>) są zamieniane na @<agent_name> przed przetworzeniem ich przez agenta.

Zmienne dynamiczne

Gdy agent działa ze Slacka, w promptach i narzędziach dostępne są następujące zmienne dynamiczne:

ZmiennaOpis
integration__slack_channel_idIdentyfikator kanału Slack.
integration__slack_thread_tsZnacznik czasu wątku Slack.
integration__slack_user_idIdentyfikator nadawcy Slack. To identyfikator użytkownika lub identyfikator bota w starszych zdarzeniach bota bez użytkownika.
integration__slack_team_idIdentyfikator workspace Slack (team).
integration__slack_connection_idIdentyfikator połączenia integracji ElevenLabs.
integration__slack_trigger_message_tsSlack ts wiadomości, która wywołała tę turę agenta (unikalny identyfikator wiadomości na kanale).

Zobacz zmienne dynamiczne, aby dowiedzieć się, jak odwoływać się do nich w promptach i wywołaniach narzędzi.

Rozwiązywanie problemów

Załączniki plików nie działają

Gdy użytkownik dołącza obraz lub PDF w Slacku, ale agent go nie przetwarza (lub zachowuje się, jakby plik nie został wysłany), wykonaj poniższe kontrole.

1

Sprawdź, czy aplikacja Slack ma files:read

Bot potrzebuje zakresu bota files:read, aby pobierać załączniki ze Slacka.

  • Własna aplikacja — otwórz aplikację w Slack API: Your Apps, przejdź do OAuth & Permissions i sprawdź, czy files:read widnieje w Bot Token Scopes. Jeśli dodano go niedawno, zainstaluj aplikację ponownie w workspace, aby token otrzymał nowy zakres.
2

Sprawdź, czy model agenta obsługuje wejście plikowe

Załączniki plików są przekazywane tylko wtedy, gdy LLM agenta obsługuje dane multimodalne — wejście obrazowe i/lub dokumenty (PDF), zależnie od typu pliku. W konfiguracji agenta otwórz kartę Agent i sprawdź wybrany model. Jeśli model nie obsługuje danego typu załącznika, zmień go na taki, który go obsługuje.

3

Włącz Allow file attachments w ustawieniach agenta

Na stronie konfiguracji agenta otwórz Settings > Advanced. W sekcji Multimodal input włącz Allow file attachments. Zapisz agenta. Bez tego ustawienia załączniki Slack są ignorowane, nawet jeśli aplikacja Slack i model obsługują pliki.

Przydatne linki