> ## Documentation Index
> Fetch the complete documentation index at: https://strattumai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Slack

> Configure o conector Slack para sincronizar mensagens de canais com a plataforma strattum.ai.

O conector Slack sincroniza mensagens dos canais que você seleciona com a infraestrutura strattum.ai. As mensagens aparecem no Data Catalog e alimentam o contexto de comunicação interna no Memory e no Knowledge.

## Capacidades

* Sincroniza o histórico de mensagens dos canais monitorados.
* Coleta threads e respostas, com contagem de replies por mensagem.
* Autenticação via Bot Token do Slack.

## Objetos suportados

Cada canal monitorado vira um recurso no formato `channel__{channel_id}`.

| Objeto     | O que vem                                                                                             |
| ---------- | ----------------------------------------------------------------------------------------------------- |
| `messages` | Mensagens do canal com `ts`, `user`, `text`, `thread_ts`, `reply_count`, `type`, `subtype` e `bot_id` |

## Pré-requisitos

<CardGroup cols={2}>
  <Card title="Workspace Slack" icon="slack">
    Acesso a um workspace Slack com permissão para instalar apps.
  </Card>

  <Card title="Slack App com Bot Token" icon="robot">
    Um app do Slack com Bot Token e os escopos de leitura. O passo a passo está abaixo.
  </Card>
</CardGroup>

## Configuração

<Steps>
  <Step title="Crie um Slack App">
    Acesse [api.slack.com/apps](https://api.slack.com/apps) e clique em **Create New App → From scratch**. Dê um nome como `strattum-sync` e selecione o workspace.
  </Step>

  <Step title="Adicione os Bot Token Scopes">
    Em **OAuth & Permissions → Scopes → Bot Token Scopes**, adicione:

    ```
    channels:history
    channels:read
    groups:history
    users:read
    ```
  </Step>

  <Step title="Instale o app e copie o Bot Token">
    Clique em **Install to Workspace** e autorize. Copie o **Bot User OAuth Token**, que começa com `xoxb-`.

    <Warning>
      O Bot Token concede leitura ao workspace. Guarde-o em local seguro e nunca o comite em repositórios.
    </Warning>
  </Step>

  <Step title="Convide o bot para os canais">
    Em cada canal a monitorar, digite `/invite @strattum-sync`. O bot só lê canais dos quais é membro.
  </Step>

  <Step title="Adicione o conector no Console">
    No menu lateral do Console, clique em **Conectores → + Nova Conexão** e selecione **Slack**. Preencha os campos:

    * **Nome do Conector** — identificador na lista de conectores (Obrigatório)
    * **Bot Token** — token `xoxb-...` gerado na instalação (Obrigatório)
    * **Canais** — os canais a monitorar (Obrigatório)
  </Step>
</Steps>

## Autenticação e escopos

A autenticação é por Bot Token (`xoxb-`) do Slack.

| Escopo             | Para que serve                                              |
| ------------------ | ----------------------------------------------------------- |
| `channels:history` | Ler o histórico de mensagens de canais públicos             |
| `channels:read`    | Listar canais e ler seus metadados                          |
| `groups:history`   | Ler o histórico de canais privados dos quais o bot é membro |
| `users:read`       | Resolver os IDs de usuário das mensagens                    |

<Note>
  A lista de escopos acima cobre o caso comum de leitura de canais. Confirme os escopos exatos exigidos pela sua instalação com o time \[verificar].
</Note>

## Frequência de sync

O conector sincroniza **a cada 30 minutos**. A primeira execução após a ativação roda como sample sync (amostra) e, ao concluir, o ciclo completo passa a rodar no schedule padrão.

## Limitações conhecidas

* O bot só lê canais dos quais é membro; um canal sem o `/invite` não sincroniza.
* As mensagens trazem o `user` como ID do Slack; a resolução para nome depende do objeto de usuário.
* Anexos e arquivos não são baixados — apenas o texto e os metadados da mensagem são coletados.
* Editar a conexão substitui as credenciais por completo; não há atualização parcial.

## Troubleshooting

| Sintoma                        | Causa provável                                | O que fazer                                                    |
| ------------------------------ | --------------------------------------------- | -------------------------------------------------------------- |
| `not_in_channel`               | Bot não é membro do canal                     | Rode `/invite @strattum-sync` no canal                         |
| Canal não sincroniza mensagens | Bot não convidado ou canal privado sem escopo | Convide o bot e confirme `groups:history` para canais privados |
| `invalid_auth`                 | Bot Token inválido ou revogado                | Reinstale o app e atualize o token no conector                 |
| `missing_scope`                | Falta um Bot Token Scope                      | Adicione o escopo em OAuth & Permissions e reinstale o app     |

## Próximos passos

<CardGroup cols={2}>
  <Card title="Guia de desenvolvimento local" icon="terminal" href="/data-pipelines/local-development">
    Configure o ambiente local completo com Prefect, worker e Docker Compose.
  </Card>

  <Card title="Quickstart — Data Pipelines" icon="rocket" href="/data-pipelines/quickstart">
    Ative conectores via Console strattum.ai sem precisar de ambiente local.
  </Card>
</CardGroup>
