💡 Introducción
En el ecosistema moderno de desarrollo de software, ninguna aplicación es una isla. Aunque Microsoft Power Platform ofrece cientos de conectores listos para usar (out-of-the-box), el verdadero poder de Power Apps Canvas se desbloquea cuando somos capaces de conectarnos a cualquier servicio externo, base de datos propietaria o API de terceros. Aquí es donde entra el arte de los Conectores Personalizados (Custom Connectors).
🌐 ¿Qué es un Conector Personalizado?
Un conector personalizado es un «envoltorio» (wrapper) alrededor de una API REST (y más recientemente, APIs SOAP) que permite que Power Apps, Power Automate y Microsoft Copilot Studio se comuniquen con dicho servicio. Este componente actúa como un traductor que toma las llamadas de función fáciles de entender en Power Apps y las convierte en peticiones HTTP estándar que la API de destino puede procesar.
Arquitectura de una Integración con Custom Connectors
El flujo de comunicación sigue una estructura clara y segura:
- Capa de Presentación (Canvas App): El usuario interactúa con la interfaz y ejecuta una fórmula (por ejemplo, MiConector.ObtenerDatos(ID)).
- Capa de Traducción (Custom Connector): El conector recibe la petición, le da formato JSON y adjunta los encabezados de autenticación necesarios.
- Capa de Comunicación (API Gateway): Envía la solicitud HTTP (GET, POST, PUT, DELETE) al endpoint seguro a través de Internet o de un On-Premises Data Gateway.
- Capa de Datos (API de Destino): Procesa la solicitud y devuelve una respuesta estructurada (JSON), que el conector traduce de vuelta en una colección o registro legible por Power Apps.

Componentes Clave de un Conector Personalizado
Al diseñar un Custom Connector, debemos configurar cuatro pilares fundamentales:
- Información General: Define el host de la API, el esquema (HTTPS) y una descripción clara para los desarrolladores.
- Seguridad (Autenticación): Soporta múltiples esquemas como Sin Autenticación, Clave de API (API Key), Autenticación Básica y OAuth 2.0 (el estándar recomendado para entornos corporativos).
- Definición: Especifica las acciones (operaciones como consultar, crear o actualizar datos) y los desencadenadores (triggers).
- Código (Opcional): Permite escribir scripts en C# para transformar las solicitudes y respuestas de la API sobre la marcha sin necesidad de un servicio intermediario.
✍️ Mini Ejercicio Práctico: Creando y Consumiendo un Custom Connector
En este ejercicio práctico, simularemos la integración de una API pública de pruebas utilizando JSONPlaceholder (una API REST gratuita para testing) para recuperar información de publicaciones.
Paso 1: Crear el Conector Personalizado en el Portal de Maker
- Inicia sesión en Power Apps Maker Portal.
- En el menú de navegación izquierdo, selecciona «Más» y hasta abajo del menú selecciona «Descubrir todo».

- En la sección de «Data» haz clic en «Conector personalizado»

- Ahora haz click en + Nuevo conector personalizado y selecciona Crear desde cero. Nómbralo GeneradorDePostAPI.
Paso 2: Configurar la Información General y Seguridad
- Esquema: Selecciona HTTPS.
- Host: Escribe jsonplaceholder.typicode.com

- Haz clic en Seguridad y, para fines de este ejercicio rápido, mantén el tipo de autenticación como Sin autenticación.
Paso 3: Definir la Acción (GET Post)
- Haz clic en la pestaña de Definición y luego en Nueva acción.
- Resumen: Obtener Post por ID.
- ID de operación: ObtenerPost.

- En la sección de Solicitud, haz clic en + Importar desde ejemplo:
- Verbo: Selecciona GET.
- URL:
https://jsonplaceholder.typicode.com/posts/{id}
- Haz clic en Importar. Power Apps detectará automáticamente que {id} es un parámetro de ruta.

- Haz clic en Crear conector en la esquina superior derecha.
Paso 4: Consumir el Conector en Power Apps Canvas
Una vez creado y probado el conector dentro del asistente, abre tu App de Lienzo (Canvas App):
- En el menú de datos de la izquierda de tu aplicación, haz clic en Agregar datos y busca GeneradorDePostAPI. Agrégalo a la app.

- Inserta un control de Entrada de texto en la pantalla y nómbralo txtIdPost (configura su formato a Número).
- Inserta un Botón con el texto «Buscar Información» y configura su propiedad OnSelect con la siguiente fórmula
UpdateContext({ varDetallePost: GeneradorDePostAPI.ObtenerPost(Value(txtIdPost.Text))})
- Inserta una Etiqueta de texto (Label) para mostrar el título devuelto por la API. Configura su propiedad Text como:
varDetallePost.title
¡Listo! Al reproducir la aplicación, ingresar el número 1 en la caja de texto y presionar el botón, Power Apps consultará la API en tiempo real y mostrará el título de la publicación correspondiente.


Deja un comentario