*MCP › Referencia › Operaciones › Tareas*

# Crear una tarea

> Crea una tarea con validación de dominio: el tipo, el personal, el proyecto y el documento relacionado se comprueban contra tu cuenta, y una referencia ajena responde 400 sin crear nada.

Devuelve la tarea creada.

HERRAMIENTA `filmo_tasks_create` · `tasks:write` · 120/min

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `title` | string | Sí | Título de la tarea. Obligatorio. |
| `description` | string | No | Descripción o notas de la tarea. |
| `startDate` | string<date-time> | Sí | Fecha y hora de inicio de la tarea (ISO 8601 con desplazamiento). Obligatorio. |
| `endDate` | string<date-time> | No | Fecha y hora de fin de la tarea (ISO 8601 con desplazamiento); debe ser igual o posterior a startDate. |
| `isAllDay` | boolean | No | Si la tarea dura todo el día. Por defecto es false. = `false` |
| `type` | string | Sí | Tipo de tarea: su identificador (tipos de sistema: default, delivery, return, temporaryStock; tipos personalizados: su id, ver `/api/v1/task-types`) o su nombre, comparado sin distinguir mayúsculas ni acentos. Un nombre que coincide con varios tipos personalizados se rechaza con 400 listando sus identificadores. La tarea toma el color del tipo. Obligatorio. |
| `assignedStaffIds` | string[] | No | Identificadores del personal asignado a la tarea (máx. 50). |
| `projectId` | string | No | Identificador del proyecto al que está vinculada la tarea. |
| `relatedDocumentId` | string | No | Identificador del documento relacionado; va siempre junto con relatedDocumentType. |
| `relatedDocumentType` | string | No | Tipo del documento relacionado (contacto, pedido, artículo, factura, presupuesto, proyecto, etc.); va siempre junto con relatedDocumentId. `contact`, `order`, `item`, `kit`, `space`, `collection`, `invoice`, `quote`, `purchaseOrder`, `supplierInvoice`, `incident`, `repairTicket`, `project`, `vehicle`, `staff`, `service`, `opportunity` |
| `idempotencyKey` | string | No | Clave de idempotencia elegida por el cliente (se recomienda un UUID). Repetir la misma clave con los mismos argumentos en 24 h devuelve la respuesta almacenada sin volver a ejecutar; con argumentos distintos responde 422. Es la forma segura de reintentar tras un fallo de red. |
| `ifMatch` | string | No | Bloqueo optimista: el meta.etag que obtuviste de la lectura de detalle de este recurso (o "*"). Si el recurso ha cambiado desde entonces, la llamada falla con 412 precondition_failed antes de escribir nada; léelo de nuevo y reintenta. Omítelo para escribir sin condiciones. |

## Resultado

En un éxito el resultado lleva `structuredContent` con `data` y `meta`. Estos son los atributos de `data`.

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `id` | string | Identificador único de la tarea. |
| `title` | string | Título de la tarea. |
| `description` | string | Descripción o notas de la tarea; null si no tiene. |
| `startDate` | string<date-time> | Fecha y hora de inicio en ISO 8601 con desplazamiento. |
| `endDate` | string<date-time> | Fecha y hora de fin en ISO 8601 con desplazamiento; null si no tiene un fin definido. |
| `isAllDay` | boolean | Si la tarea dura todo el día. |
| `isCompleted` | boolean | Si la tarea está completada. |
| `isRecurring` | boolean | Si la tarea forma parte de una serie recurrente. |
| `recurringGroupId` | string | Identificador del grupo de recurrencia al que pertenece; null si no es recurrente. |
| `recurrencePattern` | object | Patrón de recurrencia de la tarea; null si no es recurrente. |
| `recurrencePattern.frequency` | string | Frecuencia de recurrencia: daily, weekly, monthly o yearly. `daily`, `weekly`, `monthly`, `yearly` |
| `recurrencePattern.interval` | integer | Intervalo entre repeticiones según la frecuencia (p. ej. 2 con weekly = cada dos semanas). |
| `recurrencePattern.endAfterOccurrences` | integer | Número de repeticiones tras las cuales termina la recurrencia; null si no termina por número de ocurrencias. |
| `recurrencePattern.endDate` | string<date-time> | Fecha en que termina la recurrencia, en ISO 8601 con desplazamiento; null si no termina por fecha. |
| `type` | string | Tipo de tarea (identificador del tipo). |
| `assignedStaffIds` | string[] | Identificadores del personal asignado a la tarea. |
| `projectId` | string | Identificador del proyecto vinculado; null si la tarea no está vinculada. |
| `relatedDocumentId` | string | Identificador del documento relacionado; null si no tiene. |
| `relatedDocumentType` | string | Tipo del documento relacionado (contacto, pedido, factura, presupuesto, proyecto, etc.); null si no tiene. |
| `appearance` | object | Aspecto de la tarea en la agenda (color y variante). |
| `appearance.color` | string | Color de la tarea en la agenda (código hexadecimal). |
| `appearance.variant` | string | Variante visual de la tarea: primary, secondary, destructive o default. `primary`, `secondary`, `destructive`, `default` |
| `createdAt` | string<date-time> | Fecha de creación en ISO 8601 con desplazamiento. |
| `updatedAt` | string<date-time> | Fecha de la última actualización en ISO 8601 con desplazamiento. |

*Llamada · filmo_tasks_create*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_tasks_create",
    "arguments": {
      "title": "Example",
      "startDate": "2026-09-01T08:00:00Z",
      "type": "<type>"
    }
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": {
      "id": "id_8f2a1c",
      "title": "Example",
      "description": "<description>",
      "startDate": "2026-09-01T08:00:00Z",
      "endDate": "2026-09-01T08:00:00Z",
      "isAllDay": true,
      "isCompleted": true,
      "isRecurring": true,
      "recurringGroupId": "recu_8f2a1c",
      "recurrencePattern": {
        "frequency": "daily",
        "interval": 1,
        "endAfterOccurrences": 1,
        "endDate": "2026-09-01T08:00:00Z"
      },
      "type": "<type>",
      "assignedStaffIds": [
        "assi_8f2a1c"
      ],
      "projectId": "proj_8f2a1c",
      "relatedDocumentId": "rela_8f2a1c",
      "relatedDocumentType": "<relatedDocumentType>",
      "appearance": {
        "color": "<color>",
        "variant": "primary"
      },
      "createdAt": "2026-09-01T08:00:00Z",
      "updatedAt": "2026-09-01T08:00:00Z"
    },
    "meta": {
      "idempotencyKey": "<the key you sent, or the one the server generated>",
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## Prompts de ejemplo

*Prompt*

```text
Crea una tarea para revisar las ópticas del pedido 2026-0142 antes de la recogida.
```

## La misma operación por REST

Esta herramienta ejecuta [`POST /api/v1/tasks`](https://docs.filmo.io/es/rest-api/endpoint-reference/tasks/create-a-task).

---

URL canónica: https://docs.filmo.io/es/mcp/tools/tasks/filmo-tasks-create  
Última actualización: 2026-10-25