Trình Kết Nối Calendly
Kết nối Calendly với Brevo qua Tajo để đồng bộ người đặt lịch sang liên hệ Brevo, kích hoạt email xác nhận/nhắc nhở và theo dõi tỷ lệ chuyển đổi từ cuộc họp.
Tổng Quan
| Thuộc Tính | Giá Trị |
|---|---|
| Nền Tảng | Calendly |
| 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ộ | Sự Kiện, Invitees, Loại Sự Kiện |
| Loại API | REST API v2 |
| Xác Thực | Personal Access Token hoặc OAuth |
Tính Năng
- Đồng bộ invitee - Thêm người đặt lịch Calendly vào danh sách Brevo tự động
- Kích hoạt sự kiện - Kích hoạt email theo dõi sau khi đặt lịch hoặc hủy lịch
- Theo dõi loại sự kiện - Phân đoạn liên hệ theo loại cuộc hẹn đã đặt
- Webhook theo thời gian thực - Nhận thông báo tức thì cho sự kiện đặt lịch
- Đồng bộ câu hỏi tùy chỉnh - Ánh xạ câu trả lời câu hỏi invitee sang thuộc tính Brevo
Yêu Cầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Tài khoản Calendly (Free, Standard, Teams, hoặc Enterprise)
- Personal Access Token hoặc OAuth credentials
- Tài khoản Brevo với quyền truy cập API
- Tài khoản Tajo
Xác Thực
Personal Access Token
curl "https://api.calendly.com/scheduled_events" \ -H "Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN" \ -H "Content-Type: application/json"Tạo tokens trong Calendly Integrations > API & Webhooks.
Kết Nối với Tajo
tajo connectors install calendly \ --access-token $CALENDLY_ACCESS_TOKENCấu Hình
Thiết Lập Cơ Bản
connectors: calendly: enabled: true access_token: "${CALENDLY_ACCESS_TOKEN}"
sync: scheduled_events: true invitees: true event_types: true
# Ánh xạ loại sự kiện sang danh sách Brevo event_type_mapping: "Demo Call": 30 "Onboarding": 31 "Support Call": 32Ánh Xạ Trường
field_mapping: email: email name: FULLNAME timezone: TIMEZONE questions_and_answers.company: COMPANY_NAME questions_and_answers.phone: SMS event.start_time: MEETING_DATE event.event_type: MEETING_TYPEAPI Endpoints
| Phương Thức | Endpoint | Mô Tả |
|---|---|---|
GET | /scheduled_events | Liệt kê sự kiện đã lên lịch |
GET | /scheduled_events/{uuid} | Lấy chi tiết sự kiện |
GET | /scheduled_events/{uuid}/invitees | Invitees của sự kiện |
GET | /event_types | Liệt kê loại sự kiện |
POST | /webhook_subscriptions | Tạo webhook subscription |
GET | /webhook_subscriptions | Liệt kê webhooks |
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('calendly', { accessToken: process.env.CALENDLY_ACCESS_TOKEN});Xử Lý Webhook Đặt Lịch
// Xử lý webhook Calendlyapp.post('/webhooks/calendly', async (req, res) => { const { event, payload } = req.body;
if (event === 'invitee.created') { await tajo.connectors.handleWebhook('calendly', { type: 'booking_created', payload: payload }); }
res.status(200).send('OK');});Phân Trang
Calendly API sử dụng phân trang cursor. Tajo tự động xử lý phân trang nhưng hãy đặt count tối đa (100) để giảm số lần gọi API cho lịch sử lớn.
Giới Hạn Tốc Độ
| Giới Hạn | Giá Trị |
|---|---|
| Yêu cầu API | 1.100 yêu cầu/giờ |
| Webhooks | Không giới hạn sự kiện |
Khắc Phục Sự Cố
| Sự Cố | Nguyên Nhân | Giải Pháp |
|---|---|---|
| 401 Unauthorized | Token không hợp lệ | Tạo lại Personal Access Token |
| Invitee không đồng bộ | Webhook chưa đăng ký | Đăng ký webhook trong Calendly |
| Trường tùy chỉnh thiếu | Tên câu hỏi không khớp | Kiểm tra tên câu hỏi trong cấu hình Calendly |