Wróć do bloga
n8n

n8n + Slack/Teams – automatyzacja komunikacji w firmie

Alerty, podsumowania, routing wiadomości, boty. Twój komunikator firmowy jako centrum dowodzenia automatyzacjami.

8 min czytania
n8n, Slack, Microsoft Teams, automatyzacja, komunikacja, alerty

Slack i Teams to nie tylko czat – to centrum dowodzenia Twojej firmy. n8n zamienia je w dashboard automatyzacji: alerty ze wszystkich systemów, daily digesty, approval workflow i boty odpowiadające na pytania. Zamiast przełączać się między 10 narzędziami – wszystko trafia na Slacka.

TL;DR

  • n8n ma natywne node'y dla Slack (pełne API) i Microsoft Teams
  • Alerty: workflow padł, nowy lead, niski stan magazynowy → Slack
  • Daily digest: podsumowanie dnia z CRM, zamówień, ticketów → jeden kanał
  • Approval workflow: n8n prosi o zatwierdzenie na Slacku, czeka na reakcję
  • Bot: Slack mention → n8n → AI odpowiedź → Slack wątek

Nie masz n8n? Zainstaluj w 15 minut. Kontekst: kompletny poradnik n8n.


Konfiguracja: n8n + Slack

Slack App

  1. Wejdź na api.slack.com/appsCreate New App
  2. Wybierz „From scratch" → nazwa: „n8n Bot" → workspace
  3. OAuth & Permissions → dodaj scopes:
    • chat:write – wysyłanie wiadomości
    • channels:read – lista kanałów
    • reactions:read – reakcje (do approval)
    • app_mentions:read – mentions bota
  4. Install to Workspace → skopiuj Bot User OAuth Token
  5. W n8n: Settings → Credentials → Slack OAuth2 API → wklej token

Microsoft Teams

  1. W n8n: Settings → Credentials → Microsoft Teams
  2. Wymaga Azure AD App Registration (Client ID + Secret)
  3. Graph API permissions: ChannelMessage.Send, Chat.ReadWrite

Workflow 1: Centralne alerty

Zbierz alerty ze WSZYSTKICH systemów w jednym kanale Slacka.

Architektura

Error Workflow (n8n) → Slack #alerts Uptime Monitor → Slack #alerts Low Stock (e-commerce) → Slack #alerts New Lead (CRM) → Slack #leads Payment Failed → Slack #billing

Implementacja

Każdy workflow z alertem kończy się node'em Slack:

Slack – Post Message:

  • Channel: #alerts (lub dedykowany per typ)
  • Message z blokami (Slack Block Kit):
json
[
  {
    "type": "header",
    "text": { "type": "plain_text", "text": "Workflow Error" }
  },
  {
    "type": "section",
    "text": {
      "type": "mrkdwn",
      "text": "*Workflow:* {{ $json.workflow.name }}\n*Error:* {{ $json.execution.error.message }}"
    }
  }
]
Wskazówka

Użyj emoji w nazwach kanałów: #alerty-krytyczne, #alerty-info. Konfiguruj notyfikacje per kanał – krytyczne = push, info = bez pushy.


Workflow 2: Daily Digest

Codziennie o 8:00 – podsumowanie z wszystkich systemów w jednej wiadomości.

Co zbiera

Schedule (8:00) → Pipedrive API (nowe leady, deale) → WooCommerce API (zamówienia wczoraj) → GitHub API (nowe issues, PRy) → Google Analytics API (traffic) → Merge + Code (formatowanie) → Slack (#daily-digest)

Slack message

Dzień dobry! Podsumowanie z wczoraj ({{ $now.minus(1, 'day').format('dd.MM') }}): Sprzedaż: • Zamówień: 23 (4 120 PLN) • Nowych leadów: 5 Dev: • Nowe issues: 3 • Zamknięte PRy: 7 Marketing: • Sesji na stronie: 1 247 • Newsletter signups: 12 Miłego dnia!

Szczegóły integracji CRM: n8n + CRM. Raporty z Sheets: n8n + Google Workspace.


Workflow 3: Approval Workflow (zatwierdzanie na Slacku)

Agent AI chce wysłać email do klienta. Zanim wyśle – prosi o zatwierdzenie na Slacku. Klikasz emoji → email idzie.

Architektura

AI Agent → Slack (wiadomość z przyciskami: Approve / Reject) → Wait for Webhook (czeka na kliknięcie) → IF (approved?) → Tak: Wyślij email → Nie: Loguj decyzję

Implementacja

1. Slack – Post Message z przyciskami:

json
{
  "blocks": [
    {
      "type": "section",
      "text": { "type": "mrkdwn", "text": "*Email do klienta:*\n{{ $json.email_preview }}" }
    },
    {
      "type": "actions",
      "elements": [
        { "type": "button", "text": { "type": "plain_text", "text": "Approve" }, "action_id": "approve", "style": "primary" },
        { "type": "button", "text": { "type": "plain_text", "text": "Reject" }, "action_id": "reject", "style": "danger" }
      ]
    }
  ]
}

2. Webhook – Slack wysyła interakcję na webhook URL

3. IF{{ $json.actions[0].action_id }} equals approve

Uwaga

Approval workflow wymaga Slack Interactive Components skonfigurowanych na Twojej Slack App (Request URL = n8n webhook). Bez tego przyciski nie będą działać.


Workflow 4: Slack Bot z AI (RAG)

Ktoś taguje bota → n8n odpowiada na pytanie z bazy wiedzy.

Slack Trigger (@bot mention) → AI Agent + Vector Store → Slack (odpowiedź w wątku)

Pełny tutorial budowy agenta z RAG: n8n AI Agents.


Slack vs Microsoft Teams – co wybrać z n8n

AspektSlackMicrosoft Teams
n8n nodePełny (nativny)Pełny (natywny)
APIProste, świetna dokumentacjaZłożone (Graph API)
WebhooksŁatwe (Incoming Webhooks)Łatwe (Connectors)
Block Kit / CardsSlack Block Kit (elastyczny)Adaptive Cards
InteraktywnośćPrzyciski, menus, modalsPrzyciski, forms
BotŁatwy setupWymaga Bot Framework
Popularność (PL)Startupy, dev teamsKorporacje, firmy z M365

Zasada: Jeśli firma używa Microsoft 365 → Teams. W każdym innym przypadku → Slack (lepsze API, prostszy setup z n8n).


Best practices

1. Dedykowane kanały

Nie wrzucaj wszystkiego na #general. Stwórz dedykowane kanały:

  • #n8n-alerts – błędy workflow
  • #leads – nowe leady
  • #orders – zamówienia
  • #daily-digest – podsumowania

2. Formatowanie wiadomości

Używaj Slack Block Kit – czytelniejsze niż plain text. n8n obsługuje JSON blocks w polu „Block Kit".

3. Nie spamuj

Każdy alert powinien wymagać akcji. Jeśli alert nie wymaga reakcji – to nie alert, to szum. Szum = ignorowanie = przeoczone krytyczne alerty.

4. Threads

Odpowiedzi bota wysyłaj w wątkach (thread_ts), nie na główny kanał. Utrzymuje porządek.


FAQ

Czy mogę używać Incoming Webhooks zamiast pełnej Slack App?

Tak – dla prostych alertów Incoming Webhooks wystarczają (zero konfiguracji OAuth). Ogranniczenia: tylko wysyłanie, brak odczytu, brak interaktywności. Dla botów i approval – pełna Slack App.

Ile wiadomości mogę wysłać z n8n na Slacka?

Slack API rate limit: ~1 wiadomość/sekundę per workspace. Dla typowych automatyzacji (100 wiadomości/dzień) – zero problemów.

Mogę odczytywać wiadomości z kanału Slacka?

Tak – node Slack z operacją „Get Messages" / Slack Trigger z eventem „message". Wymaga scope channels:history.

n8n może reagować na emoji reakcje?

Tak – Slack Trigger z eventem reaction_added. Użyj do: approval (thumbsup = approve), tagging, routing.