Quản lý công việc
Tasks API của Brevo CRM cho phép bạn tạo và quản lý hoạt động bán hàng, các bước theo đuổi và lời nhắc để giữ đội ngũ của bạn ngăn nắp trong nền tảng Tajo.
Tổng quan
Quản lý công việc là yếu tố thiết yếu cho:
- Theo đuổi cơ hội bán hàng với lời nhắc tự động và hạn hoàn thành
- Phối hợp đội ngũ giao hoạt động cho từng thành viên cụ thể
- Tiến triển thương vụ liên kết công việc với thương vụ và công ty
- Theo dõi hoạt động giám sát năng suất đội ngũ và tỷ lệ hoàn thành
- Tương tác khách hàng lên lịch tiếp cận và hỏi thăm cho chương trình khách hàng thân thiết
Bắt đầu nhanh
Tạo công việc
POST https://api.brevo.com/v3/crm/tasksContent-Type: application/jsonapi-key: YOUR_API_KEY
{ "name": "Follow up on Enterprise Loyalty proposal", "taskType": "call", "date": "2026-02-15T10:00:00Z", "duration": 1800, "notes": "Discuss volume discount tier and loyalty point allocation", "companiesIds": ["comp_123456789"], "dealsIds": ["deal_abc123def456"], "contactsIds": [12345], "done": false, "reminder": { "value": 15, "unit": "minutes" }}Phản hồi
{ "id": "task_xyz789", "name": "Follow up on Enterprise Loyalty proposal", "taskType": "call", "date": "2026-02-15T10:00:00Z", "done": false, "created_at": "2026-01-25T14:30:00Z"}Lấy danh sách công việc
Liệt kê tất cả công việc
GET https://api.brevo.com/v3/crm/tasks?limit=50&offset=0&sort=descContent-Type: application/jsonapi-key: YOUR_API_KEYPhản hồi
{ "items": [ { "id": "task_xyz789", "name": "Follow up on Enterprise Loyalty proposal", "taskType": "call", "date": "2026-02-15T10:00:00Z", "duration": 1800, "done": false, "companiesIds": ["comp_123456789"], "dealsIds": ["deal_abc123def456"], "created_at": "2026-01-25T14:30:00Z" } ], "total": 1}Lọc công việc
GET https://api.brevo.com/v3/crm/tasks?filters[done]=false&filters[taskType]=call&sort=date:ascLấy một công việc
GET https://api.brevo.com/v3/crm/tasks/{task_id}Content-Type: application/jsonapi-key: YOUR_API_KEYCác loại công việc
CRM hỗ trợ nhiều loại công việc cho các hoạt động bán hàng khác nhau:
| Loại | Mô tả | Trường hợp sử dụng |
|---|---|---|
call | Cuộc gọi điện thoại | Gọi theo đuổi, demo, hỏi thăm |
email | Tiếp cận qua email | Đề xuất, cập nhật, bản tin |
meeting | Họp trực tiếp hoặc trực tuyến | Demo, đàm phán, rà soát |
todo | Công việc chung | Việc nội bộ, nghiên cứu, chuẩn bị |
deadline | Công việc gấp về thời gian | Gia hạn hợp đồng, cột mốc |
Tạo công việc tự động
Tự động hóa công việc theo thương vụ
Tự động tạo công việc khi thương vụ chuyển qua các giai đoạn:
class TaskAutomation { constructor() { this.tasksApi = new TasksApi(); }
async createDealFollowUp(deal, stageChange) { const taskTemplates = { 'Lead': { name: `Qualify lead: ${deal.name}`, taskType: 'call', daysFromNow: 1, duration: 900 }, 'Qualified': { name: `Schedule demo: ${deal.name}`, taskType: 'meeting', daysFromNow: 3, duration: 3600 }, 'Demo': { name: `Send proposal: ${deal.name}`, taskType: 'email', daysFromNow: 1, duration: 1800 }, 'Proposal': { name: `Follow up on proposal: ${deal.name}`, taskType: 'call', daysFromNow: 5, duration: 900 }, 'Negotiation': { name: `Finalize contract: ${deal.name}`, taskType: 'deadline', daysFromNow: 7, duration: 3600 }, 'Closed Won': { name: `Onboard customer: ${deal.name}`, taskType: 'meeting', daysFromNow: 2, duration: 3600 } };
const template = taskTemplates[stageChange.newStage]; if (!template) return null;
const taskDate = new Date(); taskDate.setDate(taskDate.getDate() + template.daysFromNow);
return await this.tasksApi.createTask({ name: template.name, taskType: template.taskType, date: taskDate.toISOString(), duration: template.duration, assignTo: deal.attributes.deal_owner, dealsIds: [deal.id], companiesIds: deal.attributes.company_id ? [deal.attributes.company_id] : [], contactsIds: deal.attributes.contact_id ? [deal.attributes.contact_id] : [], done: false, reminder: { value: 30, unit: 'minutes' } }); }
async createLoyaltyCheckIn(company) { return await this.tasksApi.createTask({ name: `Loyalty program check-in: ${company.name}`, taskType: 'call', date: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(), duration: 1800, assignTo: company.attributes.account_manager, companiesIds: [company.id], notes: `Review tier status: ${company.attributes.loyalty_tier}\nAnnual spend: $${company.attributes.annual_spend}`, done: false, reminder: { value: 1, unit: 'days' } }); }}Thao tác công việc hàng loạt
class BulkTaskManager { async createRenewalTasks(daysBeforeExpiry = 90) { const renewalDate = new Date(); renewalDate.setDate(renewalDate.getDate() + daysBeforeExpiry);
const companies = await this.companiesApi.getCompanies({ filters: { 'attributes.renewal_date': `<${renewalDate.toISOString()}` } });
const tasks = []; for (const company of companies.items) { const task = await this.tasksApi.createTask({ name: `Contract renewal: ${company.name}`, taskType: 'deadline', date: company.attributes.renewal_date, assignTo: company.attributes.account_manager, companiesIds: [company.id], notes: `Contract value: $${company.attributes.contract_value}\nCurrent tier: ${company.attributes.loyalty_tier}`, done: false, reminder: { value: 7, unit: 'days' } }); tasks.push(task); }
return tasks; }}Tham chiếu phương thức API
// Create a new taskconst task = await tasksApi.createTask({ name: 'Follow up call', taskType: 'call', date: '2026-02-15T10:00:00Z', done: false});
// Get task by IDconst task = await tasksApi.getTask('task_xyz789');
// Update taskawait tasksApi.updateTask('task_xyz789', { done: true, notes: 'Customer agreed to upgrade tier'});
// Delete taskawait tasksApi.deleteTask('task_xyz789');
// List tasks with filteringconst tasks = await tasksApi.getTasks({ filters: { done: false, taskType: 'call', }, sort: 'date:asc', limit: 50});Thực hành tốt nhất
- Tự động hóa việc tạo công việc: Gắn công việc với thay đổi giai đoạn thương vụ để theo đuổi nhất quán
- Đặt lời nhắc: Luôn cấu hình lời nhắc cho các công việc gấp về thời gian
- Liên kết bản ghi: Gắn công việc với thương vụ, công ty và liên hệ để có ngữ cảnh
- Theo dõi mức hoàn thành: Giám sát tỷ lệ hoàn thành công việc để nắm hiệu suất đội ngũ
- Dùng đúng loại công việc: Phân loại công việc chuẩn xác để báo cáo hoạt động chính xác
Xử lý lỗi
try { const task = await tasksApi.createTask(taskData); console.log('Task created:', task.id);} catch (error) { if (error.status === 400) { console.error('Invalid task data:', error.message); } else if (error.status === 404) { console.error('Associated deal or contact not found'); } else { console.error('Unexpected error:', error); }}Bước tiếp theo
- Quản lý công ty - Quản lý tài khoản doanh nghiệp
- Quản lý thương vụ - Theo dõi quy trình bán hàng
- Ghi chú - Ghi lại các tương tác với khách hàng
- Tệp - Quản lý tệp đính kèm của thương vụ