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 🙏

© 2025 – Pkg Stats / Ryan Hefner

n8n-nodes-future-systems-connector

v1.0.2

Published

Exclusive Future Systems GoHighLevel connector for n8n

Readme

Future Systems Connector for n8n

Exclusive Future Systems GoHighLevel connector for n8n workflow automation.

Features

  • Complete GoHighLevel Integration: Full support for contacts, tags, notes, courses, workflows, and DND settings
  • Robust Error Handling: Automatic retries with exponential backoff and fallback endpoints
  • Proxy Support: Route requests through proxy servers for enhanced security
  • Idempotency: Prevent duplicate operations with idempotency keys
  • Future-Proof: Built with TypeScript and comprehensive endpoint fallbacks

Installation

Community Nodes (Recommended)

  1. In your n8n instance, go to SettingsCommunity Nodes
  2. Click Install a community node
  3. Enter: n8n-nodes-future-systems-connector
  4. Click Install

Docker Installation

If you're running n8n in Docker, you can install the node by copying it to your n8n container:

# Copy the built node to your n8n container
docker cp dist/ your-n8n-container:/home/node/.n8n/nodes/

# Restart your n8n container
docker restart your-n8n-container

Credentials Setup

  1. Create a new credential of type Future Systems API
  2. Configure the following fields:
    • Base URL: https://rest.gohighlevel.com (default)
    • API Key: Your GoHighLevel Location API key
    • Use Proxy: Enable if routing through a proxy server
    • Proxy Base URL: Your proxy server URL (only shown when Use Proxy is enabled)

Getting Your API Key

  1. Log into your GoHighLevel account
  2. Go to SettingsAPI Keys
  3. Create a new API key with appropriate permissions
  4. Copy the key and paste it into the credentials

Operations

Contact Operations

Create Contact

Creates a new contact in GoHighLevel.

Required Fields:

  • Email

Optional Fields:

  • First Name
  • Last Name
  • Phone
  • Tags (comma-separated)
  • Custom Fields (key-value pairs)
  • Idempotency Key

Example:

{
  "email": "[email protected]",
  "firstName": "John",
  "lastName": "Doe",
  "phone": "+1234567890",
  "tags": "lead,premium",
  "customFields": {
    "source": "website",
    "priority": "high"
  }
}

Update Contact

Updates an existing contact.

Required Fields:

  • Contact ID

Optional Fields:

  • First Name
  • Last Name
  • Phone
  • Tags (comma-separated)
  • Custom Fields (key-value pairs)

Find by Email

Finds a contact by their email address.

Required Fields:

  • Email

Tag Operations

Add Tags

Adds tags to a contact.

Required Fields:

  • Contact ID
  • Tag List (comma-separated)

Example:

Contact ID: contact_123
Tag List: premium,engaged,hot-lead

Remove Tags

Removes tags from a contact. Automatically tries JSON body first, then falls back to query parameters.

Required Fields:

  • Contact ID
  • Tag List (comma-separated)

Note Operations

Add Note

Adds a note to a contact.

Required Fields:

  • Contact ID
  • Note

Example:

Contact ID: contact_123
Note: Customer called asking about pricing. Very interested in premium package.

Course Operations

Enroll

Enrolls a contact in a course.

Required Fields:

  • Contact ID
  • Course ID

Optional Fields:

  • Offer ID
  • Idempotency Key

Unenroll

Unenrolls a contact from a course.

Required Fields:

  • Contact ID
  • Course ID

Workflow Operations

Add to Workflow

Adds a contact to a workflow.

Required Fields:

  • Contact ID
  • Workflow ID
  • Idempotency Key

Remove from Workflow

Removes a contact from a workflow.

Required Fields:

  • Contact ID
  • Workflow ID

Do Not Disturb Operations

Enable DND

Enables do not disturb for specified channels.

Required Fields:

  • Contact ID
  • Channels (multi-select: SMS, Email, Call, WhatsApp)

Disable DND

Disables do not disturb for specified channels.

Required Fields:

  • Contact ID
  • Channels (multi-select: SMS, Email, Call, WhatsApp)

Raw API Operations

Passthrough

Makes a raw API request to GoHighLevel.

Required Fields:

  • Method (GET, POST, PUT, DELETE, PATCH)
  • Path

Optional Fields:

  • Body (JSON for POST/PUT/PATCH requests)

Example:

Method: GET
Path: /v1/contacts?limit=10&startAfterId=contact_123

Error Handling

The connector includes robust error handling:

  • Automatic Retries: 3 attempts with exponential backoff for 5xx errors and rate limits (429)
  • Fallback Endpoints: Tries alternative API endpoints when primary endpoints fail
  • Continue on Fail: Returns errors as items instead of stopping the workflow
  • Informative Errors: Includes status codes, paths, and response bodies in error messages

Output Format

All operations return data in the following format:

{
  "success": true,
  "data": {
    // Response data from GoHighLevel API
  },
  "meta": {
    "statusCode": 200,
    "responseTime": 150,
    "attemptedPaths": ["POST /v1/contacts/", "POST /v1/contacts"]
  }
}

When errors occur and "Continue on Fail" is enabled:

{
  "error": "Error message describing what went wrong"
}

Development

Prerequisites

  • Node.js 18+
  • npm or yarn

Setup

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Lint code
npm run lint

# Fix linting issues
npm run lint:fix

Project Structure

├── credentials/
│   └── FutureSystemsApi.credentials.ts    # Credential configuration
├── nodes/
│   └── FutureSystems/
│       ├── FutureSystems.node.ts          # Main node implementation
│       └── descriptions.ts                # Resource and operation descriptions
├── utils/
│   ├── apiRequest.ts                      # HTTP request helper with retries
│   ├── endpoints.ts                       # API endpoint configuration
│   └── __tests__/                        # Unit tests
├── dist/                                 # Built files (generated)
├── package.json                          # Package configuration
├── tsconfig.json                         # TypeScript configuration
└── README.md                             # This file

Changelog

v1.0.0 (2024-01-XX)

Initial Release

  • ✅ Complete GoHighLevel API integration
  • ✅ Contact management (create, update, find by email)
  • ✅ Tag management (add, remove with fallback support)
  • ✅ Note management (add with fallback support)
  • ✅ Course enrollment (enroll, unenroll with fallback support)
  • ✅ Workflow management (add, remove)
  • ✅ Do Not Disturb settings (enable, disable)
  • ✅ Raw API passthrough
  • ✅ Proxy support for enhanced security
  • ✅ Idempotency key support
  • ✅ Comprehensive error handling with retries
  • ✅ Fallback endpoint support
  • ✅ TypeScript strict mode
  • ✅ Unit tests for critical functionality
  • ✅ Continue on Fail support

Support

For support and questions:

License

MIT License - see LICENSE file for details.

Contributing

We welcome contributions! Please see our contributing guidelines for more information.


Future Systems Connector - Making GoHighLevel automation simple and reliable.