---
title: "Slack Bağlayıcısı"
description: "Bildirim göndermek, kanal verilerini senkronize etmek ve Tajo aracılığıyla Slack olaylarından Brevo otomasyonlarını tetiklemek için eksiksiz Slack entegrasyon kılavuzu."
url: https://tajo.io/tr/docs/connectors/custom/slack/
markdown: https://tajo.io/tr/docs/connectors/custom/slack.md
lang: tr-TR
robots: noindex
---

Erken erişim talep edin

Adınızı ve iş e-posta adresinizi girin. Tajo erişim talebinizi onaylamanız için size bir bağlantı göndereceğiz.

# Slack Bağlayıcısı

Bağlayıcı durumu: Planlandı Henüz oluşturulmadı. Tajo bu bağlayıcıyı bugün çalıştırmıyor.

| Kaynak alanı | Hedef alanı | Örnek değer |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Gerçek zamanlı pazarlama bildirimleri, müşteri olaylarına ilişkin ekip uyarıları ve Slack etkileşimleriyle tetiklenen iş akışı otomasyonu için Slack çalışma alanınızı Tajo üzerinden Brevo’ya bağlayın.

## Genel Bakış

| Özellik | Değer |
| --- | --- |
| **Platform** | Slack |
| **Kategori** | Özel Entegrasyon |
| **Kurulum Karmaşıklığı** | Kolay |
| **Resmi Entegrasyon** | Hayır |
| **Senkronize Edilen Veri** | Kullanıcılar, Kanallar, Mesajlar, Olaylar |
| **API Temel URL** | `https://slack.com/api` |

## Özellikler

- **Pazarlama uyarıları** - Kampanya olayları, yeni aboneler ve gelir kilometre taşları için gerçek zamanlı bildirimler gönderin
- **Müşteri olay bildirimleri** - Brevo’dan yüksek değerli müşteri eylemleri hakkında ekipleri uyarın
- **İş akışı tetikleyicileri** - Brevo otomasyonlarını tetiklemek için Slack etkileşimlerini (düğme tıklamaları, form gönderimleri) kullanın
- **Kanal tabanlı yönlendirme** - Olay türüne veya müşteri segmentine göre bildirimleri belirli kanallara yönlendirin
- **Kullanıcı senkronizasyonu** - Dahili iletişim için Slack çalışma alanı kullanıcılarını Brevo kişileriyle eşleştirin
- **Etkileşimli mesajlar** - Ekip iş akışları için düğmeler ve eylemler içeren zengin mesajlar gönderin
- **Planlı mesajlar** - Günlük/haftalık pazarlama özetleri için bildirimler planlayın
- **İş parçacığı desteği** - Düzenli iletişim için ilgili bildirimleri iş parçacıklarında gruplayın

## Ön Koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

1. Yönetici erişimi olan bir Slack çalışma alanı
2. [api.slack.com/apps](https://api.slack.com/apps) adresinde oluşturulmuş bir Slack uygulaması
3. Gerekli kapsamları olan bir bot belirteci
4. API erişimi olan bir Brevo hesabı
5. Bir Tajo hesabı

## Kimlik Doğrulama

### Bot Belirteci (Önerilen)

Slack uygulamasını çalışma alanınıza yükleyin ve API erişimi için bot belirtecini kullanın.

1. [api.slack.com/apps](https://api.slack.com/apps) adresinde uygulama oluşturun
2. “OAuth & Permissions” altında gerekli OAuth kapsamlarını ekleyin
3. Uygulamayı çalışma alanına yükleyin
4. Bot User OAuth Token’ı kopyalayın (`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

Slack entegrasyonunuzu birden fazla çalışma alanına dağıtmak için:

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

# Belirteç değişimi
curl -X POST "https://slack.com/api/oauth.v2.access" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "code={auth_code}"
```

#### Gerekli Bot Kapsamları

```
chat:write           # Mesaj gönder
channels:read        # Kanalları listele
channels:history     # Kanal mesajlarını oku
users:read           # Çalışma alanı kullanıcılarını listele
users:read.email     # Kullanıcı e-posta adreslerini oku
reactions:write      # Mesajlara tepki ekle
files:write          # Dosya yükle
```

Kullanıcı E-posta Erişimi

`users:read.email` kapsamı, Slack kullanıcılarını Brevo kişileriyle eşleştirmek için gereklidir. Bu kapsam olmadan kullanıcı eşleştirme yalnızca görünen adlarla sınırlı olacaktır.

## Yapılandırma

### Temel Kurulum

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

    # Bildirim kanalları
    channels:
      marketing: "C01234567"
      sales: "C01234568"
      support: "C01234569"
      alerts: "C01234570"

    # Olay yönlendirme
    notifications:
      new_subscriber:
        channel: marketing
        template: subscriber_alert
      high_value_order:
        channel: sales
        template: order_alert
      support_ticket:
        channel: support
        template: ticket_alert
```

### Alan Eşleştirme

Slack kullanıcı verilerini Brevo kişi özniteliklerine eşleyin:

#### Varsayılan Eşleştirmeler

| Parameter | Type | Description |
| --- | --- | --- |
| `profile.email` required | string | Kullanıcı e-postası (Brevo eşleştirmesi için benzersiz tanımlayıcı) |
| `real_name` optional | string | Tam ad, FIRSTNAME/LASTNAME olarak bölünür |
| `profile.phone` optional | string | SMS özniteliğine eşlenir |
| `profile.title` optional | string | İş unvanı |
| `tz` optional | string | Kullanıcı saat dilimi |
| `is_admin` optional | boolean | Çalışma alanı yönetici durumu |
| `team_id` optional | string | Çalışma alanı takım kimliği |
| `status_text` optional | string | Kullanıcı özel durumu |

## API Yöntemleri

### Mesajlaşma

| Yöntem | Uç Nokta | Açıklama |
| --- | --- | --- |
| `POST` | `chat.postMessage` | Bir kanala mesaj gönder |
| `POST` | `chat.update` | Mevcut bir mesajı güncelle |
| `POST` | `chat.delete` | Bir mesajı sil |
| `POST` | `chat.scheduleMessage` | Bir mesaj planla |
| `POST` | `chat.postEphemeral` | Kullanıcıya geçici mesaj gönder |

### Kanallar

| Yöntem | Uç Nokta | Açıklama |
| --- | --- | --- |
| `GET` | `conversations.list` | Kanalları listele |
| `GET` | `conversations.info` | Kanal bilgisini al |
| `GET` | `conversations.members` | Kanal üyelerini listele |
| `GET` | `conversations.history` | Kanal mesajlarını al |

### Kullanıcılar

| Yöntem | Uç Nokta | Açıklama |
| --- | --- | --- |
| `GET` | `users.list` | Çalışma alanı kullanıcılarını listele |
| `GET` | `users.info` | Kullanıcı bilgisini al |
| `GET` | `users.lookupByEmail` | E-posta ile kullanıcı bul |
| `GET` | `users.conversations` | Kullanıcı kanallarını listele |

### Etkileşimler

| Yöntem | Uç Nokta | Açıklama |
| --- | --- | --- |
| `POST` | `views.open` | Bir modal görünüm aç |
| `POST` | `views.update` | Bir modal görünümü güncelle |
| `POST` | `reactions.add` | Emoji tepkisi ekle |

## Olaylar

### Brevo’dan Slack’e Bildirimler

| Olay | Tetikleyici | Slack Eylemi |
| --- | --- | --- |
| `new_subscriber` | Brevo’da kişi oluşturuldu | #marketing’e gönder |
| `campaign_sent` | E-posta kampanyası gönderildi | Özet #marketing’e gönder |
| `order_placed` | Yüksek değerli sipariş algılandı | Ayrıntılarla #sales’e gönder |
| `cart_abandoned` | Sepet 30 dk terk edildi | Takip için #sales’e gönder |
| `ticket_created` | Destek bileti açıldı | #support’a gönder |
| `unsubscribed` | Kişi aboneliği iptal etti | #marketing’e uyarı gönder |

### Slack’ten Brevo’ya Tetikleyiciler

| Slack Olayı | Tetikleyici | Brevo Eylemi |
| --- | --- | --- |
| `message_action` | Özel mesaj kısayolu | Kişiyi listeye ekle veya otomasyon tetikle |
| `block_actions` | Mesajda düğme tıklaması | Kişi özniteliğini güncelle veya e-posta gönder |
| `view_submission` | Modal form gönderildi | Kişi oluştur veya iş akışı tetikle |

## Kod Örnekleri

### Bağlayıcıyı Başlatma

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

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

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

### Pazarlama Bildirimleri Gönderme

```javascript
// Yüksek değerli bir sipariş verildiğinde bildirim gönder
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'
          }
        ]
      }
    ]
  }
});
```

### Slack Etkileşimlerini İşleme

```javascript
import crypto from 'crypto';

app.post('/slack/interactions', async (req, res) => {
  // Slack istek imzasını doğrula
  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);

  // Düğme eylemlerini işle
  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();
});
```

## Hız Sınırları

Slack API hız sınırları katmanlı bir sistem kullanır:

| Katman | Sınır | Yaygın Yöntemler |
| --- | --- | --- |
| Katman 1 | dakikada 1 istek | `chat.delete`, `conversations.kick` |
| Katman 2 | dakikada 20 istek | `conversations.history`, `users.info` |
| Katman 3 | dakikada 50 istek | `conversations.list`, `users.list` |
| Katman 4 | dakikada 100 istek | `chat.postMessage` |
| Özel | Değişir | Aynı kanala `chat.postMessage`: saniyede 1 |

Ek sınırlar:

- **Web API**: Kısa süreli kısıtlamayla patlama sınırı
- **Events API**: 3 denemeye kadar teslimat yeniden denemeleri
- **Incoming Webhooks**: Webhook URL’si başına saniyede 1 mesaj
- **Block Kit**: Mesaj başına maksimum 50 blok

Kanal Gönderme Oranı

Aynı kanala gönderim yaklaşık olarak saniyede 1 mesajla sınırlıdır. Hız sınırlamasını önlemek için bildirimleri toplu işleyin veya iş parçacıkları kullanın.

## Sorun Giderme

### Yaygın Sorunlar

| Sorun | Neden | Çözüm |
| --- | --- | --- |
| `not_authed` | Geçersiz bot belirteci | Uygulamayı yeniden yükleyin ve yeni bot belirtecini kopyalayın |
| `channel_not_found` | Bot kanalda değil | Botu hedef kanala davet edin |
| `missing_scope` | Gerekli kapsam verilmemiş | Kapsamı ekleyin ve uygulamayı yeniden yükleyin |
| Olay alınmıyor | Olay aboneliği ayarlanmamış | Event Subscriptions URL’sini yapılandırın |
| Etkileşim zaman aşımı | Yanıt >3 saniye | Hemen 200 ile yanıt verin, eşzamansız işleyin |

### Hata Ayıklama Modu

Ayrıntılı günlük kaydını etkinleştirin:

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

### Bağlantı Testi

```bash
tajo connectors test slack
# ✓ Bot belirteci geçerli
# ✓ Çalışma alanı erişilebilir
# ✓ Kanallar okunabilir
# ✓ Mesaj gönderme etkin
# ✓ Olay abonelikleri aktif
```

## En İyi Uygulamalar

1. **Block Kit kullanın** - Slack’in Block Kit çerçevesiyle zengin, etkileşimli mesajlar oluşturun
2. **Hızlı yanıt verin** - Etkileşimleri 3 saniye içinde onaylayın, eşzamansız işleyin
3. **İlgili mesajları iş parçacığına alın** - Gürültüyü azaltmak için ilgili bildirimleri iş parçacıklarında gruplayın
4. **Kanala göre yönlendirin** - Farklı olay türlerini uygun ekip kanallarına gönderin
5. **Eylem düğmeleri ekleyin** - Müşteri verilerine hızlı erişim için “View in Brevo” düğmeleri ekleyin
6. **Açılımı uygulayın** - Slack’te paylaşılan Brevo bağlantıları için zengin önizlemeler gösterin

## Güvenlik

- **Bot Belirteci** - Ayrıntılı izinlere sahip OAuth kapsamlı erişim belirteci
- **İstek imzalama** - Gelen istekler için HMAC SHA-256 imza doğrulaması
- **OAuth 2.0** - Çoklu çalışma alanı dağıtımı için endüstri standardı yetkilendirme
- **TLS şifreleme** - Tüm API iletişimi HTTPS ile şifrelenir
- **Belirteç rotasyonu** - Gelişmiş güvenlik için otomatik belirteç rotasyonu

## İlgili Kaynaklar

- [Slack API Belgeleri](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 Bağlayıcısı](https://tajo.io/tr/docs/connectors/marketing/brevo)
- [Müşteri Senkronizasyonu Yeteneği](https://tajo.io/tr/docs/skills/data-sync/customer-sync)
