Míralo primero
Lo que necesitas
- Una dirección que acepte un POST con JSON, que empiece por
https://. La mayoría de las herramientas de automatización te dan una (consulta Ejemplos). - Derechos de administrador en tu espacio de trabajo de UAT Studio.
Conecta tu webhook
Consigue la dirección de tu flujo
Crea primero el extremo receptor, en la herramienta que uses, y copia su dirección. ¿Quieres ver los mensajes antes de construir nada? Abre webhook.site: te da una dirección temporal y muestra todo lo que se le envía. Úsalo solo con datos de prueba.
Añade el webhook en UAT Studio
Abre tu espacio de trabajo, haz clic en Connections, elige Webhook en Add a connection y haz clic en Add. Después rellena:
- Webhook address: la dirección del paso 1.
- Send automatically:
- Only when I click Send on an issue (la opción predeterminada): un administrador decide qué incidencias se envían.
- Every new issue and every status change, by itself: todo se envía al instante.
Haz clic en Save settings. La opción de Send automatically se guarda en cuanto la cambias.

Añade un secreto (opcional, recomendado)
Para que tu flujo sepa que un mensaje viene de verdad de UAT Studio, inventa un secreto largo y aleatorio (al menos 8 caracteres, mejor 32 o más), pégalo en Secret (optional) y haz clic en Store token. Así cada mensaje lleva la cabecera:
Authorization: Bearer <tu secreto>
Haz que tu flujo rechace los mensajes sin la cabecera correcta. El secreto se guarda cifrado y no se puede volver a leer; pega uno nuevo para sustituirlo.
Prueba la conexión
Haz clic en Test connection. UAT Studio envía:
{ "event": "test", "message": "Test message from UAT Studio" }
Cualquier respuesta entre 200 y 299 cuenta como correcta; verás The webhook answered 200. Asegúrate de que tu flujo acepta el evento de prueba, o lo omite, sin error.
Cuándo envía
| Evento | Cuándo |
|---|---|
issue.sent | Un administrador hace clic en Send to Webhook en una incidencia. Siempre disponible mientras la conexión está en On. |
issue.created | Un tester registra una nueva incidencia. Solo con Send automatically en cada nueva incidencia. |
issue.status_changed | El estado de una incidencia cambia, por ejemplo a Ready for retest o Closed. Solo con Send automatically. Incluye from y to. |
test | Haces clic en Test connection. |
Una incidencia fusionada con otra como duplicado no envía un nuevo issue.created.
Qué envía
Un POST con Content-Type: application/json. Todos los eventos de incidencias tienen la misma forma:
{
"event": "issue.status_changed",
"project": { "id": "6b1f…", "name": "CRM UAT" },
"issue": {
"id": "a41c…",
"key": "ISS-012",
"title": "Save button greyed out",
"description": "After changing the phone number, Save stays grey.",
"severity": "High",
"priority": "High",
"status": "Ready for retest",
"assignee": "Dev team",
"ticket": "PORTAL-41",
"ticket_url": "https://acme.atlassian.net/browse/PORTAL-41"
},
"test_case": { "num": 4, "title": "Edit a contact", "step": 3 },
"reported_by": "Tess Tester",
"from": "In progress",
"to": "Ready for retest",
"url": "https://app.uat.studio/p/6b1f…/issues"
}
| Campo | Significado |
|---|---|
event | issue.sent, issue.created, issue.status_changed o test. |
project | El proyecto de UAT: id y nombre. |
issue.key | El número en UAT Studio, como ISS-012. Usa issue.id para reconocer la misma incidencia en mensajes posteriores. |
issue.severity | Critical, High, Medium o Low. issue.priority: High, Medium o Low. |
issue.status | El estado en UAT Studio: New, In progress, Ready for retest, Closed o Rejected. |
issue.ticket | El ticket vinculado de Jira o Azure DevOps, si lo hay; si no, null. |
test_case | La prueba y el número de paso en que se encontró la incidencia; null para una incidencia fuera de una prueba. Con issue.sent, también la action y el resultado expected del paso. |
reported_by | El nombre del tester que la encontró. |
from, to | Solo con issue.status_changed: el estado anterior y el nuevo. |
url | Las incidencias del proyecto en UAT Studio. Para abrirlas hay que iniciar sesión. |
Los campos pueden ser null y es posible que añadamos campos más adelante, así que haz que tu flujo ignore lo que no conoce. Las capturas de pantalla y los archivos nunca se envían; se quedan en UAT Studio.
Construir el extremo receptor
Power Automate
- Crea un Instant cloud flow con el disparador When an HTTP request is received, para Anyone.
- En Request Body JSON Schema, haz clic en Use sample payload to generate schema y pega el ejemplo de arriba.
- Añade una Condition sobre
event(por ejemplo: is not equal totest) y después las acciones que quieras: una tarea en Planner, una fila en Excel, un correo, un elemento en SharePoint. - Guarda el flujo. El disparador muestra ahora la HTTP URL: esa es la dirección del webhook.
Nota: el disparador HTTP es un conector premium en Power Automate. Para publicar en un canal de Teams no lo necesitas: usa la conexión con Microsoft Teams.
Zapier
Crea un Zap con el disparador Webhooks by Zapier › Catch Hook, copia la dirección, haz clic en Test connection en UAT Studio y después envía una incidencia, para que Zapier conozca los campos. Luego añade la acción que quieras, como un mensaje en Slack.
Make
Empieza un escenario con Webhooks › Custom webhook, copia la dirección y haz clic en Redetermine data structure antes de enviar una incidencia desde UAT Studio.
Tu propio servicio
Acepta un POST con JSON, compara la cabecera Authorization con tu secreto, responde 200 rápido y haz el trabajo lento después. Los mensajes no se reenvían tras un fallo, así que registra lo que recibes.
Si algo sale mal
| Ves | Qué hacer |
|---|---|
| El webhook respondió 401 o 403 | Tu flujo rechaza el mensaje: comprueba el secreto en ambos lados, o que cualquiera puede llamar al flujo. |
| El webhook respondió 404 | La dirección es incorrecta, o el flujo se eliminó o se desactivó. Copia la dirección otra vez. |
| El webhook respondió 400 o 500 | Tu flujo no acepta el mensaje. A menudo no gestiona el evento test, o un campo que es null. Mira el historial de ejecuciones del flujo. |
| No llega nada de las nuevas incidencias | Comprueba que Send automatically está en cada nueva incidencia y que la conexión está en On. Después envía una incidencia a mano para ver la respuesta de tu flujo. |
| No aparece el botón Send to Webhook | Solo lo ven los administradores, y solo cuando la conexión está en On. |
| Las conexiones no forman parte de tu plan | Las conexiones se incluyen en Team, Business, Partner y Enterprise, y como complemento en Project. Tu administrador puede cambiar de plan en Plan & billing. |
¿Sigues atascado? Escribe a [email protected] con el mensaje que ves. Nunca nos envíes el secreto.
Qué sale de UAT Studio
- Los mensajes salen solo por HTTPS.
- Contienen el texto de la incidencia, la prueba y el nombre del tester, nunca archivos ni capturas de pantalla. Envíalos solo a un servicio al que tu organización confíe esa información.
- El secreto se guarda cifrado (AES-256), con la clave guardada aparte de la base de datos. Nadie puede volver a leerlo.
- Pon la conexión en Off o elimínala y ya no se envía nada.
