> ## 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.

# Zapier

> Cómo conectar ChatNorris con Zapier: triggers, acción de envío de mensajes y scopes necesarios.

ChatNorris tiene una app pública en el directorio de Zapier (**estado: Beta**). No es una integración aparte con su propia lógica: se conecta usando una **API key de la API v2** y expone un subconjunto de esos mismos endpoints como triggers y acciones de Zapier, sin que tengas que armar requests HTTP a mano.

<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>

***

## Conectar tu cuenta

1. En ChatNorris, ve a **Configuración → API Keys** y crea una key. Anótala: solo se muestra una vez.
2. En Zapier, busca la app **ChatNorris** al crear un Zap.
3. Pega la API key en el campo **API Key** de la conexión. Zapier prueba la conexión contra `GET /api/v2/project` y, si es válida, muestra el nombre de tu organización.
4. Puedes reutilizar la misma conexión en varios Zaps.

<Tip>
  Usa una API key dedicada para Zapier (no la que ya usas para otra integración) para poder revocarla de forma independiente desde **Configuración → API Keys** si alguna vez lo necesitas.
</Tip>

***

## Triggers

Los triggers funcionan por **polling**: Zapier consulta la API en el intervalo que le corresponda según tu plan de Zapier, y deduplica automáticamente los resultados ya vistos.

| Trigger              | Qué dispara                           | Filtro opcional            | Scope requerido      |
| -------------------- | ------------------------------------- | -------------------------- | -------------------- |
| **New Contact**      | Un nuevo lead capturado por un agente | Agente (todos por defecto) | `leads:read`         |
| **New Conversation** | Una nueva conversación iniciada       | Agente (todos por defecto) | `conversations:read` |

El campo **Agent** es un desplegable que trae la lista real de tus agentes (usa `chatbots:read` internamente); déjalo vacío para escuchar todos los agentes de la organización.

<Note>
  **New Conversation** también dispara para conversaciones creadas a través de la propia API (canal `api`) — por ejemplo, si otra integración usa la acción **Send Message** para iniciar una conversación nueva.
</Note>

***

## Acción: Send Message

Envía un mensaje a un agente y espera su respuesta — el mismo `POST /api/v2/chatbots/:id/chat` de la API.

| Campo           | Obligatorio | Descripción                                                                    |
| --------------- | ----------- | ------------------------------------------------------------------------------ |
| Chatbot         | Sí          | Agente que va a responder (desplegable)                                        |
| Message         | Sí          | Texto del mensaje a enviar                                                     |
| Conversation ID | No          | Si lo indicas, continúa una conversación existente en lugar de crear una nueva |

La acción devuelve `reply` (la respuesta del agente) y `conversation_id`, que puedes encadenar en el resto del Zap — por ejemplo, para reenviar la respuesta por email o Slack, o para volver a usarla como `Conversation ID` en un paso posterior y mantener el hilo.

Requiere el scope `chat:write`.

***

## Scopes que necesita la API key

| Uso en Zapier                                       | Scope                |
| --------------------------------------------------- | -------------------- |
| New Contact                                         | `leads:read`         |
| New Conversation                                    | `conversations:read` |
| Desplegable de agentes (en triggers y en la acción) | `chatbots:read`      |
| Send Message                                        | `chat:write`         |

Si tu Zap combina varios de estos usos, crea la API key con la unión de los scopes correspondientes (o con `*` para no tener que administrar scopes por Zap).

***

## Límites conocidos

* No existe un trigger de "nuevo mensaje" dentro de una conversación — solo nueva conversación y nuevo lead.
* No hay una acción para actualizar un lead existente: la API pública v2 no expone ese endpoint todavía.
* Los datos de un lead vienen con los campos base (nombre, email, teléfono, fecha) más `contact_properties` (empresa, cargo, ciudad, etc.) y `custom_fields`; no vienen aplanados campo por campo salvo que los mapees manualmente en el Zap.

***

## Ver también

* [Introducción a la API](/api-referencia/introduccion) — autenticación, scopes y formato de respuesta.
* [n8n](/api-referencia/n8n) — alternativa self-hosted u open-source a Zapier, con más operaciones (base de conocimiento incluida).
