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.
Temsili görsel · örnek veriler
Senkronizasyon örneği
Kaynak
Slack
Bağlayıcı durumu: Planlandı
Hedef
Diğer aracınız
Bağlayıcı durumu: Özel araç
Alan eşleme
| 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 |
- Taslak
- Bir kaydı inceleyin
- Bu sürümü onaylayın
Durumlar tek tek bağlayıcılara aittir; bu senkronizasyonun hazır olduğunu garanti etmez. Alanlar örnektir. Senkronizasyon çalışmadan önce gerçek şemayı ve izinleri kontrol edin.
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:
- Yönetici erişimi olan bir Slack çalışma alanı
- api.slack.com/apps adresinde oluşturulmuş bir Slack uygulaması
- Gerekli kapsamları olan bir bot belirteci
- API erişimi olan bir Brevo hesabı
- 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.
- api.slack.com/apps adresinde uygulama oluşturun
- “OAuth & Permissions” altında gerekli OAuth kapsamlarını ekleyin
- Uygulamayı çalışma alanına yükleyin
- Bot User OAuth Token’ı kopyalayın (
xoxb-...)
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:
# Yetkilendirme URL'sihttps://slack.com/oauth/v2/authorize? client_id={client_id}& scope=chat:write,channels:read,users:read& redirect_uri={redirect_uri}
# Belirteç değişimicurl -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önderchannels:read # Kanalları listelechannels:history # Kanal mesajlarını okuusers:read # Çalışma alanı kullanıcılarını listeleusers:read.email # Kullanıcı e-posta adreslerini okureactions:write # Mesajlara tepki eklefiles:write # Dosya yükleKullanı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
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_alertAlan 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
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
// Slack'i bağlaawait tajo.connectors.connect('slack', { botToken: process.env.SLACK_BOT_TOKEN, signingSecret: process.env.SLACK_SIGNING_SECRET});Pazarlama Bildirimleri Gönderme
// Yüksek değerli bir sipariş verildiğinde bildirim gönderawait tajo.slack.notify({ channel: 'sales', event: 'order_placed', data: { 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: '*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
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:
connectors: slack: debug: true log_level: verbose log_events: trueBağlantı Testi
tajo connectors test slack# ✓ Bot belirteci geçerli# ✓ Çalışma alanı erişilebilir# ✓ Kanallar okunabilir# ✓ Mesaj gönderme etkin# ✓ Olay abonelikleri aktifEn İyi Uygulamalar
- Block Kit kullanın - Slack’in Block Kit çerçevesiyle zengin, etkileşimli mesajlar oluşturun
- Hızlı yanıt verin - Etkileşimleri 3 saniye içinde onaylayın, eşzamansız işleyin
- İlgili mesajları iş parçacığına alın - Gürültüyü azaltmak için ilgili bildirimleri iş parçacıklarında gruplayın
- Kanala göre yönlendirin - Farklı olay türlerini uygun ekip kanallarına gönderin
- Eylem düğmeleri ekleyin - Müşteri verilerine hızlı erişim için “View in Brevo” düğmeleri ekleyin
- 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