HighLevelPro icon

HighLevelPro

Consume HighLevel API

Overview

This node integrates with the HighLevel API to create or update a contact in the system. It supports an "upsert" operation, meaning it will create a new contact if no existing contact matches the provided email or phone number, or update the existing contact if a match is found. This functionality is useful for maintaining an up-to-date contact database without creating duplicates.

Common scenarios include:

  • Importing contacts from external sources while avoiding duplicates.
  • Synchronizing contact information between systems.
  • Automatically updating contact details when new data arrives.

For example, you can use this node to add a new lead captured from a web form or update an existing customer's phone number and address based on recent interactions.

Properties

Name Meaning
Create a new contact or update an existing one if email or phone matches (upsert) Notice informing that the operation will create or update a contact based on matching email or phone.
Email The contact's email address. Required if phone is not provided. Used to identify or create the contact.
Phone The contact's phone number starting with a valid country code and leading plus sign (e.g., +491234567890). Required if email is not provided. Used to identify or create the contact.
Additional Fields A collection of optional fields to provide more contact details:
  Address Contact's street address.
  City Contact's city.
  Custom Fields Custom fields defined in HighLevel. You can specify multiple custom fields by selecting their name or ID and providing corresponding values.
  Do Not Disturb Boolean flag indicating whether automated/manual outbound messages are allowed. True means no outbound messages will be sent to this contact.
  First Name Contact's first name.
  Last Name Contact's last name.
  Name Full name of the contact. If first and last names are set, they overwrite this field.
  Postal Code Contact's postal or ZIP code.
  Source Source of the contact information, e.g., "Public API".
  State Contact's state or province.
  Note Additional notes about the contact.
  Tags Comma-separated list of tags associated with the contact. Can also be set as an array of strings via expression.
  Timezone Timezone of the contact. Can be selected from a list or specified by ID.
  Website Contact's website URL.

Output

The node outputs JSON data representing the created or updated contact object as returned by the HighLevel API. This typically includes all contact properties such as identifiers, email, phone, names, address, custom fields, tags, and other metadata.

If binary data were involved (not indicated here), it would represent attachments or media related to the contact, but this node focuses solely on JSON contact data.

Dependencies

  • Requires an API authentication token credential configured in n8n to access the HighLevel API.
  • The node uses the base URL https://services.leadconnectorhq.com and expects API version 2021-07-28.
  • To resolve custom fields and timezones, the node fetches data dynamically from the API using the authenticated user's location ID.
  • Proper permissions on the API key are necessary to create or update contacts.

Troubleshooting

  • Missing required fields: The node requires at least one of Email or Phone to identify or create a contact. Omitting both will cause errors.
  • Invalid phone format: Phone numbers must start with a plus sign followed by a valid country calling code. Incorrect formats may result in validation errors.
  • API authentication errors: Ensure the API key or OAuth2 credentials are correctly configured and have not expired.
  • Custom fields not found: When specifying custom fields, ensure the field IDs or names exist in your HighLevel account and are accessible with your credentials.
  • Rate limits or API downtime: The HighLevel API may enforce rate limits or experience outages. Retry logic or error handling should be implemented in workflows.

Links and References

Discussion