formbasedocs
Ir a la appApp

Solicitudes

Decisiones y aprobaciones

Muchas solicitudes existen para conseguir una sola cosa: un sí, un no, o un 'así no'. La pregunta de decisión captura ese veredicto en una forma sobre la que tu automatización puede ramificar directamente, sin adivinar qué campo tenía la respuesta.


Por qué una pregunta especial

Toda opción ya tiene una clave de opción, así que un flujo de trabajo puede ramificar sobre cualquier radio. Lo que un flujo de trabajo no puede hacer es saber, en cada formulario que tenga una aprobación, qué clave significa “sí”: el radio de un autor dice sign_off, el de otro approved.

La pregunta de decisión fija los nombres. Es una pregunta de opción única con la clave de campo decision, cuyas tres opciones llevan las claves de opción approve, decline y changes. Sus etiquetas siguen siendo tuyas para reescribir y traducir; las claves de debajo nunca cambian. Cuando el destinatario elige una, la solicitud termina con un resultado. Cualquier radio con la clave decision cuyas opciones lleven esas tres claves cuenta — el preset solo te las pone.

Añade una a tu formulario

  1. 1

    Abre el menú de bloques

    Pulsa / en el editor y elige Decision — "Aprobar, rechazar o pedir cambios".

  2. 2

    Reescribe las etiquetas

    Obtienes una pregunta titulada "¿Apruebas?" con las opciones Aprobar, Rechazar y Pedir cambios. Reescribe cualquiera con tu propia redacción — "Dar el visto bueno", "Rechazar", "Devolver para editar". Tradúcelas como cualquier otro contenido.

  3. 3

    Pregunta por qué, si lo necesitas

    Un veredicto solo rara vez se explica por sí mismo. Añade una pregunta de texto largo después, y muéstrala solo para rechazo y cambios con lógica condicional.

  4. 4

    Publica

    Las solicitudes creadas desde esta versión publicada terminan con un resultado. Como cualquier clave de campo, decision solo existe una vez publicado el formulario.

Los tres valores

ValorEtiqueta predeterminadaSignifica
approveAprobarEl destinatario estuvo de acuerdo. Tu ejecución sigue por el camino esperado.
declineRechazarDijeron que no. La solicitud igualmente se completa — rechazar es un veredicto, no un fallo.
changesPedir cambiosQuieren algo modificado antes de estar de acuerdo. Suele ser la señal para enviar una nueva solicitud.

Estos tres valores son un contrato público, como una clave de campo: una automatización, un agente y una fórmula de hoja de cálculo los leen todos. Añade una cuarta opción y elegirla es una respuesta normal, no un veredicto — esa solicitud se completa sin resultado, en lugar de con un valor del que tu receptor nunca ha oído hablar.

Dónde aparece el resultado

SuperficieLo que obtienes
Callbackoutcome en el bloque request del payload request.completed — ausente cuando no hay veredicto.
requests.getoutcome junto a status, además de las respuestas indexadas por clave de campo.
requests.listUn filtro outcome; pasar uno implica solo solicitudes completadas.
Página de SolicitudesUn filtro Resultado, y Aprobada / Rechazada / Cambios solicitados en la propia solicitud.
EnvíosEl veredicto también es una respuesta normal, bajo la clave de campo decision.
request.completed, recortado
json
{
  "id": "evt_...",
  "type": "request.completed",
  "test": false,
  "data": {
    "request": {
      "id": "kd7...",
      "externalId": "run-42",
      "status": "completed",
      "outcome": "changes",
      "context": { "case_id": "CASE-9" }
    },
    "answers": {
      "decision": "changes",
      "reason": "Please split the line items per site."
    }
  }
}

Ramifica según data.request.outcome. status dice si la solicitud terminó; outcome dice qué decidió el destinatario. Una solicitud expirada o cancelada tiene un status y ningún outcome, y lo mismo una solicitud completada en un formulario sin pregunta de decisión.

Desde un agente

La herramienta MCP es editor_insertDecisionQuestion, que toma un título y las tres etiquetas en el idioma del formulario. Un agente que no puede alojar un endpoint de callback sondea request_get en su lugar y lee outcome cuando el status deja de ser pending. Solicitudes en el servidor MCP →