---
title: "Gestión de tareas | Tajo"
description: "Crea y gestiona tareas de ventas, seguimientos y actividades en el CRM de Brevo para Tajo"
url: https://tajo.io/es/docs/sales-crm/tasks/
markdown: https://tajo.io/es/docs/sales-crm/tasks.md
lang: es-ES
author: "Set Noa"
author_url: https://tajo.io/es/set-noa/
robots: noindex
---

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

# Gestión de tareas

[Set Noa](https://tajo.io/es/set-noa/)

La API de tareas del CRM de Brevo te permite crear y gestionar actividades de ventas, seguimientos y recordatorios para mantener a tu equipo organizado dentro de la plataforma Tajo.

## Resumen

La gestión de tareas es fundamental para:

- **Seguimientos de ventas** con recordatorios automáticos y fechas de vencimiento
- **Coordinación del equipo** asignando actividades a personas concretas
- **Avance de los negocios** vinculando tareas a negocios y empresas
- **Seguimiento de la actividad** midiendo la productividad del equipo y las tasas de finalización
- **Relación con el cliente** programando acciones y revisiones del programa de fidelización

## Inicio rápido

### Crear una tarea

```http
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": "sarah.johnson@tajo.io",
  "companiesIds": ["comp_123456789"],
  "dealsIds": ["deal_abc123def456"],
  "contactsIds": [12345],
  "done": false,
  "reminder": {
    "value": 15,
    "unit": "minutes"
  }
}
```

### Respuesta

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

## Obtener tareas

### Listar todas las tareas

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

### Respuesta

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

### Filtrar tareas

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

### Obtener una sola tarea

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

## Tipos de tarea

El CRM admite varios tipos de tarea para distintas actividades de ventas:

| Tipo | Descripción | Caso de uso |
| --- | --- | --- |
| `call` | Llamada telefónica | Llamadas de seguimiento, demos, revisiones |
| `email` | Contacto por email | Propuestas, novedades, newsletters |
| `meeting` | Reunión presencial o virtual | Demos, negociaciones, revisiones |
| `todo` | Tarea general | Trabajo interno, investigación, preparación |
| `deadline` | Tarea con plazo | Renovaciones de contrato, hitos |

## Creación automática de tareas

### Automatización basada en negocios

Crea tareas de forma automática a medida que los negocios avanzan de etapa:

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

### Operaciones masivas con tareas

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

## Referencia de métodos de la API

```javascript
// Create a new task
const task = await tasksApi.createTask({
  name: 'Follow up call',
  taskType: 'call',
  date: '2026-02-15T10:00:00Z',
  assignTo: 'sales@tajo.io',
  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: 'sarah@tajo.io'
  },
  sort: 'date:asc',
  limit: 50
});
```

## Buenas prácticas

1. **Automatiza la creación de tareas**: vincula las tareas a los cambios de etapa de los negocios para que el seguimiento sea constante
2. **Configura recordatorios**: activa siempre recordatorios en las tareas con plazo
3. **Vincula registros**: asocia cada tarea a negocios, empresas y contactos para darle contexto
4. **Mide la finalización**: revisa las tasas de tareas completadas para conocer el rendimiento del equipo
5. **Usa los tipos de tarea**: clasifica bien las tareas para que los informes de actividad sean precisos

## Gestión de errores

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

## Próximos pasos

- **[Gestión de empresas](https://tajo.io/es/docs/sales-crm/companies)** - Gestiona cuentas corporativas
- **[Gestión de negocios](https://tajo.io/es/docs/sales-crm/deals)** - Haz seguimiento del pipeline de ventas
- **[Notas](https://tajo.io/es/docs/sales-crm/notes)** - Documenta las interacciones con los clientes
- **[Archivos](https://tajo.io/es/docs/sales-crm/files)** - Gestiona los archivos adjuntos de los negocios
