Przejdź do głównej zawartości

Połącz Slack z obszarem roboczym

Po ukończeniu tego samouczka będziesz mieć:

  • Aplikację Slack utworzoną dla swojego obszaru roboczego, z właściwymi uprawnieniami i zdarzeniami już ustawionymi
  • Działające połączenie między Slackiem a Control Center
  • Własne konto Slack połączone z Twoim użytkownikiem Control Center
  • Agenta odpowiadającego Ci w wątku Slacka oraz zgłoszenie utworzone z polecenia z ukośnikiem

Wymagania wstępne:

  • Ukończone Twój pierwszy obszar roboczy i Wyślij pierwszego agenta — obszar roboczy bez agentów może odebrać wiadomość ze Slacka, ale nie ma komu na nią odpowiedzieć
  • Agent CEO obszaru roboczego ma ustawiony adapter i model w Ustawienia → Obszar roboczy → Agenci. Most budzi agenta CEO, a nie agenta skonfigurowanego w poprzednim samouczku, a agent bez adaptera działa na wbudowanej pętli z domyślnym modelem Anthropic.
  • Rolę owner lub admin w obszarze roboczym Control Center (połączenie aplikacji czatu reprezentuje cały obszar roboczy)
  • Uprawnienie do tworzenia i instalowania aplikacji w Twoim obszarze roboczym Slack

Nic tutaj nie wymaga publicznego adresu, tunelu ani portu przychodzącego. Control Center łączy się ze Slackiem na zewnątrz przez Socket Mode, więc działa to z laptopa za NAT.

To jedyny sekret, który musisz zdobyć ręcznie. Pozwala Control Center utworzyć aplikację za Ciebie, a później ją edytować.

  1. Otwórz api.slack.com/apps
  2. Przewiń do sekcji tokenów konfiguracji aplikacji na dole strony
  3. Wygeneruj parę tokenów dla swojego obszaru roboczego Slack
  4. Skopiuj token odświeżania — zaczyna się od xoxe-
  1. W Control Center przejdź do Ustawienia → Obszar roboczy → Ogólne i znajdź kartę Mostki czatu
  2. W bloku Slack kliknij Utwórz aplikację za mnie
  3. Wklej token konfiguracji aplikacji
  4. Przejrzyj, jak będzie wyglądać bot:
    • Nazwa aplikacji: jak Slack wyświetla aplikację, np. Control Center · Acme
    • Nazwa bota: to, co ludzie wpisują po @, np. control-center
    • Krótki opis i Co bot mówi, że potrafi
    • Polecenie z ukośnikiem: domyślnie cc, więc polecenie to /cc
    • Wiadomości prywatne: pozostaw włączone, aby członkowie mogli wysyłać botowi wiadomości prywatne
  5. Kliknij Utwórz aplikację

Control Center składa całą definicję aplikacji — włączony Socket Mode, potrzebne zakresy bota i subskrypcje zdarzeń, polecenie z ukośnikiem, kartę Messages — i tworzy ją w Slacku.

Slack nie ma API do generowania tokenu na poziomie aplikacji ani do instalowania aplikacji, więc okno podaje jedno i drugie jako linki:

  1. Wygeneruj token na poziomie aplikacji — otwiera Basic Information → App-Level Tokens. Utwórz token z zakresem connections:write i skopiuj go. Zaczyna się od xapp-
  2. Zainstaluj aplikację — otwiera Install App. Zainstaluj ją w swoim obszarze roboczym, a następnie skopiuj Bot User OAuth Token. Zaczyna się od xoxb-

Zachowaj obie wartości na następny krok.

  1. Z powrotem w oknie kliknij Wklej dane uwierzytelniające
  2. Wpisz Token bota (xoxb-…) i Token na poziomie aplikacji (xapp-…)
  3. Pozostaw Token konfiguracji aplikacji pusty — ten z kroku 1 został już zapisany (Slack go zrotował, a Control Center zapisał nowy)
  4. Kliknij Połącz

Control Center weryfikuje token bota w Slacku, zanim cokolwiek zapisze, a następnie otwiera socket. Wiersz pokazuje teraz nazwę bota i nazwę Twojego obszaru roboczego Slack, ze znacznikiem Na żywo.

Połączenie czyni bota osiągalnym, połączenie konta czyni rozpoznawalnym Ciebie. Dopóki Twoja tożsamość w Slacku nie jest połączona, bot nie będzie działał na Twoich wiadomościach — nigdy nie przypisuje wiadomości osobie, która zainstalowała aplikację.

Łączenie konta jest osobiste, dlatego znajduje się na innej stronie niż połączenie dla całego obszaru roboczego.

  1. Przejdź do Ustawienia → Obszar roboczy → Profil i tożsamość i znajdź kartę Połączone konta czatu
  2. Kliknij Połącz moje konto Slack
  3. Skopiuj wyświetlane polecenie, na przykład /cc link K7M2QP
  4. W Slacku wyślij to polecenie botowi w wiadomości prywatnej
  5. Bot odpowiada „Linked — you are …”

Kod jest jednorazowy i wygasa po 15 minutach. Jeśli Twój adres e-mail w Slacku pasuje do użytkownika Control Center, który jest już członkiem tego obszaru roboczego, most połączy Cię automatycznie przy pierwszej rozmowie z nim i możesz pominąć ten krok.

Jeśli wspomnisz bota, zanim to zrobisz, odmówi i wyjaśni dlaczego. Te trzy odmowy różnią się od siebie, więc przeczytaj, którą dostałeś:

  • Niepołączony nadawca: bot mówi Ci, jak połączyć konto. Wróć do tego kroku.
  • Połączony, ale niebędący członkiem tego obszaru roboczego: poproś administratora o zaproszenie.
  • Członek z rolą tylko do odczytu (viewer lub guest): bot nie rozpocznie pracy w Twoim imieniu.
  1. W Slacku zaproś bota do kanału: /invite @control-center

  2. Wspomnij go z prawdziwą prośbą:

    @control-center podsumuj otwarte PR-y w repozytorium api

Most:

  1. Tworzy przestrzeń Control Center dla tego wątku Slacka, nazwaną od kanału Slack i Twojej prośby
  2. Budzi agenta pierwszego kontaktu obszaru roboczego (agenta CEO, jeśli istnieje, w przeciwnym razie pierwszego agenta)
  3. Strumieniuje odpowiedź agenta z powrotem do wątku Slacka w miarę jej powstawania

Odpowiedz w tym samym wątku Slacka, aby kontynuować — dalsze wzmianki nie są potrzebne, bo wątek Slacka jest już połączony mostem. Możesz też wysłać botowi wiadomość prywatną zamiast używać kanału; każda rozmowa prywatna prowadzi własną przestrzeń Control Center, z tytułem i wierszem statusu „is thinking…”, gdy agent pracuje.

Strumieniowanie wymaga API strumieniowania Slacka, którego nie ma każdy plan. Jeśli Twoja aplikacja go nie otrzyma, most przestaje próbować w ramach całego połączenia i zamiast tego publikuje każdą odpowiedź jako jedną wiadomość, a na karcie Mostki czatu widnieje „Strumieniowanie na żywo jest wyłączone dla tej aplikacji Slack — odpowiedzi przychodzą jako jedna wiadomość.” Wszystko inne działa tak samo.

/cc ticket Fix the flaky login test | It fails on CI about once a day.

Bot odpowiada kluczem zgłoszenia, które utworzył. Zgłoszenie to zwykłe lokalne zgłoszenie Control Center, zgłoszone przez Ciebie, gotowe do przypisania agentowi. /cc help wymienia wszystko, co potrafi to polecenie.

Utworzyłeś aplikację Slack z poziomu Control Center, połączyłeś ją przez wychodzący socket, połączyłeś swoją tożsamość w Slacku z użytkownikiem Control Center i kierowałeś agentem z wątku Slacka. Wszystko, co wydarzyło się w Slacku, istnieje także w Control Center: wątek Slacka to przestrzeń, odpowiedź to transkrypcja, a zgłoszenie to zgłoszenie.

Dalej: Skonfiguruj integrację Slack opisuje ścieżkę ręczną, rotację tokenów i rozwiązywanie problemów. Model, który za tym stoi, opisuje Mosty czatu.