---
title: "Slack Konektor"
description: "Kompletan vodič za integraciju Slacka za slanje obavijesti, sinkronizaciju podataka kanala i pokretanje Brevo automatizacija iz Slack događaja putem Taja."
url: https://tajo.io/hr/docs/connectors/custom/slack/
markdown: https://tajo.io/hr/docs/connectors/custom/slack.md
lang: hr-HR
robots: noindex
---

Zatražite rani pristup

Unesite ime i poslovnu adresu e-pošte. Poslat ćemo vam poveznicu za potvrdu zahtjeva za pristup Taju.

# Slack Konektor

Status konektora: Planirano Još nije izrađeno. Tajo danas ne pokreće ovaj konektor.

| Izvorno polje | Odredišno polje | Primjer vrijednosti |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Povežite svoj Slack radni prostor s Brevom putem Taja za marketinške obavijesti u stvarnom vremenu, timska upozorenja o korisničkim događajima i automatizaciju tijeka rada pokrenuti Slack interakcijama.

## Pregled

| Svojstvo | Vrijednost |
| --- | --- |
| **Platforma** | Slack |
| **Kategorija** | Prilagođena integracija |
| **Složenost postavljanja** | Jednostavno |
| **Službena integracija** | Ne |
| **Sinkronizirani podaci** | Korisnici, Kanali, Poruke, Događaji |
| **Osnovni URL API-ja** | `https://slack.com/api` |

## Značajke

- **Marketinška upozorenja** - Šaljite obavijesti u stvarnom vremenu za događaje kampanje, nove pretplatnike i prihodni prekretnice
- **Obavijesti o korisničkim događajima** - Upozoravajte timove na visokovjredne korisničke akcije iz Breva
- **Okidači tijeka rada** - Koristite Slack interakcije (klikovi gumba, slanje obrazaca) za pokretanje Brevo automatizacija
- **Usmjeravanje temeljeno na kanalima** - Usmjeravajte obavijesti na određene kanale prema vrsti događaja ili segmentu klijenata
- **Sinkronizacija korisnika** - Mapirajte korisnike Slack radnog prostora na Brevo kontakte za internu komunikaciju
- **Interaktivne poruke** - Šaljite bogate poruke s gumbima i akcijama za timske tijekove rada
- **Zakazane poruke** - Zakazujte obavijesti za dnevne/tjedne marketinške sažetke
- **Podrška za teme razgovora** - Grupirajte povezane obavijesti u temama za organiziranu komunikaciju

## Preduvjeti

Prije nego što počnete, osigurajte da imate:

1. Slack radni prostor s administratorskim pristupom
2. Slack aplikaciju kreiranu na [api.slack.com/apps](https://api.slack.com/apps)
3. Bot token s potrebnim opsezima
4. Brevo račun s API pristupom
5. Tajo račun

## Autentifikacija

### Bot Token (Preporučeno)

Instalirajte Slack aplikaciju u svom radnom prostoru i koristite bot token za API pristup.

1. Kreirajte aplikaciju na [api.slack.com/apps](https://api.slack.com/apps)
2. Dodajte potrebne OAuth opsege pod “OAuth & Permissions”
3. Instalirajte aplikaciju u radni prostor
4. Kopirajte Bot User OAuth Token (`xoxb-...`)

```bash
curl -X POST "https://slack.com/api/chat.postMessage" \
  -H "Authorization: Bearer xoxb-YOUR-BOT-TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"channel": "C01234567", "text": "Pozdrav iz Taja!"}'
```

### OAuth 2.0

Za distribuciju Slack integracije na više radnih prostora:

```bash
# URL autorizacije
https://slack.com/oauth/v2/authorize?
  client_id={client_id}&
  scope=chat:write,channels:read,users:read&
  redirect_uri={redirect_uri}

# Zamjena tokena
curl -X POST "https://slack.com/api/oauth.v2.access" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "code={auth_code}"
```

#### Potrebni Bot opsezi

```
chat:write           # Slanje poruka
channels:read        # Popis kanala
channels:history     # Čitanje poruka kanala
users:read           # Popis korisnika radnog prostora
users:read.email     # Čitanje e-mail adresa korisnika
reactions:write      # Dodavanje reakcija na poruke
files:write          # Učitavanje datoteka
```

Pristup korisničkom e-mailu

Opseg `users:read.email` potreban je za podudaranje Slack korisnika s Brevo kontaktima. Bez njega, mapiranje korisnika bit će ograničeno na prikazna imena.

## Konfiguracija

### Osnovna konfiguracija

```yaml
connectors:
  slack:
    enabled: true
    bot_token: "${SLACK_BOT_TOKEN}"
    signing_secret: "${SLACK_SIGNING_SECRET}"

    # Kanali za obavijesti
    channels:
      marketing: "C01234567"
      sales: "C01234568"
      support: "C01234569"
      alerts: "C01234570"

    # Usmjeravanje događaja
    notifications:
      new_subscriber:
        channel: marketing
        template: subscriber_alert
      high_value_order:
        channel: sales
        template: order_alert
      support_ticket:
        channel: support
        template: ticket_alert
```

### Mapiranje polja

Mapirajte Slack korisničke podatke na Brevo atribute kontakata:

#### Zadana mapiranja

| Parameter | Type | Description |
| --- | --- | --- |
| `profile.email` required | string | E-mail korisnika (jedinstveni identifikator za Brevo podudaranje) |
| `real_name` optional | string | Puno ime, podijeljeno u FIRSTNAME/LASTNAME |
| `profile.phone` optional | string | Mapira na SMS atribut |
| `profile.title` optional | string | Radni naziv |
| `tz` optional | string | Korisnikova vremenska zona |
| `is_admin` optional | boolean | Status administratora radnog prostora |
| `team_id` optional | string | ID tima radnog prostora |
| `status_text` optional | string | Prilagođeni status korisnika |

## API metode

### Poruke

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `POST` | `chat.postMessage` | Pošaljite poruku u kanal |
| `POST` | `chat.update` | Ažurirajte postojeću poruku |
| `POST` | `chat.delete` | Izbrišite poruku |
| `POST` | `chat.scheduleMessage` | Zakažite poruku |
| `POST` | `chat.postEphemeral` | Pošaljite efemeralnu poruku korisniku |

### Kanali

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `conversations.list` | Popis kanala |
| `GET` | `conversations.info` | Informacije o kanalu |
| `GET` | `conversations.members` | Popis članova kanala |
| `GET` | `conversations.history` | Poruke kanala |

### Korisnici

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `GET` | `users.list` | Popis korisnika radnog prostora |
| `GET` | `users.info` | Informacije o korisniku |
| `GET` | `users.lookupByEmail` | Pronađi korisnika prema e-mailu |
| `GET` | `users.conversations` | Popis korisničkih kanala |

### Interakcije

| Metoda | Krajnja točka | Opis |
| --- | --- | --- |
| `POST` | `views.open` | Otvorite modalni prikaz |
| `POST` | `views.update` | Ažurirajte modalni prikaz |
| `POST` | `reactions.add` | Dodajte emoji reakciju |

## Događaji

### Obavijesti Brevo -> Slack

| Događaj | Okidač | Akcija u Slacku |
| --- | --- | --- |
| `new_subscriber` | Kontakt kreiran u Brevu | Objava u #marketing |
| `campaign_sent` | Emailska kampanja poslana | Objava sažetka u #marketing |
| `order_placed` | Otkriven viskovrijedni narudžba | Objava u #sales s detaljima |
| `cart_abandoned` | Napuštena košarica 30 min | Objava u #sales za praćenje |
| `ticket_created` | Otvoren tiket podrške | Objava u #support |
| `unsubscribed` | Kontakt se odjavio | Upozorenje u #marketing |

### Okidači Slack -> Brevo

| Slack događaj | Okidač | Brevo akcija |
| --- | --- | --- |
| `message_action` | Prilagođeni prečac poruke | Dodaj kontakt na popis ili pokreni automatizaciju |
| `block_actions` | Klik gumba u poruci | Ažuriraj atribut kontakta ili pošalji e-mail |
| `view_submission` | Podnesen modalni obrazac | Kreiraj kontakt ili pokreni tijek rada |

## Primjeri koda

### Inicijalizacija konektora

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

// Povežite Slack
await tajo.connectors.connect('slack', {
  botToken: process.env.SLACK_BOT_TOKEN,
  signingSecret: process.env.SLACK_SIGNING_SECRET
});
```

### Slanje marketinških obavijesti

```javascript
// Pošaljite obavijest kada je postavljena viskovrijedna narudžba
await tajo.slack.notify({
  channel: 'sales',
  event: 'order_placed',
  data: {
    customerEmail: 'customer@example.com',
    orderValue: '$1.250,00',
    products: ['Premium Widget', 'Pro Service'],
    isFirstOrder: true
  },
  template: {
    blocks: [
      {
        type: 'header',
        text: { type: 'plain_text', text: 'Nova viskovrijedna narudžba' }
      },
      {
        type: 'section',
        fields: [
          { type: 'mrkdwn', text: '*Korisnik:*\ncustomer@example.com' },
          { type: 'mrkdwn', text: '*Iznos:*\n$1.250,00' }
        ]
      },
      {
        type: 'actions',
        elements: [
          {
            type: 'button',
            text: { type: 'plain_text', text: 'Pregledaj u Brevu' },
            url: 'https://app.brevo.com/contacts'
          }
        ]
      }
    ]
  }
});
```

### Rukovanje Slack interakcijama

```javascript
import crypto from 'crypto';

app.post('/slack/interactions', async (req, res) => {
  // Verificirajte Slack potpis zahtjeva
  const timestamp = req.headers['x-slack-request-timestamp'];
  const signature = req.headers['x-slack-signature'];
  const sigBasestring = `v0:${timestamp}:${req.rawBody}`;
  const mySignature = 'v0=' + crypto
    .createHmac('sha256', process.env.SLACK_SIGNING_SECRET)
    .update(sigBasestring)
    .digest('hex');

  if (signature !== mySignature) {
    return res.status(401).send('Unauthorized');
  }

  const payload = JSON.parse(req.body.payload);

  // Upravljajte akcijama gumba
  if (payload.type === 'block_actions') {
    await tajo.connectors.handleWebhook('slack', {
      type: 'interaction',
      action: payload.actions[0].action_id,
      userId: payload.user.id,
      payload
    });
  }

  res.status(200).send();
});
```

## Ograničenja brzine

Slack API ograničenja brzine koriste slojeviti sustav:

| Razina | Ograničenje | Uobičajene metode |
| --- | --- | --- |
| Razina 1 | 1 zahtjev/minuta | `chat.delete`, `conversations.kick` |
| Razina 2 | 20 zahtjeva/minuta | `conversations.history`, `users.info` |
| Razina 3 | 50 zahtjeva/minuta | `conversations.list`, `users.list` |
| Razina 4 | 100 zahtjeva/minuta | `chat.postMessage` |
| Posebno | Varira | `chat.postMessage` u isti kanal: 1/s |

Dodatna ograničenja:

- **Web API**: Naglasni limit s kratkoročnim ograničenjem
- **Events API**: Ponovne pokušaje isporuke za 3 pokušaja
- **Dolazni webhookovi**: 1 poruka/sekunda po URL-u webhookova
- **Block Kit**: Najviše 50 blokova po poruci

Brzina objave u kanalu

Objavljivanje u isti kanal ograničeno je na otprilike 1 poruku po sekundi. Skupne obavijesti ili koristite teme razgovora kako biste izbjegli ograničenja brzine.

## Rješavanje problema

### Uobičajeni problemi

| Problem | Uzrok | Rješenje |
| --- | --- | --- |
| `not_authed` | Nevažeći bot token | Ponovo instalirajte aplikaciju i kopirajte novi bot token |
| `channel_not_found` | Bot nije u kanalu | Pozovite bota u ciljni kanal |
| `missing_scope` | Traženi opseg nije odobren | Dodajte opseg i ponovo instalirajte aplikaciju |
| Događaj nije primljen | Pretplata na događaj nije postavljena | Konfigurirajte URL pretplate na događaje |
| Istek interakcije | Odgovor >3 sekunde | Odmah odgovorite s 200, asinkrono obradite |

### Način otklanjanja grešaka

Omogućite opširno bilježenje:

```yaml
connectors:
  slack:
    debug: true
    log_level: verbose
    log_events: true
```

### Testiranje veze

```bash
tajo connectors test slack
# ✓ Bot token valjani
# ✓ Radni prostor dostupan
# ✓ Kanali čitljivi
# ✓ Objava poruka omogućena
# ✓ Pretplate na događaje aktivne
```

## Preporučene prakse

1. **Koristite Block Kit** - Gradite bogate, interaktivne poruke s Slackovim Block Kit okvirom
2. **Brzo odgovarajte** - Potvrdite interakcije u roku od 3 sekunde, asinkrono obradite
3. **Grupirajte povezane poruke u teme razgovora** - Smanjite buku grupiranjem obavijesti u temama
4. **Usmjeravajte prema kanalu** - Šaljite različite vrste događaja u odgovarajuće timske kanale
5. **Uključite akcijske gumbe** - Dodajte gumbe “Pregledaj u Brevu” za brzi pristup korisničkim podacima
6. **Implementirajte unfurling** - Prikažite bogate preglede Brevo veza dijeljenih u Slacku

## Sigurnost

- **Bot Token** - OAuth opsežni pristupni token s granularnim dozvolama
- **Potpisivanje zahtjeva** - HMAC SHA-256 verifikacija potpisa za dolazne zahtjeve
- **OAuth 2.0** - Industrijski standardna autorizacija za distribuciju u više radnih prostora
- **TLS enkripcija** - Sva API komunikacija šifrirana putem HTTPS
- **Rotacija tokena** - Automatska rotacija tokena za poboljšanu sigurnost

## Povezani resursi

- [Slack API dokumentacija](https://api.slack.com/methods)
- [Slack Block Kit Builder](https://app.slack.com/block-kit-builder)
- [Slack Events API](https://api.slack.com/events-api)
- [Brevo Konektor](https://tajo.io/hr/docs/connectors/marketing/brevo)
- [Vještina sinkronizacije korisnika](https://tajo.io/hr/docs/skills/data-sync/customer-sync)
