Tajo 사전 이용 신청

이름과 이메일 주소 또는 전화번호를 입력해 주세요. Tajo 이용 방법을 안내해 드립니다.

작업 관리

Brevo CRM Tasks API를 사용하면 영업 활동, 후속 조치, 리마인더를 생성하고 관리하여 Tajo 플랫폼 안에서 팀을 체계적으로 운영할 수 있습니다.

개요

작업 관리는 다음과 같은 상황에서 꼭 필요합니다.

  • 영업 후속 조치: 자동 리마인더와 마감일을 함께 운영합니다
  • 팀 협업: 특정 팀원에게 활동을 배정합니다
  • 거래 진행: 작업을 거래 및 회사와 연결합니다
  • 활동 추적: 팀 생산성과 완료율을 모니터링합니다
  • 고객 참여: 로열티 프로그램 아웃리치와 정기 점검 일정을 잡습니다

빠른 시작

작업 생성

POST https://api.brevo.com/v3/crm/tasks
Content-Type: application/json
api-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",
"assignTo": "[email protected]",
"companiesIds": ["comp_123456789"],
"dealsIds": ["deal_abc123def456"],
"contactsIds": [12345],
"done": false,
"reminder": {
"value": 15,
"unit": "minutes"
}
}

응답

{
"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"
}

작업 조회

전체 작업 목록 조회

GET https://api.brevo.com/v3/crm/tasks?limit=50&offset=0&sort=desc
Content-Type: application/json
api-key: YOUR_API_KEY

응답

{
"items": [
{
"id": "task_xyz789",
"name": "Follow up on Enterprise Loyalty proposal",
"taskType": "call",
"date": "2026-02-15T10:00:00Z",
"duration": 1800,
"assignTo": "[email protected]",
"done": false,
"companiesIds": ["comp_123456789"],
"dealsIds": ["deal_abc123def456"],
"created_at": "2026-01-25T14:30:00Z"
}
],
"total": 1
}

작업 필터링

GET https://api.brevo.com/v3/crm/tasks?filters[done]=false&filters[taskType]=call&sort=date:asc

단일 작업 조회

GET https://api.brevo.com/v3/crm/tasks/{task_id}
Content-Type: application/json
api-key: YOUR_API_KEY

작업 유형

CRM은 영업 활동별로 여러 작업 유형을 지원합니다.

유형설명활용 사례
call전화 통화후속 통화, 데모, 정기 점검
email이메일 아웃리치제안서, 업데이트, 뉴스레터
meeting대면 또는 온라인 미팅데모, 협상, 리뷰
todo일반 작업내부 업무, 리서치, 사전 준비
deadline기한이 촉박한 작업계약 갱신, 마일스톤

작업 자동 생성

거래 기반 작업 자동화

거래가 단계별로 진행될 때 작업을 자동으로 생성합니다.

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' }
});
}
}

작업 일괄 처리

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;
}
}

API 메서드 레퍼런스

// Create a new task
const task = await tasksApi.createTask({
name: 'Follow up call',
taskType: 'call',
date: '2026-02-15T10:00:00Z',
assignTo: '[email protected]',
done: false
});
// Get task by ID
const task = await tasksApi.getTask('task_xyz789');
// Update task
await tasksApi.updateTask('task_xyz789', {
done: true,
notes: 'Customer agreed to upgrade tier'
});
// Delete task
await tasksApi.deleteTask('task_xyz789');
// List tasks with filtering
const tasks = await tasksApi.getTasks({
filters: {
done: false,
taskType: 'call',
assignTo: '[email protected]'
},
sort: 'date:asc',
limit: 50
});

모범 사례

  1. 작업 생성을 자동화하세요: 거래 단계 변경에 작업을 연결하면 후속 조치가 일관되게 이어집니다
  2. 리마인더를 설정하세요: 기한이 촉박한 작업에는 반드시 리마인더를 구성합니다
  3. 레코드를 연결하세요: 맥락을 유지할 수 있도록 작업을 거래, 회사, 연락처와 연결합니다
  4. 완료 현황을 추적하세요: 작업 완료율을 모니터링해 팀 성과를 파악합니다
  5. 작업 유형을 활용하세요: 활동 리포트를 정확하게 뽑을 수 있도록 작업을 알맞게 분류합니다

오류 처리

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);
}
}

다음 단계

  • 회사 관리 - 기업 계정을 관리합니다
  • 거래 관리 - 영업 파이프라인을 추적합니다
  • 메모 - 고객 상호작용을 기록합니다
  • 파일 - 거래 첨부 파일을 관리합니다

Tajo 사전 이용 신청

이름과 이메일 주소 또는 전화번호를 입력해 주세요. Tajo 이용 방법을 안내해 드립니다.

자동 감지
AI 어시스턴트

안녕하세요! 문서에 대해 무엇이든 물어보세요.