npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-infragrowth

v0.2.10

Published

En este paquete se encuentran los nodos comunitarios que provee Infragrowth.

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))
  • 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, new
  • date: 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>

🕒 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 locationId
    • GET https://services.leadconnectorhq.com/opportunities/pipelines?locationId=<locationId>
  • Stage (desplegable dependiente) → Se actualiza al seleccionar el pipeline
    • Extrae los stages del pipeline seleccionado para mostrar sus nombres

🧩 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": { ... }
}