🟢 Introducción
Cuando trabajamos con datos en Power Automate —ya sea de Dataverse, SharePoint, APIs externas, SQL o Power Apps— es muy común encontrarnos con valores nulos, vacíos o no definidos.
Si no manejamos esos casos, el flujo puede fallar con errores como:
“The template language function… cannot be evaluated…”
“Object reference not set…”
La función coalesce() nos permite asignar un valor seguro cuando el dato real viene vacío. Es fundamental para crear flujos confiables, especialmente en escenarios empresariales.
🧠 Qué es / para qué sirve
La función coalesce() devuelve el primer valor que NO sea nulo, evaluando uno por uno.
Sirve para:
- Evitar errores cuando un campo viene vacío.
- Definir valores por defecto.
- Garantizar que un campo tenga texto, número o fecha válida.
- Manejar respuestas de APIs inconsistentes.
- Asegurar que parámetros de Power Apps no vengan nulos.
🧩 Sintaxis
coalesce(<value1>, <value2>, <value3>, ...)
Devuelve: el primer valor que exista y no sea nulo.
💻 Ejemplos con código
🔹 Ejemplo 1 — Usar valor por defecto
Si triggerBody()?['email'] viene vacío:
coalesce(triggerBody()?['email'], 'sin-correo@contoso.com')
🔹 Ejemplo 2 — Usar múltiples alternativas
coalesce(item()?['Phone'], item()?['Mobile'], 'No disponible')
🔹 Ejemplo 3 — Enviar siempre un texto válido a una API
coalesce(body('GetUser')?['displayName'], 'Desconocido')
🔹 Ejemplo 4 — Evitar error de conversión numérica
coalesce(int(item()?['Quantity']), 0)
🔹 Ejemplo 5 — Uso dentro de Apply to each
coalesce(item()?['description'], 'Sin descripción')
🧱 Buenas prácticas
✅ Siempre usa coalesce cuando consumas datos externos (APIs).
✅ Define valores por defecto coherentes (“N/A”, 0, fecha actual).
✅ Úsalo antes de guardar datos en Dataverse o SharePoint.
✅ Agrégalo cuando envíes mensajes de Teams/Email para evitar mensajes rotos.
✅ Combínalo con trim() para limpiar espacios en blanco.
⚠️ Errores comunes
🚫 Usar coalesce para cálculos complejos — su objetivo es validar nulos.
🚫 No validar el tipo de dato antes (texto, número, booleano).
🚫 Dejar el valor por defecto vacío → pierde propósito.
🚫 Colocar nombres de campos mal escritos → siempre caerás en el valor alterno.
🚫 Usarlo en campos que nunca pueden venir nulos (innecesario).
🔄 Variantes o alternativas
- empty() → verificar si un valor está vacío.
- if() → si necesitas lógica adicional.
- null → para limpiar valores.
- setProperty() (Copilot Studio) → manejo de valores condicionales.
- Condition action → para lógica más explicativa en flujos grandes.


Deja un comentario