💼

Slack

Comunicação Empresarial

Guia completo para criar um Slack App, configurar OAuth e enviar/receber mensagens automaticamente.

🎯

Visão Geral

Slack oferece uma API robusta para automação empresarial. Você pode enviar mensagens, criar canais, reagir a eventos e muito mais.

📨

Mensagens

Enviar e receber

📢

Canais

Criar e gerenciar

🔔

Eventos

Webhooks em tempo real

🤖

Bots

Interações automáticas

1

Criar Slack App

1.1 Acessar o Portal

  1. Acesse api.slack.com/apps
  2. Clique em "Create New App"
  3. Escolha "From scratch"

1.2 Configurar o App

App Name:

N8N Automation Bot

Workspace:

Selecione seu workspace

Clique em "Create App"

2

Configurar Permissões (Scopes)

2.1 Adicionar Bot Token Scopes

  1. 1. No menu lateral, clique em "OAuth & Permissions"
  2. 2. Role até "Scopes""Bot Token Scopes"
  3. 3. Clique em "Add an OAuth Scope"

Scopes Recomendados

// Mensagens: chat:write // Enviar mensagens chat:write.public // Enviar em canais públicos chat:write.customize // Customizar nome/avatar do bot // Canais: channels:read // Listar canais públicos channels:join // Entrar em canais groups:read // Listar canais privados (se adicionado) // Usuários: users:read // Ler informações de usuários users:read.email // Ler emails de usuários // Arquivos: files:write // Fazer upload de arquivos files:read // Ler arquivos // Reações: reactions:write // Adicionar reações reactions:read // Ler reações
3

Instalar no Workspace

3.1 Gerar Token

  1. 1. Ainda em "OAuth & Permissions", role até o topo
  2. 2. Clique em "Install to Workspace"
  3. 3. Revise as permissões e clique em "Permitir"

3.2 Copiar o Token

Após instalar, você verá o Bot User OAuth Token:

Bot User OAuth Token:

xoxb-seu-token-aparece-aqui

⚠️ Guarde este token em local seguro! Ele dá acesso ao seu workspace.

4

Configurar Event Subscriptions (Receber Mensagens)

📝 Quando usar?

Configure eventos se você quiser que o N8N reaja a mensagens do Slack (ex: responder automaticamente, processar comandos).

4.1 Configurar Request URL

  1. 1. No menu do app, vá em "Event Subscriptions"
  2. 2. Ative "Enable Events"
  3. 3. Em "Request URL", cole a URL do webhook N8N
// URL do webhook N8N: https://seu-n8n.com/webhook/slack-events // O Slack envia um challenge para verificar // O N8N precisa responder com o challenge

4.2 Configurar Webhook no N8N

// Node: Webhook // Method: POST // Path: slack-events // Depois do Webhook, adicione um IF: // Condição: {{ $json.type }} === 'url_verification' // Se TRUE: Respond to Webhook // Body: { "challenge": "{{ $json.challenge }}" } // Se FALSE: processar evento normalmente

4.3 Adicionar Bot Events

Em "Subscribe to bot events", adicione:

// Eventos comuns: message.channels // Mensagens em canais públicos message.groups // Mensagens em canais privados message.im // Mensagens diretas para o bot app_mention // Quando alguém @menciona o bot reaction_added // Quando adicionam reação

Clique em "Save Changes" após adicionar eventos.

5

Configurar no N8N

5.1 Criar Credencial

  1. 1. No N8N, vá em CredenciaisAdicionar
  2. 2. Pesquise: "Slack API"
  3. 3. Cole o Bot User OAuth Token (xoxb-...)

5.2 Alternativa: Incoming Webhook (Mais Simples)

Para apenas enviar mensagens, você pode usar Incoming Webhooks:

  1. 1. No app Slack, vá em "Incoming Webhooks"
  2. 2. Ative e clique em "Add New Webhook to Workspace"
  3. 3. Selecione o canal e copie a URL
// URL do Incoming Webhook: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXX // Use com HTTP Request no N8N: POST para a URL acima Body: { "text": "Mensagem do N8N!" }
📋

Exemplos Práticos

📨 Enviar Mensagem Simples

// Node: Slack // Operation: Send Message Channel: #geral Text: Novo pedido recebido! // Ou com formatação: Text: | *Novo Pedido* #{{ $json.id }} • Cliente: {{ $json.nome }} • Valor: R$ {{ $json.valor }}

🎨 Mensagem com Blocks

// Node: HTTP Request (mais controle) // POST: https://slack.com/api/chat.postMessage { "channel": "C0123456789", "blocks": [ { "type": "header", "text": { "type": "plain_text", "text": "🚀 Deploy Realizado" } }, { "type": "section", "text": { "type": "mrkdwn", "text": "Versão *v2.1.0*" } } ] }

👍 Adicionar Reação

// Node: Slack // Operation: Add Reaction Channel: {{ $json.channel }} Timestamp: {{ $json.ts }} Emoji: white_check_mark // Emojis comuns: // thumbsup, heart, rocket, // eyes, fire, tada

📢 Listar Canais

// Node: Slack // Operation: Get All Channels // Retorna: [ { "id": "C0123456789", "name": "geral", "is_private": false }, ... ] // Use o ID para enviar mensagens

📎 Upload de Arquivo

// Node: Slack // Operation: File Upload Channel: #relatorios File: {{ $binary.data }} Filename: relatorio_{{ $now.format('yyyy-MM-dd') }}.pdf Title: Relatório Diário

🚨 Alerta de Erro

// Workflow de Monitoramento // Node: Slack (conectado ao Error Trigger) Channel: #alertas Text: | ⚠️ *ERRO NO WORKFLOW* Workflow: {{ $workflow.name }} Erro: {{ $json.error.message }} Node: {{ $json.error.node }} <@U0123456789> por favor verificar!
💡

Boas Práticas

✅ Faça

  • → Use canais específicos para cada tipo de notificação
  • → Inclua contexto suficiente nas mensagens
  • → Use threads para manter conversas organizadas
  • → Adicione botões de ação quando apropriado
  • → Respeite rate limits (1 msg/seg por canal)

❌ Evite

  • → Spam de mensagens (pode ser silenciado)
  • → Notificações irrelevantes ou muito frequentes
  • → @channel ou @here desnecessários
  • → Mensagens sem formatação (difíceis de ler)
  • → Expor dados sensíveis em canais públicos
🔧

Troubleshooting

❌ "channel_not_found"

Causa: O bot não está no canal ou o ID está errado.

Solução: Convide o bot para o canal com /invite @nome-do-bot ou use o ID correto do canal (C0123...).

❌ "missing_scope"

Causa: Falta permissão para a ação.

Solução: Adicione o scope necessário em OAuth & Permissions e reinstale o app.

❌ "invalid_auth"

Causa: Token inválido ou revogado.

Solução: Reinstale o app no workspace para gerar novo token.

Slack Configurado!

Agora você pode automatizar a comunicação da sua equipe.