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
Abre el menú de bloques
Pulsa / en el editor y elige Decision — "Aprobar, rechazar o pedir cambios".
- 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
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
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.
Solo el preset produce un resultado
El resultado se lee de la pregunta cuya clave de campo es decision, y solo cuando la clave de la opción elegida es una de
las tres. Un radio que construyas a mano con opciones etiquetadas Aprobar, Rechazar y Cambios deriva exactamente esas claves, así que
funciona sin el preset; un radio con otras etiquetas funciona en cuanto escribes las tres claves en la
tabla de Claves.
Elimina una de las tres opciones, o vuelve a escribir su clave, y publicar te avisa: “A la pregunta de decisión le falta una opción approve, decline o changes, así que las solicitudes pueden completarse sin resultado.” Las tres deben estar — una decisión que solo puede aprobar no puede rechazar.
Una pregunta de decisión dentro de un grupo repetible es una pregunta normal y se ignora para el resultado.
Los tres valores
| Valor | Etiqueta predeterminada | Significa |
|---|---|---|
| approve | Aprobar | El destinatario estuvo de acuerdo. Tu ejecución sigue por el camino esperado. |
| decline | Rechazar | Dijeron que no. La solicitud igualmente se completa — rechazar es un veredicto, no un fallo. |
| changes | Pedir cambios | Quieren 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
| Superficie | Lo que obtienes |
|---|---|
| Callback | outcome en el bloque request del payload request.completed — ausente cuando no hay veredicto. |
| requests.get | outcome junto a status, además de las respuestas indexadas por clave de campo. |
| requests.list | Un filtro outcome; pasar uno implica solo solicitudes completadas. |
| Página de Solicitudes | Un filtro Resultado, y Aprobada / Rechazada / Cambios solicitados en la propia solicitud. |
| Envíos | El veredicto también es una respuesta normal, bajo la clave de campo decision. |
{
"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 →