Saltar al contenido principal
Las acciones de integración con efecto y las acciones destructivas pausan la ejecución hasta que alguien las aprueba. Las acciones de solo lectura no se pausan. Las reglas están en el workspace, en Integraciones, en Ajustes de aprobación.

Quién recibe el aviso

El propietario del workspace y quien pidió la acción reciben un correo. Telegram se usa cuando ese canal está conectado. La misma solicitud aparece en la página Aprobaciones del panel.

Qué ve la llamada de API

La invocación con y sin streaming se detiene en la primera ronda de aprobación. Una respuesta sin streaming incluye status, run_id y thread_id. status es completed o awaiting_approval. pending_tool_approvals solo está presente mientras la ejecución espera. denied_tool_calls solo está presente cuando una política denegó una llamada, con reason policy_deny. El texto de la respuesta incluye [Waiting for approval: …]. Una llamada con streaming envía un evento tool_approval y luego los mismos campos en el evento usage final. review_url abre https://app.fetchhive.com/{workspace_id}/approvals?approval={approval_id} después de iniciar sesión. El token del correo no está en la respuesta de la API. Los valores de argumentos que parecen secretos se sustituyen por [redacted]. Si la respuesta también incluye pending_delegations, responde primero la aprobación de la herramienta. Con las aprobaciones desactivadas, status es completed y se omiten los arrays de aprobación.

Cómo responder

Abre el enlace del panel, usa el enlace del correo, o decide con una clave de API: POST /v1/public/workspaces/{workspace_id}/tool_action_approvals/{id}/decide decision es allow_once o deny. always_allow devuelve 422 always_allow_requires_dashboard. Una segunda decisión devuelve 409. Una aprobación caducada devuelve 410.

Cómo continuar

Una llamada con clave de API se reanuda en el servidor después de la decisión. Consulta la ejecución o usa el webhook. No vuelvas a invocar ese hilo. Volver a invocar es para un cliente de streaming de primera parte. Envía el mismo agente y thread_id con decided_tool_approvals: [{ "approval_id": "…" }]. Envía message vacío o un mensaje nuevo. Solo se lee approval_id. Un disparador webhook o una llamada con async.callback_url se reanuda sola después de la decisión. El callback recibe agent.awaiting_approval y luego agent.completed con resumed_from_run_id.

Caducidad y límite de rondas

Una aprobación caduca 24 horas después de crearse, salvo que TOOL_APPROVAL_TTL_HOURS esté definido. Una cadena de ejecución se detiene tras cinco rondas de aprobación y añade [Approval limit reached].

Permitir siempre

Permitir siempre se configura en el panel. Una clave de API no puede crear esa política.

Omitir aprobaciones para un servidor de confianza

Un propietario o administrador del workspace puede permitir que una clave de API apruebe acciones automáticamente. En Configuración → Claves de API, marca “Permitir que esta clave apruebe acciones automáticamente”. Los miembros no pueden cambiar esa casilla. Una solicitud hecha con esa clave puede enviar tool_approval: "auto_approve" en POST /v1/agent/invoke. Se aplica solo a esa llamada. No cambia el ajuste guardado del agente ni escribe una política. Omitir el campo, o enviar policy, sigue las reglas del workspace y cualquier interruptor de aprobación automática ya guardado en el agente, la programación o el despliegue. Las acciones destructivas siguen pidiendo aprobación. Las reglas de denegación siguen bloqueando la acción. Cualquier otro valor devuelve 400 invalid_tool_approval antes de que empiece la ejecución. Una clave sin el permiso, un token del editor con sesión iniciada o un webhook devuelven 403 tool_approval_override_not_permitted antes de cualquier llamada al modelo. Cuando la aprobación automática está desactivada para el workspace, se devuelve el mismo código con el mensaje “Auto-approve is not available for this workspace.” Un subagente llamado durante esa ejecución recibe el mismo valor de tool_approval y la misma clave de API. Un flujo de trabajo que inicia el agente no lo recibe. El flujo sigue el interruptor de su propio despliegue. La respuesta repite tool_approval como auto_approve o policy. Cuando una acción se ejecutó por una excepción, la respuesta también incluye auto_approved_tool_calls, cada uno con summary y tool_name. Una llamada con streaming pone ambos campos en el evento usage final.

Aprobar desde Telegram, Slack o Teams

Si el espacio de trabajo lo activa, el mensaje de aprobación en Telegram puede incluir Permitir una vez y Denegar. Slack puede usar la app de Fetch Hive en un canal o en mensajes directos. Teams puede usar la app Fetch Hive Approvals en un canal o en un chat personal. Quien vea el chat de Telegram puede pulsar los botones si su Telegram está vinculado a un miembro del espacio de trabajo. Un usuario de Slack o Teams que no esté vinculado tiene que vincular su cuenta primero. Teams se conecta cuando alguien envía el código de un solo uso de Notificaciones de aprobación. Permitir siempre no se ofrece en el chat. Una acción destructiva no tiene botón de permitir. Ábrela en Fetch Hive para revisarla. Una decisión en la app, en Telegram, en Slack o en Teams actualiza ese mensaje y quita los botones. Permitir un elemento una vez deja los demás elementos del lote en su propia tarjeta. Permitir o denegar el resto de la ejecución actualiza todo el lote.

Cambiar el mensaje antes de permitirlo

Cuando la edición está activa, Permitir una vez puede enviar unos argumentos nuevos. Los argumentos originales se quedan en la aprobación. Permitir siempre, denegar y una decisión para el resto de la ejecución no aceptan un reemplazo. Un reemplazo no válido se queda en la tarjeta con los errores y la acción no se ejecuta.

La misma acción más de una vez

Un bucle que pide la misma acción se puede permitir o denegar para el resto de esa ejecución. Los elementos siguientes que coincidan siguen esa decisión. La siguiente ejecución vuelve a preguntar. Una acción destructiva, y un paso configurado para preguntar siempre, se preguntan uno por uno.

Solo yo y todos

El Permitir siempre de un miembro puede aplicarse solo a las ejecuciones de ese miembro. Un propietario o administrador puede aplicarlo a todo el espacio de trabajo y puede bloquear una regla del espacio de trabajo para que un permiso personal no la anule. Las ejecuciones con clave de API o webhook usan solo las reglas del espacio de trabajo.

Archivos, bases de conocimiento y subagentes

Crear un archivo, guardar un artefacto, escribir en una base de conocimiento y ejecutar un subagente pueden usar las mismas reglas de Preguntar o Bloquear. Sin regla, se ejecutan. Los propietarios y administradores las configuran en la página de Aprobaciones.

MCP Gateway

Una herramienta publicada del gateway puede preguntar a quien usa la app de IA, o a tu equipo, antes de ejecutarse. Consulta MCP Gateway.