> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ejemplo 1: respuesta automática con IA

Este ejemplo muestra cómo implementar un flujo de trabajo básico de respuesta automática utilizando n8n, un modelo de lenguaje grande y un nodo de YCloud:<br />Cuando la plataforma YCloud recibe un mensaje entrante, activa un flujo de trabajo de n8n a través de un webhook. El flujo de trabajo invoca al modelo de lenguaje grande para generar una respuesta y luego envía el mensaje de vuelta al usuario a través del nodo de YCloud.

> YCloud AI Agent ha creado un flujo de trabajo de IA integral para ti, ofreciendo una base de conocimiento de IA, corpus y procesos automatizados de extremo a extremo y fáciles de entender. Haz clic aquí para obtener más detalles.

### Proceso general

<img src="https://mintcdn.com/lchnan/7IqVC2giQEcOq6-5/product-assets/31a5e257bb-image-835.webp?fit=max&auto=format&n=7IqVC2giQEcOq6-5&q=85&s=45da1a8b4fd560222e1adc5d9e57bd47" alt="Captura de pantalla del producto YCloud" width="1739" height="787" data-path="product-assets/31a5e257bb-image-835.webp" />

### Evento de Webhook

1. Crear un endpoint de Webhook
   1. Usa el nodo Webhook de n8n para crear un nuevo listener
   2. Selecciona POST como el método HTTP
   3. En Options, establece el Response Code en 200 y asegúrate de que esté seleccionado ‘Immediately’

<img src="https://mintcdn.com/lchnan/PCdfO4VGvgYoGyQM/product-assets/fc7f38f8c3-ishot-2026-04-30-10-25-09.webp?fit=max&auto=format&n=PCdfO4VGvgYoGyQM&q=85&s=68fa46fe890c8b71626e7b2e4afb6860" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/fc7f38f8c3-ishot-2026-04-30-10-25-09.webp" />

Agrega los detalles de tu endpoint a la plataforma YCloud y selecciona los eventos de Webhook que deseas monitorear

<Frame caption="Use Search event to find the webhook events your n8n workflow needs before confirming.">
  <img src="https://mintcdn.com/lchnan/gXEJIQXV2JH2VUQJ/product-assets/english-help-2026-09-22/developer-webhook-events-annotated.svg?fit=max&auto=format&n=gXEJIQXV2JH2VUQJ&q=85&s=81cb1ab6ab3e979bb8ad6fdd9c4d4122" alt="Selector de eventos de webhook de YCloud con el evento Search resaltado." width="3024" height="1656" data-path="product-assets/english-help-2026-09-22/developer-webhook-events-annotated.svg" />
</Frame>

### Analizar el valor de retorno y verificar la firma

#### Analizar el valor de retorno

Analizar los encabezados en la respuesta del webhook utilizando el nodo ‘code’ integrado de N8N

<img src="https://mintcdn.com/lchnan/7IqVC2giQEcOq6-5/product-assets/2c273275ba-ishot-2026-04-30-10-50-04.webp?fit=max&auto=format&n=7IqVC2giQEcOq6-5&q=85&s=2ce32f2b7a9148f5c19f291ff87fb4ad" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/2c273275ba-ishot-2026-04-30-10-50-04.webp" />

Selecciona JavaScript para el análisis

```javascript theme={"theme":{"light":"github-light","dark":"github-dark"}}
function parseSignatureHeader(signatureHeader) {
  const result = {};
  for (const part of (signatureHeader || '').split(',')) {
    const [key, value] = part.split('=');
    if (key && value) {
      result[key.trim()] = value.trim();
    }
  }
  return result;
}

const input = $input.first().json;
const headers = input.headers || {};
const body = input.body;

const signatureHeader = headers['ycloud-signature'] ;
const parsed = parseSignatureHeader(signatureHeader);

const timestamp = parsed.t;
const receivedSignature = parsed.s;

const payload =
  body === undefined || body === null
    ? ''
    : typeof body === 'string'
      ? body
      : JSON.stringify(body);

const signedPayload = `${timestamp}.${payload}`;

return [
  {
    json: {
      ...input,
      timestamp,
      receivedSignature,
      payload,
      signedPayload,
      signatureHeader,

    }
  }
];
```

Los valores de retorno de este nodo son:

* El valor original,
* La marca de tiempo,
* La firma recibida, el payload, el payload firmado y la información de la firma en el encabezado de la solicitud

#### Datos cifrados

En el paso anterior, los datos se particionaron por completo. En este nodo, utilizaremos SignedPayload y Secret. Usaremos el nodo Crypto para cifrar los datos.

<img src="https://mintcdn.com/lchnan/7IqVC2giQEcOq6-5/product-assets/304e08d482-ishot-2026-04-30-10-52-06.webp?fit=max&auto=format&n=7IqVC2giQEcOq6-5&q=85&s=ef80f4acfb29d1a6ac4db24fbcb9d958" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/304e08d482-ishot-2026-04-30-10-52-06.webp" />

Obtén el Secret desde la plataforma YCloud.

<img src="https://mintcdn.com/lchnan/PCdfO4VGvgYoGyQM/product-assets/f3c6c5acc3-ishot-2026-04-30-11-24-02.webp?fit=max&auto=format&n=PCdfO4VGvgYoGyQM&q=85&s=1217648ce39e95778e3a1079aec84c13" alt="Captura de pantalla del producto YCloud" width="2940" height="604" data-path="product-assets/f3c6c5acc3-ishot-2026-04-30-11-24-02.webp" />

#### Comparar firmas

Usa una sentencia if para verificar la información de la firma; si coincide, la verificación se considera exitosa.

<img src="https://mintcdn.com/lchnan/AlSk34JesCiO_ZYy/product-assets/e3c383a5bb-ishot-2026-04-30-10-54-22.webp?fit=max&auto=format&n=AlSk34JesCiO_ZYy&q=85&s=2ee80efbbc283a3fe1390d3e82ff4c95" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/e3c383a5bb-ishot-2026-04-30-10-54-22.webp" />

#### Responder a mensajes usando IA

Una vez que te hayas suscrito a los eventos `whatsapp.inbound_message.received` y `whatsapp.message.updated`, recibirás una notificación push cuando se reciba un mensaje o una actualización de estado de seguimiento después de que se haya enviado un mensaje.

1. Usa el nodo `switch` para configurar múltiples tipos de notificaciones de webhook.

<img src="https://mintcdn.com/lchnan/RN4tXfXENVvDu0Te/product-assets/b3c1737815-ishot-2026-04-30-16-25-41.webp?fit=max&auto=format&n=RN4tXfXENVvDu0Te&q=85&s=9e974b4c366f72c61bfae9bfbd37ce00" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/b3c1737815-ishot-2026-04-30-16-25-41.webp" />

2. Cuando se recibe un evento `inbound_message_received`, se puede generar una respuesta llamando a la API de IA

<img src="https://mintcdn.com/lchnan/WD-ixrYVrqB7b7aQ/product-assets/50e1d1e086-ishot-2026-04-30-16-28-07.webp?fit=max&auto=format&n=WD-ixrYVrqB7b7aQ&q=85&s=ded17a4e52f2fbc1a0ca65475b14424d" alt="Captura de pantalla del producto YCloud" width="1920" height="993" data-path="product-assets/50e1d1e086-ishot-2026-04-30-16-28-07.webp" />

3. Usa el nodo merge para conservar la colección de datos push del webhook de la sección anterior

<img src="https://mintcdn.com/lchnan/9zlgZMZStxEKrVPM/product-assets/09afdc4376-ishot-2026-04-30-16-28-24.webp?fit=max&auto=format&n=9zlgZMZStxEKrVPM&q=85&s=aff24c2139549e797167523c027732d1" alt="Captura de pantalla del producto YCloud" width="571" height="517" data-path="product-assets/09afdc4376-ishot-2026-04-30-16-28-24.webp" />

4. Enviar mensajes utilizando nodos de YCloud

<img src="https://mintcdn.com/lchnan/WD-ixrYVrqB7b7aQ/product-assets/4c8c3181d3-ishot-2026-04-30-16-34-48.webp?fit=max&auto=format&n=WD-ixrYVrqB7b7aQ&q=85&s=0a5b33d46797eead0c71665dadf4b640" alt="Captura de pantalla del producto YCloud" width="1047" height="862" data-path="product-assets/4c8c3181d3-ishot-2026-04-30-16-34-48.webp" />

Completa los detalles pertinentes, coloca el texto generado por IA en el campo Body y envía.

<Warning>
  Ten en cuenta que el remitente y el destinatario están **invertidos** aquí; se trata de un mensaje de respuesta.
</Warning>

Con esto, el flujo de trabajo completo de n8n (Webhook → Modelo de lenguaje grande → Respuesta automática) queda configurado.

### Guardar en una tabla de datos (opcional)

<img src="https://mintcdn.com/lchnan/PCdfO4VGvgYoGyQM/product-assets/facf991e02-ishot-2026-04-30-17-17-34.webp?fit=max&auto=format&n=PCdfO4VGvgYoGyQM&q=85&s=c31f86a044a3198ac01f4df4bb1c61fb" alt="Captura de pantalla del producto YCloud" width="710" height="916" data-path="product-assets/facf991e02-ishot-2026-04-30-17-17-34.webp" />

### Monitorear actualizaciones posteriores al mensaje enviado (opcional)

Una vez completado el paso 5, los datos se enviarán a través del evento `whatsapp.message.update`.

Al recibir este push, puedes usar el nodo `datatable - update rows` para actualizar la tabla de datos, rastreando así todo el proceso de entrega del mensaje.

<img src="https://mintcdn.com/lchnan/RN4tXfXENVvDu0Te/product-assets/d71c29cf5b-image-20260430172030545.webp?fit=max&auto=format&n=RN4tXfXENVvDu0Te&q=85&s=6e9c7f56be24cde01e3a56489add9c9c" alt="Captura de pantalla del producto YCloud" width="652" height="574" data-path="product-assets/d71c29cf5b-image-20260430172030545.webp" />

<img src="https://mintcdn.com/lchnan/6CxA7mK2t7klNAOL/product-assets/a35824b7cb-image-20260430172039734.webp?fit=max&auto=format&n=6CxA7mK2t7klNAOL&q=85&s=831e5308b4b34776bb5416220faa1878" alt="Captura de pantalla del producto YCloud" width="644" height="652" data-path="product-assets/a35824b7cb-image-20260430172039734.webp" />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.