Trình Kết Nối Slack
Kết nối Slack với Brevo qua Tajo để gửi thông báo tự động cho team, cảnh báo về tương tác khách hàng quan trọng và đồng bộ dữ liệu Slack users sang liên hệ Brevo.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | Slack |
| Danh Mục | Tùy Chỉnh |
| Độ Phức Tạp Thiết Lập | Dễ |
| Tích Hợp Chính Thức | Không |
| Dữ Liệu Đồng Bộ | Messages, Users, Channels |
| Loại API | Web API |
| URL API | https://slack.com/api |
Tính Năng
- Gửi thông báo - Gửi tin nhắn Slack tự động cho sự kiện Brevo
- Cảnh báo team - Thông báo cho nhóm sales khi deal quan trọng tương tác
- Đồng bộ users - Nhập thành viên Slack workspace vào liên hệ Brevo
- Tương tác channel - Đọc và gửi messages trong channels cụ thể
- Block Kit - Tạo tin nhắn tương tác với buttons và actions
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Tài khoản Slack workspace
- Slack App với Bot Token
- Tài khoản Brevo với quyền truy cập API
- Tài khoản Tajo
Xác Thực
Bot Token (Khuyến Nghị)
curl -X POST "https://slack.com/api/chat.postMessage" \ -H "Authorization: Bearer xoxb-YOUR-BOT-TOKEN" \ -H "Content-Type: application/json" \ -d '{"channel": "C1234567890", "text": "Hello!"}'Tạo Slack App và lấy Bot Token tại https://api.slack.com/apps.
Truy Cập Email Người Dùng
Để lấy email người dùng Slack, app cần users:read.email scope và phải được workspace admin phê duyệt. Người dùng cũng cần đã cài đặt email trong hồ sơ Slack.
Bot Token Scopes Cần Thiết
channels:read - Liệt kê public channelschat:write - Gửi messagesusers:read - Đọc thông tin user cơ bảnusers:read.email - Đọc email người dùng (cần admin phê duyệt)Cấu Hình
Thiết Lập Cơ Bản
connectors: slack: enabled: true bot_token: "${SLACK_BOT_TOKEN}"
# Channels mặc định cho thông báo notification_channels: deals: "C1234567890" # #sales-alerts marketing: "C0987654321" # #marketing support: "C1111111111" # #support-escalations
sync: users: true channels: falseCấu Hình Thông Báo
notifications: - trigger: brevo_campaign_sent channel: "C0987654321" template: "campaign_sent"
- trigger: contact_high_engagement channel: "C1234567890" template: "hot_lead"
- trigger: unsubscribe_spike channel: "C0987654321" template: "unsubscribe_alert"API Endpoints
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
POST | /chat.postMessage | Gửi message vào channel |
POST | /chat.postEphemeral | Gửi message ephemeral cho user |
GET | /users.list | Liệt kê workspace users |
GET | /users.info | Lấy thông tin user cụ thể |
GET | /conversations.list | Liệt kê channels |
POST | /conversations.invite | Mời user vào channel |
Ví Dụ Code
Khởi Tạo Trình Kết Nối
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('slack', { botToken: process.env.SLACK_BOT_TOKEN});Gửi Cảnh Báo Deal Tới Slack
// Gửi thông báo khi lead có giá trị cao tương tácawait tajo.connectors.notify('slack', { channel: 'C1234567890', blocks: [ { type: 'section', text: { type: 'mrkdwn', } }, { type: 'actions', elements: [ { type: 'button', text: { type: 'plain_text', text: 'Xem Liên Hệ' }, } ] } ]});Tốc Độ Đăng Bài Vào Channel
Slack giới hạn 1 tin nhắn/giây mỗi channel. Đối với thông báo khối lượng lớn, hãy nhóm chúng lại hoặc sử dụng message threading thay vì gửi từng tin nhắn riêng lẻ.
Giới Hạn Tốc Độ
| Phương Thức API | Giới Hạn |
|---|---|
chat.postMessage | 1 yêu cầu/giây mỗi channel |
users.list | 20 yêu cầu/phút |
| Tier 1 endpoints | 1 yêu cầu/phút |
| Tier 2 endpoints | 20 yêu cầu/phút |
| Tier 3 endpoints | 50 yêu cầu/phút |
| Tier 4 endpoints | 100 yêu cầu/phút |
Khắc Phục Sự Cố
| Sự Cố | Nguyên Nhân | Giải Pháp |
|---|---|---|
channel_not_found | Channel ID không đúng | Xác minh Channel ID (không phải tên) |
not_in_channel | Bot chưa được thêm | Mời bot vào channel (/invite @bot-name) |
missing_scope | Thiếu Bot Token scope | Thêm scope cần thiết và cài đặt lại app |
| Email người dùng thiếu | Thiếu users:read.email scope | Yêu cầu admin phê duyệt scope |