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

# n8n

> Instalación del community node de ChatNorris para n8n: credenciales, operaciones y trigger.

ChatNorris publica un **community node** para [n8n](https://n8n.io) (`n8n-nodes-chatnorris`, [código abierto](https://github.com/ChatNorris/n8n-nodes-chatnorris), MIT). A diferencia de Zapier —donde armas la lógica pieza por pieza contra un puñado de triggers y una acción—, el node de n8n cubre la API v2 casi por completo: agentes, mensajes, conversaciones, leads y base de conocimiento, con paginación real y filtros por fecha.

<Note>
  Requiere una API key con acceso a la API v2 — disponible en los planes **Standard** y **Premium** (ver [Introducción a la API](/api-referencia/introduccion)).
</Note>

***

## Instalar el node

1. En tu instancia de n8n, ve a **Settings → Community Nodes → Install**.
2. Escribe el nombre del paquete: `n8n-nodes-chatnorris`.
3. Confirma la instalación. Si usas n8n Cloud con nodes de la comunidad restringidos, pídele a tu administrador que lo habilite (más detalle en la [documentación de n8n sobre community nodes](https://docs.n8n.io/integrations/community-nodes/installation/)).

***

## Configurar la credencial

1. En ChatNorris, ve a **Configuración → API Keys** y crea una key.
2. En n8n, crea una credencial de tipo **ChatNorris API**.
3. Pega la key en **API Key**. El campo **Base URL** viene con `https://app.chatnorris.ai` por defecto — solo lo cambias si usas un entorno propio.
4. La credencial se autentica siempre con `Authorization: Bearer <key>` y se prueba contra `GET /api/v2/project`.

### Scopes según lo que vayas a usar

| Operación                                                                     | Scope                |
| ----------------------------------------------------------------------------- | -------------------- |
| Chatbot: Get / Get Many · Knowledge Source: Get Many · desplegable de agentes | `chatbots:read`      |
| Message: Send                                                                 | `chat:write`         |
| Conversation: Get / Get Many / Get Messages · Trigger “New Conversation”      | `conversations:read` |
| Lead: Get / Get Many · Trigger “New Lead”                                     | `leads:read`         |
| Knowledge Source: Add / Delete / Resync                                       | `chatbots:write`     |

El desplegable de agentes y ambos triggers usan `chatbots:read`, inclúyelo siempre en la key.

***

## Node “ChatNorris” (acciones)

| Recurso          | Operaciones                                                                                                                                       |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Chatbot          | Get, Get Many                                                                                                                                     |
| Message          | Send — `message`, `conversation_id` opcional (para continuar una conversación existente) y adjunto opcional. Devuelve `reply` y `conversation_id` |
| Conversation     | Get, Get Many (filtros: agente, estado, *Created After*, *Order By*), Get Messages                                                                |
| Lead             | Get, Get Many (filtros: agente, *Created After*) — incluye `channel`, `contact_properties` y `custom_fields`                                      |
| Knowledge Source | Get Many, Add (URL, texto o FAQ), Delete, Resync                                                                                                  |

* Las operaciones de listado soportan **Return All** o **Limit**, con paginación automática (100 items por página) — no hace falta armar un loop manual.
* El adjunto de *Send Message* tiene que ser una URL devuelta por `POST /api/v2/chatbots/:id/attachments` (subir el archivo es un paso previo, no algo que resuelva este node por sí solo).
* No hay operación para actualizar un lead: la API v2 no expone ese endpoint todavía.

***

## Node “ChatNorris Trigger” (polling)

Eventos: **New Lead** y **New Conversation**, con un filtro opcional de agente.

* Usa `created_after` y guarda un cursor en los datos estáticos del workflow. Recorre todas las páginas necesarias en cada poll para no perder nada entre una consulta y la siguiente, y deduplica por `id`.
* Emite los items de más viejo a más nuevo.
* La primera vez que activas el workflow, el trigger solo registra el punto de partida —no emite todo el histórico existente.
* Un “Execute step” manual devuelve el item más reciente, útil para mapear campos sin esperar al próximo poll real.
* **New Conversation** también incluye conversaciones creadas a través de la propia API (canal `api`), por ejemplo las que arranca la operación *Send Message*.

***

## Workflows de ejemplo

* **Nuevo lead → CRM o aviso en chat interno:** `ChatNorris Trigger (New Lead)` → tu CRM o Slack, usando `{{$json.email}}` y `{{$json.contact_properties.company}}`.
* **Responder desde otro canal:** `Webhook` → `ChatNorris (Message → Send)` → responder con `{{$json.reply}}`, guardando el `conversation_id` para continuar el hilo en el siguiente mensaje.
* **Mantener la base de conocimiento al día:** `Schedule` → `ChatNorris (Knowledge Source → Add, URL)` para indexar una página cada semana.

***

## Ver también

* [Introducción a la API](/api-referencia/introduccion) — autenticación, scopes y formato de respuesta.
* [Zapier](/api-referencia/zapier) — alternativa no-code, más liviana, para triggers y envío de mensajes.
* [Repositorio del node en GitHub](https://github.com/ChatNorris/n8n-nodes-chatnorris) — código fuente, changelog y guía de desarrollo.
