Upravljanje nalog
Brevo CRM Tasks API vam omogoča, da ustvarjate in upravljate prodajne aktivnosti, spremljanja in opomnike ter tako ohranjate svojo ekipo organizirano znotraj platforme Tajo.
Pregled
Upravljanje nalog je bistveno za:
- Prodajna spremljanja s samodejnimi opomniki in roki
- Usklajevanje ekipe z dodeljevanjem aktivnosti posameznim članom ekipe
- Napredovanje poslov s povezovanjem nalog s posli in podjetji
- Spremljanje aktivnosti za nadzor nad produktivnostjo ekipe in stopnjami dokončanja
- Angažiranost strank z načrtovanjem nagovorov v programu zvestobe in rednih preverjanj
Hitri začetek
Ustvarjanje naloge
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" }}Odgovor
{ "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"}Pridobivanje nalog
Seznam vseh nalog
GET https://api.brevo.com/v3/crm/tasks?limit=50&offset=0&sort=descContent-Type: application/jsonapi-key: YOUR_API_KEYOdgovor
{ "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}Filtriranje nalog
GET https://api.brevo.com/v3/crm/tasks?filters[done]=false&filters[taskType]=call&sort=date:ascPridobivanje posamezne naloge
GET https://api.brevo.com/v3/crm/tasks/{task_id}Content-Type: application/jsonapi-key: YOUR_API_KEYVrste nalog
CRM podpira več vrst nalog za različne prodajne aktivnosti:
| Vrsta | Opis | Primer uporabe |
|---|---|---|
call | Telefonski klic | Klici za spremljanje, predstavitve, preverjanja stanja |
email | Nagovor po e-pošti | Ponudbe, posodobitve, e-novice |
meeting | Osebni ali virtualni sestanek | Predstavitve, pogajanja, pregledi |
todo | Splošna naloga | Interno delo, raziskave, priprave |
deadline | Časovno občutljiva naloga | Podaljšanja pogodb, mejniki |
Samodejno ustvarjanje nalog
Avtomatizacija nalog na podlagi poslov
Naloge ustvarjajte samodejno, ko posli napredujejo skozi faze:
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' } }); }}Množične operacije z nalogami
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; }}Referenca metod 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});Najboljše prakse
- Avtomatizirajte ustvarjanje nalog: naloge povežite s spremembami faze posla za dosledno spremljanje
- Nastavite opomnike: za časovno občutljive naloge vedno nastavite opomnike
- Povežite zapise: naloge povežite s posli, podjetji in stiki, da pridobijo kontekst
- Spremljajte dokončanje: spremljajte stopnje dokončanih nalog za vpogled v uspešnost ekipe
- Uporabljajte vrste nalog: naloge ustrezno kategorizirajte za natančno poročanje o aktivnostih
Obravnava napak
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); }}Naslednji koraki
- Upravljanje podjetij - Upravljajte poslovne račune
- Upravljanje poslov - Spremljajte prodajni lijak
- Opombe - Dokumentirajte interakcije s strankami
- Datoteke - Upravljajte priloge poslov