Ejecutar
Workflows desde la API y MCP
Desde tu propio código o un asistente de IA puedes listar los workflows de una cuenta e iniciar una ejecución de uno. No puedes leer su resultado ni editar o crear workflows.
Qué existe
Enlace a esta sección: Qué existe| Para | API REST | Herramienta MCP | Permiso (scope) |
|---|---|---|---|
| Listar los workflows y cómo se inicia cada uno | GET /api | filmo_workflows_list | workflows:read |
| Iniciar una ejecución de un workflow | POST /api | filmo_workflows_run | workflows:run |
- No hay ninguna operación ni herramienta que lea una ejecución, la cancele, la reintente, liste ejecuciones o te avise cuando termine una. El progreso de una ejecución solo se ve en la app de Filmo.
- No hay forma de crear, editar, publicar ni eliminar un workflow desde la API o MCP, ni un scope para escribir workflows. El scope de lectura no puede ejecutar un workflow.
- Ambas operaciones son para administradores: una clave de API funciona solo mientras su propietario es un administrador activo, y si no responde 401.
Listar los workflows
Enlace a esta sección: Listar los workflowscurl -sS --fail-with-body "${FILMO_BASE_URL:-https://app.filmo.io}/api/v1/workflows?isActive=true&limit=50" \
-H "Authorization: Bearer $FILMO_API_KEY"- Devuelve todos los workflows de la cuenta que coinciden, incluidos los pausados y archivados y los workflows con cualquier trigger. Filtra con
isActive,triggerTypeotriggerTypes, y rangos de fechas encreatedAtyupdatedAt. La ordenación admite hasta tres campos (name, isActive, triggerType, createdAt, updatedAt); por defecto, por name.limitva de 1 a 500 y por defecto es 50. - Cada workflow tiene
id,name,isActive,archivedAt,triggerycurrentVersion(versionycreatedAt, o null si nunca se publicó),createdAtyupdatedAt. No se devuelven la definición, las integraciones, la visibilidad, el creador ni las estadísticas de ejecución. triggerse lee de la versión publicada:type(manual, schedule, webhook, event, signal, entity, o null si nunca se publicó o su trigger es "Desde otro workflow"),eventyentitycuando corresponden, yform.- En un trigger manual,
formlista los campos del formulario de la ejecución, cada uno con unname, unlabely untype. Todos los campos son obligatorios en elpayloadde una ejecución.
Iniciar una ejecución
Enlace a esta sección: Iniciar una ejecucióncurl -sS --fail-with-body -X POST "${FILMO_BASE_URL:-https://app.filmo.io}/api/v1/workflows/$WORKFLOW_ID/runs" \
-H "Authorization: Bearer $FILMO_API_KEY" \
-H "Idempotency-Key: order-2026-0042-report" \
-H "Content-Type: application/json" \
-d '{"payload":{"orderNumber":"P-2026-0042"}}'{
"data": {
"runId": "run_example_001",
"state": "queued"
}
}- El cuerpo es
{ "payload": { … } }, con una entrada por campo del formulario. Las claves desconocidas en el nivel superior se rechazan; las claves desconocidas dentro depayloadse ignoran. Un workflow sin formulario ignorapayload. - La petición es asíncrona: responde 201 con el id de la ejecución y su estado,
queued, y no espera a que la ejecución termine. - Hace lo que hace el botón Ejecutar: ejecuta la versión publicada, no el borrador. Un workflow que nunca se ha publicado responde 409.
- No comprueba Live. Un workflow pausado se puede ejecutar así, como con el botón.
- Un campo que falta o es incorrecto en el formulario responde 400
validation_errory no pone nada en cola. (La propia pantalla de la app responde 422 para el mismo error.) - Un workflow de otra cuenta responde 404.
- El workflow cuyo trigger es "Desde otro workflow" responde 409. El resto de triggers no se rechazan, pero el endpoint está pensado para el manual. Para un workflow iniciado desde un registro, el
payloadnecesitaentityId; el registro debe existir en la cuenta. - El límite es de 120 peticiones por minuto y clave, con cabeceras
RateLimit-*.
No inicies dos veces la misma ejecución
Enlace a esta sección: No inicies dos veces la misma ejecuciónEnvía una Idempotency-Key de 1 a 255 caracteres. La misma clave con el mismo cuerpo, dentro de 24 horas, devuelve la respuesta guardada con Idempotent-Replay: true en lugar de poner en cola otra ejecución. La misma clave con un cuerpo distinto responde 422 idempotency_key_reused; una petición que sigue en curso responde 409. Sin la cabecera, dos peticiones son dos ejecuciones, igual que dos clics en el botón. La herramienta MCP genera una clave por ti si no das ninguna. Consulta Idempotencia.
Como quién actúa la ejecución
Enlace a esta sección: Como quién actúa la ejecuciónLa ejecución no actúa como el dueño de tu clave de API. Cada paso de capacidad se ejecuta con los permisos del creador del workflow, y el registro de actividad lo anota como ese workflow. La clave solo necesita tener permiso para iniciarlo. Ten cuidado con quién crea los workflows que inicias desde fuera: un workflow puede crear y modificar datos en nombre de su creador, y lo que hace depende de sus pasos.
Conocer el resultado
Enlace a esta sección: Conocer el resultadoComo no puedes hacer polling, termina el workflow avisando a tu sistema. Acábalo con un Paso de petición HTTP a un endpoint tuyo, que recibe el resultado y los datos propios de la ejecución. Añade una rama que haga lo mismo en las vías de fallo que te importen, y activa «Avisar si falla» para el resto. La guía Enviar cambios a tu propio sistema muestra el patrón.
Las herramientas MCP
Enlace a esta sección: Las herramientas MCP| Herramienta | Anotaciones |
|---|---|
filmo_workflows_list | Solo lectura, idempotente. Solo administradores. |
filmo_workflows_run | Marcada como destructiva (puede cambiar datos de la cuenta) y como que requiere la interacción del usuario: un cliente bien comportado pregunta a la persona antes de llamarla. No es idempotente a menos que pases la clave de idempotencia. |
- En la pantalla de consentimiento de un cliente OAuth,
workflows:runempieza siempre sin marcar, aunque el cliente lo pida. El administrador debe marcarlo. Se muestra junto a los permisos de escritura, con una nota de que un workflow puede crear y cambiar datos en nombre del administrador, según los pasos que contenga. - Cuando un token tiene
workflows:run, las instrucciones del servidor al asistente mencionan que puede ejecutar workflows. - Detalles de la conexión, scopes y uso seguro: Resumen de MCP y Escrituras seguras.
Una escritura por la API puede iniciar workflows
Enlace a esta sección: Una escritura por la API puede iniciar workflowsUn cambio hecho a través de la API REST o de MCP sigue el mismo camino que el mismo cambio en la app y dispara los mismos eventos. Un pedido que creas con la API inicia los workflows que escuchan el evento de pedido creado, con trigger_event. igual a API (o MCP). Eso vale cuando la acción que hay detrás del endpoint es uno de los eventos del catálogo; no se indica endpoint por endpoint cuáles lo son. Consulta Qué desencadena una escritura a través de la API.
Bucles con tu propio sistema
No puedes pedir a una petición que no inicie workflows. Si cargas o importas datos por la API, comprueba antes qué workflows están live, y considera un filtro de trigger de evento sobre origin para que tus propias escrituras no inicien los workflows que te devuelven los mismos datos (una sola condición no puede excluir a la vez API y MCP, y un cambio hecho en la app no tiene origin).
Páginas relacionadas
Enlace a esta sección: Páginas relacionadasIntroducción
Resumen de la API REST
La API REST v1 de Filmo es una API JSON sobre HTTPS en
https://. Te autenticas con una clave de API y todas las respuestas usan el mismo sobre.app. filmo. io /api /v1 Introducción
Servidor MCP
Conecta un asistente de IA a tu cuenta de Filmo. Puede usar exactamente las herramientas que permita su clave o su conexión.
Ejecutar
Permisos de workflows
Se mezclan dos preguntas: quién puede gestionar un workflow, y qué puede hacer un run. La primera trata de los administradores. La segunda, de una sola persona: el creador.
Guías
Idempotencia y reintentos seguros
Envía una cabecera
Idempotency-Keycon cada escritura y reutiliza el mismo valor cuando reintentes esa operación: Filmo devuelve el resultado almacenado del primer intento en lugar de escribir dos veces.
¿Te ha resultado útil esta página?