n8n-nodes-infragrowth
v0.2.10
Published
En este paquete se encuentran los nodos comunitarios que provee Infragrowth.
Maintainers
Keywords
Readme
🧩 Nodo Personalizado: ShowAppointments
El nodo ShowAppointments permite consultar citas (appointments) para un contacto específico a través de la API de LeadConnectorHQ, filtrando por estado y fecha según sea necesario.
⚙️ ¿Cómo funciona?
Este nodo realiza una petición HTTP GET al endpoint:https://services.leadconnectorhq.com/contacts/{{contactId}}/appointments
Donde contactId y el token de autenticación se obtienen dinámicamente desde:
- El cuerpo (
body) y headers (headers) de un nodo Webhook anterior
o - Directamente desde la interfaz de configuración del nodo (preferencia principal)
🧰 Funcionalidades
- Consulta todas las citas (appointments) asociadas a un contacto
- Permite aplicar filtros por:
- Estado de cita (
confirmed,canceled,new) - Fecha de creación de la cita (
beforeNow(citas pasadas),afterNow(citas futuras))
- Estado de cita (
- Se puede configurar:
- Desde la UI del nodo (preferido)
- Desde query params o headers enviados al Webhook
📥 Requisitos de conexión para usar desde un webhook
Este nodo debe conectarse a un nodo Webhook que recibe una solicitud POST con la siguiente estructura:
Headers
pit-token: Token de autenticación Bearer necesario para autorizar la consulta a la API
Body
{
"contactId": "vKlnBCtyivvEfc4XsoMd"
}Query Params (filtros a aplicar)
status: confirmed, cancelled, newdate: BEFORE_NOW, AFTER_NOW- Si no se agrega ningun Query Param se obtienen todas las citas sin aplicar filtros.
📅 Nodo Personalizado: CreateAppointments
Este nodo personalizado de n8n permite crear citas (appointments) en LeadConnectorHQ, utilizando información configurada dinámicamente desde la UI o pasada desde otros nodos, como Webhooks.
🚀 ¿Qué hace este nodo?
Realiza una petición HTTP POST al endpoint: https://services.leadconnectorhq.com/calendars/events/appointments
Para crear una cita personalizada en un calendario específico de LeadConnector.
Luego se crea una aportunidad en el pipeline con el stage indicado automaticamente.
🧩 Parámetros del nodo
🔐 Autenticación
- API Token (Pit-Token) → Se usa en el header
Authorization: Bearer <token> - Location ID → ID de la ubicación (usado en múltiples endpoints)
📆 Calendarios
- Calendarios (desplegable) → Se obtiene dinámicamente según el
locationId- Internamente usa:
GET https://services.leadconnectorhq.com/calendars?locationId=<locationId>
- Internamente usa:
🕒 Datos de la cita (se habilitan al seleccionar un calendario)
- Start Time (obligatorio)
- End Time (opcional)
- Title (opcional)
- Contact ID (obligatorio)
🪜 Oportunidades
- Pipeline (desplegable dinámico) → Se obtiene según el
locationIdGET https://services.leadconnectorhq.com/opportunities/pipelines?locationId=<locationId>
- Stage (desplegable dependiente) → Se actualiza al seleccionar el pipeline
- Extrae los
stagesdel pipeline seleccionado para mostrar sus nombres
- Extrae los
🧩 n8n Custom Node: Update Appointment (GoHighLevel)
Este nodo personalizado permite actualizar una cita existente y su oportunidad asociada en GoHighLevel (LeadConnector) desde un flujo de trabajo en n8n.
🚀 ¿Qué hace?
- Actualiza citas ya agendadas mediante su
eventId. - Upsert oportunidades asociadas a esas citas.
- Soporta selección dinámica de calendarios, pipelines, etapas y zonas horarias.
🔐 Autenticación
Este nodo requiere un Pit Token válido. El token se obtiene desde la configuración de API de GoHighLevel y debe tener acceso a citas, oportunidades y contactos.
🧾 Parámetros
| Campo | Tipo | Requerido | Descripción |
| -------------------- | ---------------- | --------- | ------------------------------------------------------------------- |
| Pit Token | string (secreto) | ✅ | Token Bearer para autenticar la API. |
| Event ID | string | ✅ | ID de la cita a actualizar. |
| Location ID | string | ✅ | ID de la cuenta en GoHighLevel. |
| Calendar ID | options | ✅ | Calendario donde está la cita. |
| Start Time | dateTime | ✅ | Fecha y hora de inicio. |
| End Time | dateTime | ❌ | Fecha y hora de fin. |
| Timezone | options | ✅ | Zona horaria de la cita. |
| Title | string | ❌ | Título visible de la cita. |
| Opportunity Name | string | ❌ | Nombre de la oportunidad. |
| Pipeline ID | options | ✅ | Pipeline en el que se ubicará la oportunidad. |
| Stage ID | options | ❌ | Etapa del pipeline (opcional). |
| Contact ID | string | ✅ | ID del contacto. |
| Appointment Status | string | ❌ | Estado nuevo de la cita (confirmed, cancelled, showed, etc.). |
🔁 Métodos dinámicos (loadOptions)
getCalendars: lista de calendarios por ubicación.getPipelines: pipelines disponibles.getStages: etapas del pipeline seleccionado.getTimezones: lista completa de zonas horarias.
📤 Respuesta
El nodo retorna un objeto JSON con las respuestas de ambas operaciones:
{
"updatedAppointment": { ... },
"updatedOpportunity": { ... }
}