Skip to main content
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

Vuelve a invocar 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. Si omites decided_tool_approvals y reutilizas el hilo, Fetch Hive carga las aprobaciones terminales de ese hilo que aún no se han reanudado. Envía los ids cuando puedas. 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.