# Crea un chat de atención al cliente con FAQ en n8n

Descarga un flujo pequeño, conecta tus credenciales de MandAPI y responde consultas con las preguntas frecuentes de tu negocio.

## Descarga la plantilla

[Descargar plantilla de atención al cliente en español](/downloads/cookbook/20261030/mandapi-faq-es.json). También hay una [versión en inglés](/downloads/cookbook/20261030/mandapi-faq-en.json).

La demo utiliza cuatro nodos: Chat Trigger → Basic LLM Chain → Edit Fields, con un OpenAI Chat Model conectado a la cadena. Responde con una FAQ estática de una tienda ficticia. Para probar el chat del editor no necesitas correo, base de datos vectorial ni cuenta de WhatsApp.

## Importa el flujo y conecta MandAPI

En tu instancia de n8n, abre el menú del flujo, elige **Import from File** y selecciona el JSON descargado. El flujo está inactivo y su Chat Trigger es privado.

Abre **MandAPI Chat Model** y crea una credencial de tipo **OpenAI** llamada **MandAPI**. Introduce tu clave de MandAPI y configura la **Base URL** de la credencial como `https://api.mandapi.com/v1`. Deja Organization ID vacío salvo que tu configuración lo necesite. Selecciona esa credencial en el nodo del modelo.

Utiliza el tipo de credencial **OpenAI**. La credencial específica de OpenRouter está vinculada a ese servicio y no es el lugar adecuado para una clave de MandAPI.

## Elige el modelo y cambia las FAQ

En el modelo, elige el modo **ID** y sustituye `MODEL_ID` por un modelo Chat Completions disponible para tu clave. Mantén **Use Responses API** desactivado; el parámetro guardado es `responsesApiEnabled: false`. La plantilla también configura MandAPI como Base URL en las opciones del modelo.

Abre **Responder desde las FAQ**, despliega el mensaje System y sustituye tienda, horario y políticas por datos verificados de tu negocio. El prompt pide utilizar únicamente esos datos. No hay consulta de pedidos, memoria persistente ni herramientas externas.

## Haz tres preguntas de prueba

Abre el chat de prueba de n8n y pregunta:

| Pregunta | Resultado esperado |
| --- | --- |
| ¿Cuál es el horario? | Responder con el horario de las FAQ de ejemplo. |
| ¿Dónde está ahora el pedido 12345? | Proponer revisión humana sin inventar seguimiento. |
| Quiero un reembolso. | Mostrar el mensaje de atención humana. |

El mensaje solo es una sugerencia de texto: este flujo no avisa a soporte, crea tickets, cancela pedidos ni procesa reembolsos. Cada prueba envía una solicitud real al modelo y consume tus créditos de API.

## Comprueba y adapta

Edit Fields convierte el campo `text` de la cadena en `output`, que recibe el chat en modo **When Last Node Finishes**. Si no aparece respuesta, inspecciona esos campos en la ejecución. Si falla el modelo, comprueba credencial, identificador, saldo y Base URL.

El archivo se revisó como JSON y sus parámetros se contrastaron con el código oficial de n8n el 30 de octubre de 2026. Aquí no se ha importado en una instancia de n8n ni probado con una llamada real de MandAPI. Si tu versión no reconoce alguno de los nodos indicados, actualízalo o vuelve a crearlo con los mismos ajustes antes de probar.

## Referencias

- [https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/](https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/)
- [https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/credentials/OpenAiApi.credentials.ts](https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/credentials/OpenAiApi.credentials.ts)
- [https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts](https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/llms/LMChatOpenAi/LmChatOpenAi.node.ts)
- [https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/trigger/ChatTrigger/ChatTrigger.node.ts](https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/trigger/ChatTrigger/ChatTrigger.node.ts)
- [https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/chains/ChainLLM/methods/config.ts](https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/chains/ChainLLM/methods/config.ts)
- [https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/chains/ChainLLM/methods/responseFormatter.ts](https://github.com/n8n-io/n8n/blob/master/packages/%40n8n/nodes-langchain/nodes/chains/ChainLLM/methods/responseFormatter.ts)
- [https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/Set/v2/manual.mode.ts](https://github.com/n8n-io/n8n/blob/master/packages/nodes-base/nodes/Set/v2/manual.mode.ts)
