Pular para o conteúdo

Conecte o Slack ao seu espaço de trabalho

Ao final deste tutorial, você terá:

  • Um app do Slack criado para o seu espaço de trabalho, com as permissões e os eventos corretos já definidos
  • Uma conexão ativa entre o Slack e o Control Center
  • Sua própria conta do Slack vinculada ao seu usuário do Control Center
  • Um agente respondendo a você em um thread do Slack e um ticket aberto a partir de um comando slash

Pré-requisitos:

  • Seu primeiro espaço de trabalho e Despache seu primeiro agente concluídos — um espaço de trabalho sem agentes pode receber uma mensagem do Slack, mas não tem ninguém para respondê-la
  • O agente CEO do espaço de trabalho tem um adaptador e um modelo definidos em Configurações → Espaço de trabalho → Agentes. A ponte acorda o CEO, não o agente que você configurou no tutorial anterior, e um agente sem adaptador roda no loop integrado com o modelo padrão da Anthropic.
  • A função owner ou admin no espaço de trabalho do Control Center (conectar um app de chat fala em nome de todo o espaço de trabalho)
  • Permissão para criar e instalar apps no seu espaço de trabalho do Slack

Nada aqui precisa de um endereço público, de um túnel nem de uma porta de entrada. O Control Center disca para fora até o Slack via Socket Mode, então isso funciona de um notebook atrás de NAT.

Etapa 1: Obter um token de configuração do app do Slack

Seção intitulada “Etapa 1: Obter um token de configuração do app do Slack”

Este é o único segredo que você precisa buscar manualmente. Ele permite que o Control Center crie e depois edite o app para você.

  1. Abra api.slack.com/apps
  2. Role até a seção de tokens de configuração do app, no fim da página
  3. Gere um par de tokens para o seu espaço de trabalho do Slack
  4. Copie o token de atualização — ele começa com xoxe-
  1. No Control Center, vá em Configurações → Espaço de trabalho → Geral e encontre o cartão Pontes de chat
  2. No bloco do Slack, clique em Criar o app para mim
  3. Cole o token de configuração do app
  4. Revise como o bot vai ficar:
    • Nome do app: como o Slack lista o app, por exemplo Control Center · Acme
    • Nome do bot: o que as pessoas digitam depois de @, por exemplo control-center
    • Descrição curta e O que o bot diz que sabe fazer
    • Comando: cc por padrão, então o comando é /cc
    • Mensagens diretas: deixe ativado para que os membros possam mandar DM ao bot
  5. Clique em Criar app

O Control Center monta toda a definição do app — Socket Mode ativado, os escopos de bot e as assinaturas de eventos de que ele precisa, o comando slash, a aba Messages — e o cria no Slack.

Etapa 3: Conclua as duas etapas que só o Slack pode fazer

Seção intitulada “Etapa 3: Conclua as duas etapas que só o Slack pode fazer”

O Slack não tem API para gerar um token de aplicação nem para instalar um app, então o diálogo entrega os dois a você como links:

  1. Gerar um token de aplicação — abre Basic Information → App-Level Tokens. Crie um token com o escopo connections:write e copie-o. Ele começa com xapp-
  2. Instalar o app — abre Install App. Instale no seu espaço de trabalho e depois copie o Bot User OAuth Token. Ele começa com xoxb-

Guarde os dois valores para a próxima etapa.

  1. De volta ao diálogo, clique em Colar as credenciais
  2. Informe o Token do bot (xoxb-…) e o Token de aplicação (xapp-…)
  3. Deixe o Token de configuração do app vazio — o da etapa 1 já foi armazenado (o Slack o rotacionou e o Control Center salvou o novo)
  4. Clique em Conectar

O Control Center verifica o token do bot com o Slack antes de armazenar qualquer coisa e então abre o socket. A linha agora mostra o nome do bot e o nome do seu espaço de trabalho do Slack com uma etiqueta Ativo.

A conexão torna o bot alcançável; o vínculo torna você reconhecível. Enquanto sua identidade do Slack não estiver vinculada, o bot não agirá sobre suas mensagens — ele nunca atribui uma mensagem a quem instalou o app.

O vínculo é pessoal, então ele fica em uma página diferente da conexão de todo o espaço de trabalho.

  1. Vá em Configurações → Espaço de trabalho → Perfil e identidade e encontre o cartão Contas de chat vinculadas
  2. Clique em Vincular minha conta do Slack
  3. Copie o comando que ele mostra, por exemplo /cc link K7M2QP
  4. No Slack, envie esse comando ao bot em uma DM
  5. O bot responde “Vinculado — você é …”

O código é de uso único e expira em 15 minutos. Se o seu e-mail do Slack corresponder a um usuário do Control Center que já é membro deste espaço de trabalho, a ponte vincula você automaticamente na primeira vez que você falar com ela, e você pode pular esta etapa.

Se você mencionar o bot antes de concluir isso, ele recusa e diz por quê. As três recusas são distintas, então veja qual você recebeu:

  • Remetente sem vínculo: o bot explica como vincular. Volte a esta etapa.
  • Vinculado, mas não é membro deste espaço de trabalho: peça a um admin para convidar você.
  • Membro com uma função somente leitura (viewer ou guest): o bot não iniciará trabalho em seu nome.
  1. No Slack, convide o bot para um canal: /invite @control-center

  2. Mencione-o com um pedido de verdade:

    @control-center resuma as PRs abertas do repo api

A ponte:

  1. Cria um espaço no Control Center para aquele thread do Slack, nomeado a partir do canal do Slack e do seu pedido
  2. Acorda o agente de porta de entrada do espaço de trabalho (o agente CEO, quando houver um; caso contrário, o primeiro agente)
  3. Transmite a resposta do agente de volta para o thread do Slack conforme ela é escrita

Responda no mesmo thread do Slack para continuar — nenhuma menção adicional é necessária, porque o thread do Slack agora está conectado pela ponte. Ou mande uma DM ao bot em vez de usar um canal; cada conversa por DM conduz o próprio espaço no Control Center, com um título e uma linha de status “está pensando…” enquanto o agente trabalha.

O streaming precisa da API de streaming do Slack, que nem todo plano tem. Se o seu app for recusado por ela, a ponte para de tentar para toda a conexão e publica cada resposta como uma única mensagem, e o cartão Pontes de chat mostra “O streaming ao vivo está desligado para este app do Slack — as respostas chegam numa única mensagem.” Todo o resto funciona igual.

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

O bot responde com a chave do ticket que abriu. O ticket é um ticket local comum do Control Center, reportado por você, pronto para ser atribuído a um agente. /cc help lista tudo que o comando pode fazer.

Você criou um app do Slack a partir do Control Center, conectou-o por um socket de saída, vinculou sua identidade do Slack ao seu usuário do Control Center e comandou um agente a partir de um thread do Slack. Tudo o que aconteceu no Slack também existe no Control Center: o thread do Slack é um espaço, a resposta é uma transcrição, o ticket é um ticket.

A seguir: Configurar a integração com o Slack cobre o caminho manual, a rotação de tokens e a solução de problemas. Para entender o modelo por trás disso, leia Pontes de chat.