Zum Inhalt springen

Slack mit deinem Arbeitsbereich verbinden

Am Ende dieses Tutorials hast du:

  • Eine Slack-App für deinen Arbeitsbereich, mit den richtigen Berechtigungen und Ereignissen, bereits eingerichtet
  • Eine laufende Verbindung zwischen Slack und Control Center
  • Dein eigenes Slack-Konto, verknüpft mit deinem Nutzer in Control Center
  • Einen Agenten, der dir in einem Slack-Thread antwortet, und ein Ticket, das aus einem Slash-Befehl entsteht

Voraussetzungen:

  • Dein erster Arbeitsbereich und Deinen ersten Agenten starten sind abgeschlossen — ein Arbeitsbereich ohne Agenten kann eine Slack-Nachricht empfangen, aber es ist niemand da, der antwortet
  • Der CEO-Agent des Arbeitsbereichs hat unter Einstellungen → Arbeitsbereich → Agenten einen Adapter und ein Modell. Die Brücke weckt den CEO, nicht den Agenten aus dem vorigen Tutorial, und ein Agent ohne Adapter läuft auf der eingebauten Schleife mit dem Standardmodell von Anthropic.
  • Die Rolle owner oder admin im Arbeitsbereich von Control Center (eine Chat-App zu verbinden gilt für den ganzen Arbeitsbereich)
  • Die Berechtigung, in deinem Slack-Workspace Apps anzulegen und zu installieren

Hier brauchst du keine öffentliche Adresse, keinen Tunnel und keinen eingehenden Port. Control Center verbindet sich über Socket Mode nach außen mit Slack, das funktioniert also von einem Laptop hinter NAT.

Schritt 1: Ein App-Konfigurationstoken von Slack holen

Abschnitt betitelt „Schritt 1: Ein App-Konfigurationstoken von Slack holen“

Das ist das einzige Geheimnis, das du von Hand holen musst. Damit kann Control Center die App für dich anlegen und später bearbeiten.

  1. Öffne api.slack.com/apps
  2. Scrolle zum Abschnitt App Configuration Tokens unten auf der Seite
  3. Erzeuge ein Token-Paar für deinen Slack-Workspace
  4. Kopiere das Refresh Token — es beginnt mit xoxe-
  1. Geh in Control Center zu Einstellungen → Arbeitsbereich → Allgemein und such die Karte Chat-Brücken
  2. Klicke im Block Slack auf App für mich erstellen
  3. Füge das App-Konfigurationstoken ein
  4. Prüfe, wie der Bot aussehen wird:
    • App-Name: so listet Slack die App, z. B. Control Center · Acme
    • Bot-Name: was man nach @ tippt, z. B. control-center
    • Kurzbeschreibung und Was der Bot über seine Fähigkeiten sagt
    • Slash-Befehl: standardmäßig cc, der Befehl ist also /cc
    • Direktnachrichten: lass sie an, damit Mitglieder dem Bot eine Direktnachricht schicken können
  5. Klicke auf App erstellen

Control Center setzt die ganze App-Definition zusammen — Socket Mode an, die Bot-Scopes und Event-Abonnements, die sie braucht, den Slash-Befehl, den Tab Messages — und legt sie in Slack an.

Schritt 3: Die zwei Schritte erledigen, die nur Slack kann

Abschnitt betitelt „Schritt 3: Die zwei Schritte erledigen, die nur Slack kann“

Slack hat keine API, um ein App-Level-Token zu erzeugen oder eine App zu installieren, der Dialog gibt dir beides deshalb als Links:

  1. App-Token generieren — öffnet Basic Information → App-Level Tokens. Erzeuge ein Token mit dem Scope connections:write und kopiere es. Es beginnt mit xapp-
  2. App installieren — öffnet Install App. Installiere sie in deinem Slack-Workspace und kopiere das Bot User OAuth Token. Es beginnt mit xoxb-

Heb beide Werte für den nächsten Schritt auf.

  1. Zurück im Dialog klickst du auf Zugangsdaten einfügen
  2. Trag das Bot-Token (xoxb-…) und das App-Token (xapp-…) ein
  3. Lass App-Konfigurationstoken leer — das aus Schritt 1 ist schon gespeichert (Slack hat es rotiert, und Control Center hat den neuen Wert behalten)
  4. Klicke auf Slack verbinden

Control Center prüft das Bot-Token bei Slack, bevor es etwas speichert, und öffnet dann den Socket. Die Zeile zeigt jetzt den Namen des Bots und den deines Slack-Workspace, mit dem Kennzeichen Live.

Die Verbindung macht den Bot erreichbar, die Verknüpfung macht dich erkennbar. Solange deine Slack-Identität nicht verknüpft ist, handelt der Bot nicht auf deine Nachrichten — er schreibt eine Nachricht nie der Person zu, die die App installiert hat.

Die Verknüpfung ist persönlich, sie liegt also auf einer anderen Seite als die Verbindung für den ganzen Arbeitsbereich.

  1. Geh zu Einstellungen → Arbeitsbereich → Profil und Identität und such die Karte Verknüpfte Chat-Konten
  2. Klicke auf Mein Slack-Konto verknüpfen
  3. Kopiere den Befehl, den sie anzeigt, zum Beispiel /cc link K7M2QP
  4. Schick den Befehl in Slack in einer Direktnachricht an den Bot
  5. Der Bot antwortet „Linked — you are …“

Der Code ist einmalig und läuft nach 15 Minuten ab. Passt deine Slack-E-Mail zu einem Nutzer von Control Center, der schon Mitglied dieses Arbeitsbereichs ist, verknüpft die Brücke dich beim ersten Gespräch automatisch, und du kannst diesen Schritt überspringen.

Erwähnst du den Bot, bevor das erledigt ist, lehnt er ab und sagt, warum. Die drei Ablehnungen sind verschieden, lies also, welche du bekommen hast:

  • Nicht verknüpfter Absender: Der Bot sagt dir, wie die Verknüpfung geht. Komm zu diesem Schritt zurück.
  • Verknüpft, aber kein Mitglied dieses Arbeitsbereichs: Bitte einen Admin, dich einzuladen.
  • Mitglied mit einer nur lesenden Rolle (viewer oder guest): Der Bot startet keine Arbeit in deinem Namen.
  1. Lade den Bot in Slack in einen Channel ein: /invite @control-center

  2. Erwähne ihn mit einer echten Anfrage:

    @control-center fasse die offenen PRs im Repo api zusammen

Die Brücke:

  1. Legt in Control Center einen Bereich für diesen Slack-Thread an, benannt nach dem Slack-Channel und deiner Anfrage
  2. Weckt den Eingangsagenten des Arbeitsbereichs (den CEO-Agenten, wenn es einen gibt, sonst den ersten Agenten)
  3. Streamt die Antwort des Agenten in den Slack-Thread, während sie entsteht

Antworte im selben Slack-Thread, um weiterzumachen — weitere Erwähnungen brauchst du nicht, der Slack-Thread ist jetzt überbrückt. Oder schreib dem Bot eine Direktnachricht, statt einen Channel zu nehmen. Jede Direktnachricht führt ihren eigenen Bereich in Control Center, mit einem Titel und der Statuszeile „is thinking…“, solange der Agent arbeitet.

Streaming braucht die Streaming-API von Slack, und die hat nicht jeder Tarif. Wird sie deiner App verweigert, hört die Brücke für die ganze Verbindung auf, es zu versuchen, und postet jede Antwort als eine Nachricht. Auf der Karte Chat-Brücken steht „Live-Streaming ist für diese Slack-App aus — Antworten kommen als eine Nachricht.“ Alles andere bleibt gleich.

Schritt 7: Ein Ticket anlegen, ohne Slack zu verlassen

Abschnitt betitelt „Schritt 7: Ein Ticket anlegen, ohne Slack zu verlassen“
/cc ticket Fix the flaky login test | It fails on CI about once a day.

Der Bot antwortet mit dem Schlüssel des Tickets, das er angelegt hat. Das Ticket ist ein gewöhnliches lokales Ticket in Control Center, von dir gemeldet und bereit, einem Agenten zugewiesen zu werden. /cc help listet, was der Befehl kann.

Du hast aus Control Center eine Slack-App angelegt, sie über einen ausgehenden Socket verbunden, deine Slack-Identität mit deinem Nutzer in Control Center verknüpft und einen Agenten aus einem Slack-Thread gesteuert. Alles, was in Slack passiert ist, gibt es auch in Control Center: Der Slack-Thread ist ein Bereich, die Antwort ein Transkript, das Ticket ein Ticket.

Weiter: Slack-Integration einrichten beschreibt den Weg von Hand, das Rotieren von Tokens und die Fehlersuche. Das Modell darunter steht in Chat-Brücken.