*MCP › Referencia › Plataforma › Workflows*

# Ejecutar un workflow

> Encola una ejecución del workflow, como el botón "Run" de la interfaz, y devuelve su identificador y el estado con el que nace (`queued`).

> **Envía tu propia idempotencyKey:** Un reintento sin la misma clave duplica el efecto. Envía tu propia `idempotencyKey` (un UUID) y reenvía la misma si reintentas.

> **Requiere confirmación humana:** Pon esta herramienta en la lista de «preguntar antes de ejecutar» de tu cliente. Las anotaciones son pistas que declara el servidor, no garantías: no decidas la aprobación solo por `destructiveHint`. El servidor marca esta herramienta con `_meta["anthropic/requiresUserInteraction"]`, que los clientes que lo respetan usan para preguntar a una persona antes de cada llamada.

No espera a que termine, y la API aún no tiene ninguna operación que lea una ejecución: su progreso solo se ve en la aplicación de Filmo. Si el workflow declara un formulario de ejecución, sus campos son obligatorios y viajan en `payload`; si falta alguno responde 400 sin encolar nada. Un workflow sin ninguna versión guardada responde 409. Acepta `Idempotency-Key`: dos peticiones con la misma clave devuelven la misma ejecución en lugar de encolar dos.

HERRAMIENTA `filmo_workflows_run` · `workflows:run` · 120/min · Anotación del servidor: Destructiva · Anotación del servidor: Mundo abierto · Requiere confirmación humana · Envía tu propia idempotencyKey

## Argumentos

| Nombre | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `workflowId` | string | Sí | Identificador del workflow que se ejecutará. |
| `payload` | object<string, any> | No | Valores del formulario de ejecución del workflow, por nombre de campo. Si el workflow declara campos, son OBLIGATORIOS y se validan contra su versión publicada: si falta alguno, la petición responde 400 y no se encola nada. Si no declara ninguno, se ignora. |
| `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. |

## Resultado

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

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `runId` | string | Identificador de la ejecución en cola. |
| `state` | string | Estado inicial de la ejecución. Cuando acaba de encolarse es `queued`. `queued`, `running`, `waiting`, `paused`, `completed`, `failed`, `cancelled` |

*Llamada · filmo_workflows_run*

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "filmo_workflows_run",
    "arguments": {
      "workflowId": "work_8f2a1c",
      "idempotencyKey": "<a UUID you generate>"
    }
  }
}
```

*Resultado (generado desde el esquema)*

```json
{
  "structuredContent": {
    "data": {
      "runId": "run_8f2a1c",
      "state": "queued"
    },
    "meta": {
      "idempotencyKey": "<the key you sent, or the one the server generated>",
      "rateLimit": {
        "limit": 120,
        "remaining": 119,
        "reset": 42
      }
    }
  }
}
```

## La misma operación por REST

Esta herramienta ejecuta [`POST /api/v1/workflows/{workflowId}/runs`](https://docs.filmo.io/es/rest-api/endpoint-reference/workflows/run-a-workflow).

---

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