- Primeros pasos
- Notificaciones
- Licencia
- Solución de problemas
- Creador de conectores
- Acerca del generador de conectores
- Crear tu primer conector
- Crear tu conector a partir de una definición de API
- Configurar la autenticación
- Utilizar variables en el Creador de conectores
- Diseñador de actividades
- Crear un desencadenador
- Lista de comprobación del Creador de conectores
- Primeros pasos
- Ejemplo A: crear un conector a partir de un lienzo en blanco con autenticación de token de acceso personal
- Ejemplo B: crear un conector a partir de un lienzo en blanco con autenticación de clave API
- Ejemplo C: crear un conector a partir de una especificación de API con autenticación de credenciales de cliente OAuth 2.0
- Act! 365
- ActiveCampaign
- Active Directory: vista previa
- Adobe Acrobat Sign
- Servicios de Adobe PDF
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Amazon Web Services
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Defender for Cloud
- Azure Maps
- BambooHR
- Box
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix Hypervisor
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- CrewAI: vista previa
- Customer.io
- Database Hub
- Agente de Databricks
- Datadog
- BúsquedaProfunda
- Deputy
- Discord - Vista previa
- DocuSign
- Goteo
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Tipos de cambio
- Exchange Server: vista previa
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales
- Freshservice
- GetResponse
- GitHub
- Gmail
- Plataforma Google Cloud
- Google Docs
- Google Drive
- Formularios de Google: vista previa
- Google Maps
- Google Sheets
- Google Speech-to-Text
- Texto a voz de Google
- Google Tasks: vista previa
- Google Vertex
- Google Vision
- Google Workspace
- GoToWebinar
- Greenhouse
- Hootsuite
- Http
- Webhook HTTP
- Acerca del conector HTTP Webhook
- Autenticación HTTP Webhook
- Eventos de HTTP Webhook
- Uso del conector de Webhook
- Supervisión
- Hubspot CRM
- Hubspot Marketing
- HyperV: vista previa
- Icertis
- iContact
- Insightly CRM
- Intercom
- Jina.ai
- Jira
- Keap
- Klaviyo
- LinkedIn
- Correo
- Mailchimp
- Mailgun
- Mailjet
- MailerLite
- Marketo
- MCP - Preview
- Microsoft 365
- Microsoft Azure
- Microsoft Azure Active Directory
- Microsoft Azure AI Foundry
- Microsoft Azure OpenAI
- Microsoft Azure Sentinel
- Microsoft Dynamics 365 CRM
- Microsoft OneDrive y SharePoint
- Microsoft Outlook 365
- Microsoft Power Automate: vista previa
- Opinión de Microsoft
- Microsoft Sentinel Threat Intelligence
- Microsoft Teams
- Microsoft Translator
- Microsoft Vision
- Miro
- NetIQ eDirectory
- NVIDIA NIM
- OKTA
- OpenAI
- LLM compatible con OpenAI V1
- Oracle Eloqua
- Oracle NetSuite
- PagerDuty
- PayPal
- PDFMonkey
- Perplexity
- Pinecone
- Pipedrive
- QuickBooksOnline
- Quip
- Salesforce
- Salesforce AgentForce y flujos: vista previa
- Salesforce Marketing Cloud
- SAP BAPI
- SAP Cloud for Customer
- SAP Concur
- SAP OData
- SendGrid
- ServiceNow
- Shopify
- Slack
- SmartRecruiters
- Smartsheet
- Snowflake
- Snowflake Cortex
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- System Center: vista previa
- TangoCard
- Todoist
- Trello
- Twilio
- UiPath Apps - Preview
- Data Fabric de UiPath
- Actividades de UiPath GenAI
- UiPath Orchestrator
- X (anteriormente Twitter)
- Xero
- watsonx.ai
- WhatsApp Business
- WooCommerce
- Viable
- Workday
- REST de Workday
- VMware ESXi vSphere
- YouTube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo
Connect UiPath to your webhook provider and configure webhook challenge verification or header-based authentication.
Requisitos previos
Tu proveedor de webhook puede requerir un protocolo de enlace. Consulta la sección Verificación de desafío de Webhook para obtener más información sobre cómo configurar la verificación de desafío.
Dependiendo de dónde crees el desencadenador, la URL del webhook generado aparecerá en la actividad del desencadenador HTTP Webhook o en la página de creación del desencadenador, pero solo después de que la conexión se haya creado correctamente. Para evitar fallos, pegue la URL del webhook en su aplicación después de publicar su flujo de trabajo o el desencadenador se haya creado correctamente en UiPath Orchestrator.
Crear una conexión HTTP Webhook
-
Selecciona Orchestrator en el lanzador de productos.
-
Selecciona una carpeta y luego navega a la pestaña Conexiones .
-
Selecciona Añadir conexión.
-
Para abrir la página de creación de conexiones, selecciona el conector de la lista. Puedes utilizar la barra de búsqueda para encontrar el conector.
-
En el campo Para qué aplicación es este webhook , introduce un nombre descriptivo para la aplicación de webhook, algo que facilite la identificación de qué proveedor o integración representa esta conexión. Este valor se convierte en el Identificador de conexión.
-
(Optional) Configure header-based authentication.
If you want UiPath to validate every incoming webhook request, from the Authentication Type dropdown select Header Based Authentication, then specify:
- Header key — the HTTP header the vendor uses to send the credential (for example,
X-API-KeyorX-API-Secret). - Header value — the secret value the vendor sends in that header (for example,
a1b2c3d4e5f6789...). This field is masked and stored securely. You can also use a credential asset for this field.
Configure the same header key and value in the vendor's webhook settings. If the values don't match at runtime, UiPath rejects the request with HTTP 401.
For more information, see Webhook header authentication.
- Header key — the HTTP header the vendor uses to send the credential (for example,
-
Configurar la ubicación del desafío
Elige cómo enviará el proveedor el token de desafío para que UiPath pueda responder correctamente:- Sin desafío : el proveedor no requiere un apretón de manos y puedes proceder a conectarte.
- Parámetro de consulta (por ejemplo,
?challenge=...) - Cuerpo JSON (POST con
{ "challenge": "..." }) - Encabezado (por ejemplo,
X-Hub-Challenge)
-
Configure la verificación de desafío y conéctese
If the vendor requires a handshake, enter the challenge verification that matches the vendor's pattern (which field/header/query to read and how to echo/validate it). When configuration is complete, select Connect.Where available, select the menu next to a field and choose Use credential asset or Use Orchestrator asset to reference an Orchestrator asset instead of entering the value directly. For more information, see Use credential assets for connections.
- Utiliza un nombre que incluya el proveedor y el entorno (por ejemplo, Stripe-prod o Slack-staging) para evitar confusiones.
- Si no estás seguro de qué patrón de desafío utiliza el proveedor, consulta sus documentos de webhook o ejecuta un registro de prueba para inspeccionar la solicitud de handshake.
Verificación de desafío de Webhook
Algunos proveedores requieren que se validen las URL de webhook antes de comenzar a enviar eventos reales. Esto se hace utilizando un mecanismo de desafío-respuesta. Cuando registras un webhook, el proveedor envía una solicitud de desafío especial y el punto final debe responder exactamente como se espera.
El conector HTTP Webhook admite estos flujos de verificación a través del marco de desafíos de Webhook, lo que te permite configurar cómo UiPath debe leer y responder a los desafíos del proveedor.
Compatibilidad con la verificación de desafíos
UiPath admite ambos tipos de comportamientos de webhook de proveedor:
- Proveedores que no utilizan la verificación de desafío
- Proveedores que requieren un protocolo de enlace de desafío antes de activar el webhook
Esto garantiza la compatibilidad con proveedores de webhooks simples, así como con aquellos con requisitos de seguridad más avanzados.
Cuando los proveedores no utilizan la verificación por desafío
Muchas aplicaciones simplemente aceptan una URL de webhook y comienzan a entregar eventos de inmediato.
Para estos proveedores:
- Los usuarios solo necesitan crear o seleccionar una conexión.
- Copia la URL del webhook.
- Pégalo en la configuración de webhook del proveedor.
No se requieren pasos adicionales. El webhook se activa tan pronto como el proveedor comienza a enviar eventos.
Este es el escenario más común y sencillo, y UiPath lo gestiona sin problemas.
Cuando los proveedores requieren verificación de desafío
Algunos proveedores envían una solicitud de desafío para verificar la URL del webhook antes de habilitarla.
En estos casos:
- Los usuarios deben configurar la respuesta de desafío en la conexión HTTP Webhook.
- UiPath escucha la solicitud de desafío del proveedor.
- UiPath devuelve automáticamente el valor de desafío correcto en función de la configuración.
- Una vez que el proveedor valida la respuesta, los eventos normales comienzan a fluir.
Debido a que los proveedores difieren en la forma en que envían el desafío (parámetro de consulta, cuerpo JSON, encabezado, etc.), la configuración de UiPath permite a los usuarios manejar cualquiera de estos patrones.
Esto garantiza la compatibilidad con los proveedores de webhooks que imponen protocolos de enlace de seguridad como Slack, Meta (Facebook/Instagram), Stripe y otros.
Configurar la verificación de desafío
El comportamiento de desafío se configura utilizando cuatro parámetros:
-
Clave de desafío
Campo/clave que contiene el valor de desafío. Se utiliza para detectar solicitudes de desafío (no debe ser nulo). -
Ubicación del desafío
Donde aparece la clave:- Cuerpo
- Parámetro de consulta
- Encabezado
-
Tipo de contenido de la respuesta al desafío
Formato de la respuesta devuelta al proveedor:- texto/sin formato
- application/json
-
Formato de respuesta al desafío
Define qué valor se devuelve (normalmente la propia clave de desafío).
UiPath extrae el valor del desafío entrante y responde en consecuencia.
Ejemplos de configuración de desafío
Ejemplo genérico
Solicitud entrante
{
"challenge": "ABC123"
}
{
"challenge": "ABC123"
}
Configuración
- Clave de desafío:
challenge != null - Ubicación del desafío: cuerpo
- Tipo de respuesta:
text/plain - Formato de respuesta:
challenge
Respuesta
ABC123
Ejemplo de verificación de desafío de WhatsApp
WhatsApp utiliza el método de desafío basado en parámetros de consulta con hub.challenge.
Configuración
| Parámetro | Valor |
|---|---|
| Clave de desafío | hub.challenge != null |
| Ubicación del desafío | Parámetro de consulta |
| Tipo de contenido de la respuesta al desafío | text/plain |
| Formato de respuesta al desafío | hub.challenge |
Solicitud de proveedor
GET https://your-webhook-url?hub.challenge=1234567890
Respuesta esperada de UiPath
HTTP/1.1 200 OK
Content-Type: text/plain
1234567890
HTTP/1.1 200 OK
Content-Type: text/plain
1234567890
Esto confirma la propiedad y WhatsApp comienza a enviar eventos de webhook reales después.
Resumen: genérico frente a WhatsApp
| Paso | Ejemplo genérico | Ejemplo de WhatsApp |
|---|---|---|
| Ubicación del desafío | Cuerpo/Consulta/Encabezado | Consulta |
| Formato de clave | Clave simple (por ejemplo, challenge) | Clave con punto ("hub.challenge") |
| TipoDeRespuesta | texto/sin formato o aplicación/json | texto/sin formato |
| Valor de respuesta | Valor de la clave | Valor de "hub.challenge" |
| Método | PUBLICAR u OBTENER | Solo OBTENER |
Ejemplos por patrón de proveedor
Ejemplo 1: desafío de cuerpo simple con respuesta de texto
Envíos del proveedor
{"challenge":"abc123","type":"url_verification"}
| Campo | Valor |
|---|---|
| Ubicación del desafío | Body |
| Clave de desafío | challenge |
| Tipo de contenido de la respuesta al desafío | text |
| Formato de respuesta al desafío | challenge |
Respuesta: abc123 (texto/sin formato, 200)
Ejemplo 2: desafío de parámetro de consulta con respuesta de texto
Envíos del proveedor
GET /webhook?challenge=CHALLENGE_STRING
| Campo | Valor |
|---|---|
| Ubicación del desafío | Query Parameter |
| Clave de desafío | challenge |
| Tipo de contenido de la respuesta al desafío | text |
| Formato de respuesta al desafío | challenge |
Respuesta: CHALLENGE_STRING (texto/sin formato, 200)
Ejemplo 3: Desafío de cuerpo con respuesta JSON
Envíos del proveedor
{"challenge":"abc123"}
| Campo | Valor |
|---|---|
| Ubicación del desafío | Body |
| Clave de desafío | challenge |
| Tipo de contenido de la respuesta al desafío | json |
| Formato de respuesta al desafío | { "challenge": "challenge" } |
Respuesta: {"challenge":"abc123"} (application/json, 200)
Ejemplo 4: ruta del cuerpo anidado (por ejemplo, verification.token) con respuesta de texto
Envíos del proveedor
{"verification":{"token":"abc123"}}
| Campo | Valor |
|---|---|
| Ubicación del desafío | Body |
| Clave de desafío | verification.token |
| Tipo de contenido de la respuesta al desafío | text |
| Formato de respuesta al desafío | verification.token |
Respuesta: abc123 (texto/sin formato, 200)
Ejemplo 5: ruta profundamente anidada con respuesta JSON
Envíos del proveedor
{"event":{"challenge":"abc123","type":"verify"}}
| Campo | Valor |
|---|---|
| Ubicación del desafío | Body |
| Clave de desafío | event.challenge |
| Tipo de contenido de la respuesta al desafío | json |
| Formato de respuesta al desafío | { "result": "event.challenge" } |
Respuesta: {"result":"abc123"} (application/json, 200)
Ejemplo 6: Desafío basado en encabezado (nombre de encabezado con guiones) con respuesta de texto
Envíos del proveedor
POST /webhook x-webhook-challenge: abc123
| Campo | Valor |
|---|---|
| Ubicación del desafío | Header |
| Clave de desafío | "x-webhook-challenge" |
| Tipo de contenido de la respuesta al desafío | text |
| Formato de respuesta al desafío | "x-webhook-challenge" |
Respuesta: abc123 (texto/sin formato, 200)
El nombre del encabezado contiene guiones, que pueden malinterpretarse como operadores en contextos de análisis. Envolver el identificador entre comillas dobles (por ejemplo, "x-webhook-challenge") garantiza que se trate como un nombre de clave literal. Utiliza siempre comillas dobles alrededor de cualquier identificador que contenga guiones, puntos u otros caracteres especiales.
Ejemplo 7: Detección booleana con diferente clave de respuesta
Envíos del proveedor
{"type":"url_verification","challenge":"abc","token":"legacytoken"}
Quiere detectar por el campo type pero responde con el valor challenge .
| Campo | Valor |
|---|---|
| Ubicación del desafío | body |
| Clave de desafío | type == url_verification`` |
| Tipo de contenido de la respuesta al desafío | json |
| Formato de respuesta al desafío | { "challenge": "challenge" } |
Respuesta: {"challenge":"abc"} (application/json, 200)
Webhook header authentication
Header-based authentication lets UiPath validate every incoming webhook request against a shared secret you configured at connection creation. This prevents unauthorized callers from triggering your workflows by posting to your webhook URL.
Cómo funciona
When header-based authentication is enabled on a connection, Integration Service:
- Checks every incoming request for the configured header key.
- Accepts the event if the header is present and its value matches the stored secret.
- Returns HTTP 401 Unauthorized and does not trigger any workflow if the header is absent or its value does not match.
Example request that UiPath accepts:
POST /webhook HTTP/1.1
Host: <your-uipath-webhook-url>
X-API-Key: a1b2c3d4e5f6789...
Content-Type: application/json
{ "event": "..." }
POST /webhook HTTP/1.1
Host: <your-uipath-webhook-url>
X-API-Key: a1b2c3d4e5f6789...
Content-Type: application/json
{ "event": "..." }
Example request that UiPath rejects (header missing or value wrong):
HTTP/1.1 401 Unauthorized
HTTP/1.1 401 Unauthorized
Campos de configuración
The following table describes the fields that enable you to configure webhook header authentication on the connection creation screen.
| Campo | Descripción | Ejemplo |
|---|---|---|
| Tipo de Autenticación | Enables or disables header validation for this connection. | Header Based Authentication / None |
| Header Key | Name of the HTTP header the vendor sends. | X-API-Key, X-API-Secret |
| Header Value | Secret value the vendor sends in that header. Masked at rest. | a1b2c3d4e5f6789... |
Vendor compatibility
Header-based authentication only works with vendors that let you configure a custom HTTP header on outbound webhook deliveries.
If you're unsure whether your vendor supports outbound custom headers, check the vendor's webhook documentation.
Updating or rotating the secret
When you edit the connection and change the header value, the new value takes effect immediately for all triggers using that connection. The vendor's configuration must be updated with the new value at the same time, or the vendor's deliveries will fail with HTTP 401 until you do.
Behavior when authentication fails
A request is rejected with HTTP 401 Unauthorized if:
- The expected header is absent from the request.
- The header is present but its value does not match the stored secret.
Failed requests are not retried by UiPath, and no trigger event is dispatched. The vendor's own retry behavior (if any) applies.
Authentication failure traces can be viewed in the Traces section. To help protect our systems from DoS attacks, authentication failure traces are limited to 5 per hour.
Notas importantes
- Header-based authentication is connection-scoped. All triggers created against the same connection share the same header key and value — updating the connection's secret affects every trigger using it.
- Header-based authentication is independent of challenge verification. Either, both, or neither can be enabled on a connection.
- The header value is stored encrypted and should be handled with the same care as any other credential.
- Header names are case-insensitive per the HTTP specification (
X-API-Keyandx-api-keyare equivalent).
- Requisitos previos
- Crear una conexión HTTP Webhook
- Verificación de desafío de Webhook
- Compatibilidad con la verificación de desafíos
- Configurar la verificación de desafío
- Ejemplos de configuración de desafío
- Ejemplos por patrón de proveedor
- Webhook header authentication
- Cómo funciona
- Campos de configuración
- Vendor compatibility
- Updating or rotating the secret
- Behavior when authentication fails
- Notas importantes