---
title: "Slack Connector"
description: "Popoln vodnik za integracijo Slack za pošiljanje obvestil, sinhronizacijo podatkov kanalov in sprožanje avtomatizacij Brevo iz événements Slack prek Tajo."
url: https://tajo.io/sl/docs/connectors/custom/slack/
markdown: https://tajo.io/sl/docs/connectors/custom/slack.md
lang: sl-SI
robots: noindex
---

Zaprosite za zgodnji dostop

Vnesite svoje ime in službeni e-poštni naslov. Poslali vam bomo povezavo za potrditev zahteve za dostop do Taja.

# Slack Connector

Stanje konektorja: Načrtovano Še ni izdelano. Tajo danes ne poganja tega konektorja.

| Izvorno polje | Ciljno polje | Vzorčna vrednost |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Poveži svoje delovno okolje Slack z Brevo prek Tajo za marketinška obvestila v realnem času, opozorila ekipe ob événementih strank in avtomatizacijo delovnih tokov, ki jih sprožajo interakcije Slack.

## Pregled

| Lastnost | Vrednost |
| --- | --- |
| **Platforma** | Slack |
| **Kategorija** | Integracija po meri |
| **Zahtevnost nastavitve** | Enostavna |
| **Uradna integracija** | Ne |
| **Sinhronizirani podatki** | Uporabniki, kanali, sporočila, dogodki |
| **Osnovni URL API** | `https://slack.com/api` |

## Funkcionalnosti

- **Marketinška opozorila** – pošlji obvestila v realnem času za événements kampanj, nove naročnike in mejnike prihodkov
- **Obvestila o événementih strank** – opozori ekipe na visoko vrednostne akcije strank iz Brevo
- **Sprožilci delovnih tokov** – interakcije Slack (kliki gumbov, oddaje obrazcev) použij za sprožanje avtomatizacij Brevo
- **Usmerjanje po kanalu** – usmerjaj obvestila v specifične kanale glede na vrsto événementa ali segment strank
- **Sinhronizacija uporabnikov** – preslikaj uporabnike delovnega okolja Slack v stike Brevo za interno komunikacijo
- **Interaktivna sporočila** – pošlji bogata sporočila z gumbi in dejanji za ekipne delovne tokove
- **Načrtovana sporočila** – načrtuj obvestila za dnevne/tedenske marketinške povzetke
- **Podpora za niti** – grupiraj sorodna obvestila v niti za organizirano komunikacijo

## Predpogoji

Preden začneš, se prepričaj, da imaš:

1. Delovno okolje Slack z administratorskim dostopom
2. Aplikacijo Slack, ustvarjeno na [api.slack.com/apps](https://api.slack.com/apps)
3. Bota žetona z zahtevanimi obsegi
4. Brevo račun z dostopom do API
5. Tajo račun

## Avtentikacija

### Bot žeton (priporočeno)

Namesti aplikacijo Slack v delovno okolje in za dostop do API uporabi bot žeton.

1. Ustvari aplikacijo na [api.slack.com/apps](https://api.slack.com/apps)
2. Dodaj zahtevane obsege OAuth pod “OAuth & Permissions”
3. Namesti aplikacijo v delovno okolje
4. Kopiraj 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": "Hello from Tajo!"}'
```

### OAuth 2.0

Za distribucijo integracije Slack v več delovnih okolij:

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

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

#### Zahtevani obsegi bota

```
chat:write           # Send messages
channels:read        # List channels
channels:history     # Read channel messages
users:read           # List workspace users
users:read.email     # Read user email addresses
reactions:write      # Add reactions to messages
files:write          # Upload files
```

Dostop do e-maila uporabnika

Obseg `users:read.email` je zahtevan za ujemanje uporabnikov Slack s stiki Brevo. Brez njega bo preslikava uporabnikov omejena na prikazana imena.

## Konfiguracija

### Osnovna nastavitev

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

    # Notification channels
    channels:
      marketing: "C01234567"
      sales: "C01234568"
      support: "C01234569"
      alerts: "C01234570"

    # Event routing
    notifications:
      new_subscriber:
        channel: marketing
        template: subscriber_alert
      high_value_order:
        channel: sales
        template: order_alert
      support_ticket:
        channel: support
        template: ticket_alert
```

### Preslikava polj

Preslikaj podatke o uporabnikih Slack v atribute stikov Brevo:

#### Privzete preslikave

| Parameter | Type | Description |
| --- | --- | --- |
| `profile.email` required | string | E-mail uporabnika (enolični identifikator za ujemanje z Brevo) |
| `real_name` optional | string | Polno ime, razdeljeno v FIRSTNAME/LASTNAME |
| `profile.phone` optional | string | Preslika se v atribut SMS |
| `profile.title` optional | string | Naziv delovnega mesta |
| `tz` optional | string | Časovni pas uporabnika |
| `is_admin` optional | boolean | Status administratorja delovnega okolja |
| `team_id` optional | string | ID ekipe delovnega okolja |
| `status_text` optional | string | Status po meri uporabnika |

## Metode API

### Sporočanje

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `POST` | `chat.postMessage` | Pošlji sporočilo v kanal |
| `POST` | `chat.update` | Posodobi obstoječe sporočilo |
| `POST` | `chat.delete` | Izbriši sporočilo |
| `POST` | `chat.scheduleMessage` | Načrtuj sporočilo |
| `POST` | `chat.postEphemeral` | Pošlji kratko sporočilo uporabniku |

### Kanali

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `conversations.list` | Seznam kanalov |
| `GET` | `conversations.info` | Pridobi informacije o kanalu |
| `GET` | `conversations.members` | Seznam članov kanala |
| `GET` | `conversations.history` | Pridobi sporočila kanala |

### Uporabniki

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `GET` | `users.list` | Seznam uporabnikov delovnega okolja |
| `GET` | `users.info` | Pridobi informacije o uporabniku |
| `GET` | `users.lookupByEmail` | Poišči uporabnika po e-mailu |
| `GET` | `users.conversations` | Seznam kanalov uporabnika |

### Interakcije

| Metoda | Končna točka | Opis |
| --- | --- | --- |
| `POST` | `views.open` | Odpri modalni pogled |
| `POST` | `views.update` | Posodobi modalni pogled |
| `POST` | `reactions.add` | Dodaj emoji reakcijo |

## Dogodki

### Obvestila Brevo-na-Slack

| Dogodek | Sprožilec | Dejanje Slack |
| --- | --- | --- |
| `new_subscriber` | Ustvarjen stik v Brevo | Objavi v #marketing |
| `campaign_sent` | Poslana e-mail kampanja | Objavi povzetek v #marketing |
| `order_placed` | Zaznano naročilo visoke vrednosti | Objavi v #sales s podrobnostmi |
| `cart_abandoned` | Košarica zapuščena 30 min | Objavi v #sales za nadaljnje ukrepanje |
| `ticket_created` | Odprt zahtevek za podporo | Objavi v #support |
| `unsubscribed` | Stik odjavil naročnino | Objavi opozorilo v #marketing |

### Sprožilci Slack-na-Brevo

| Événement Slack | Sprožilec | Dejanje Brevo |
| --- | --- | --- |
| `message_action` | Bližnjica sporočila po meri | Dodaj stik na seznam ali sproži avtomatizacijo |
| `block_actions` | Klik gumba v sporočilu | Posodobi atribut stika ali pošlji e-mail |
| `view_submission` | Oddaja modalnega obrazca | Ustvari stik ali sproži delovni tok |

## Primeri kode

### Inicializacija konektorja

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

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

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

### Pošiljanje marketinških obvestil

```javascript
// Send a notification when a high-value order is placed
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: 'New High-Value Order' }
      },
      {
        type: 'section',
        fields: [
          { type: 'mrkdwn', text: '*Customer:*\ncustomer@example.com' },
          { type: 'mrkdwn', text: '*Amount:*\n$1,250.00' }
        ]
      },
      {
        type: 'actions',
        elements: [
          {
            type: 'button',
            text: { type: 'plain_text', text: 'View in Brevo' },
            url: 'https://app.brevo.com/contacts'
          }
        ]
      }
    ]
  }
});
```

### Obravnava interakcij Slack

```javascript
import crypto from 'crypto';

app.post('/slack/interactions', async (req, res) => {
  // Verify Slack request signature
  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);

  // Handle button actions
  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();
});
```

## Omejitve hitrosti

Omejitve hitrosti Slack API uporabljajo stopenjski sistem:

| Stopnja | Omejitev | Pogoste metode |
| --- | --- | --- |
| Stopnja 1 | 1 zahtevek/min | `chat.delete`, `conversations.kick` |
| Stopnja 2 | 20 zahtevkov/min | `conversations.history`, `users.info` |
| Stopnja 3 | 50 zahtevkov/min | `conversations.list`, `users.list` |
| Stopnja 4 | 100 zahtevkov/min | `chat.postMessage` |
| Posebno | Razlikuje se | `chat.postMessage` v isti kanal: 1/s |

Dodatne omejitve:

- **Web API**: Omejitev za sunke s kratkoročnim omejevanjem
- **Events API**: Ponovni poskusi dostave za 3 poskuse
- **Dohodne webhooks**: 1 sporočilo/sekundo na URL webhooks
- **Block Kit**: Največ 50 blokov na sporočilo

Hitrost objavljanja v kanal

Objavljanje v isti kanal je omejeno na približno 1 sporočilo na sekundo. Za izogibanje omejevanju hitrosti paketno objavljaj obvestila ali uporabi niti.

## Odpravljanje težav

### Pogoste težave

| Težava | Vzrok | Rešitev |
| --- | --- | --- |
| `not_authed` | Neveljaven bot žeton | Znova namesti aplikacijo in kopiraj nov bot žeton |
| `channel_not_found` | Bot ni v kanalu | Povabi bota v ciljni kanal |
| `missing_scope` | Zahtevani obseg ni odobren | Dodaj obseg in znova namesti aplikacijo |
| Événement ni prejet | Naročnina na événement ni nastavljena | Nastavi URL za naročnine na événements |
| Timeout interakcije | Odgovor > 3 sekunde | Takoj odgovori z 200, obdeluj asinhrono |

### Način odpravljanja napak

Omogoči podrobno beleženje:

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

### Preizkus povezave

```bash
tajo connectors test slack
# ✓ Bot token valid
# ✓ Workspace accessible
# ✓ Channels readable
# ✓ Message posting enabled
# ✓ Event subscriptions active
```

## Najboljše prakse

1. **Uporabi Block Kit** – gradi bogata, interaktivna sporočila z okvirjem Block Kit Slack
2. **Hitro odgovarjaj** – potrdi interakcije v 3 sekundah, obdeluj asinhrono
3. **Sorodna sporočila v niti** – grupiraj sorodna obvestila v niti za zmanjšanje šuma
4. **Usmerjanje po kanalu** – različne vrste événements pošlji ustreznim ekipnim kanalom
5. **Vključi gumbe za dejanja** – dodaj gumbe “View in Brevo” za hiter dostop do podatkov o strankah
6. **Implementiraj unfurling** – prikaži bogate predoglede za povezave Brevo, deljene v Slack

## Varnost

- **Bot žeton** – žeton za dostop z obsegom OAuth in natančnimi dovoljenji
- **Podpisovanje zahtevkov** – preverjanje podpisa HMAC SHA-256 za dohodne zahtevke
- **OAuth 2.0** – industrijski standard za avtorizacijo za distribucijo v več delovnih okolij
- **TLS šifriranje** – vsa komunikacija API šifrirana prek HTTPS
- **Rotacija žetonov** – samodejno rotiranje žetonov za izboljšano varnost

## Povezani viri

- [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 Connector](https://tajo.io/sl/docs/connectors/marketing/brevo)
- [Customer Sync Skill](https://tajo.io/sl/docs/skills/data-sync/customer-sync)
