📈 GoHighLevel
Manage contacts, opportunities, and make custom API calls to GoHighLevel CRM.
Overview
Connect your GoHighLevel (HighLevel) CRM to automate contact management, opportunity tracking, and more using OAuth2. The HighLevel node supports creating, reading, updating, and deleting contacts and opportunities, plus a custom API call mode for any HighLevel v2 endpoint.
Getting Connected
- Create a HighLevel Marketplace app and copy your Client ID and Client Secret
- Ensure your app has the required scopes enabled (contacts, opportunities, locations, etc.)
- In Falcon Builder, go to Dashboard → Credentials → Add Credential and select GoHighLevel OAuth2
- Enter your Client ID, Client Secret, select User Type (Location or Company), and click Connect HighLevel OAuth2
- Authorize access in the popup window — tokens are saved and refresh automatically
Contacts
- Create Contact — requires email or phone at minimum. Optional fields: first name, last name, company, website, tags, DND setting, custom fields.
- Get Contact — retrieve a single contact by Record ID
- Get Many Contacts — search/filter contacts by query, email, phone, with pagination (limit & page)
- Update Contact — update fields on an existing contact by Record ID
- Delete Contact — remove a contact by Record ID
Opportunities
- Create Opportunity — requires name, contact ID, pipeline ID, and pipeline stage ID. Optional: status, monetary value, assigned to, source.
- Get / Get Many / Update / Delete — same pattern as contacts
Custom API Call
Call any HighLevel API v2 endpoint directly by specifying the HTTP method, endpoint path (e.g., /calendars/events), and optional request body/query params.
Advanced Options
- Location ID — override the default location per node. Required for Company-level tokens; auto-filled from credential for Location-level tokens.
- Additional Fields — pass extra JSON fields merged into the request body for advanced use cases
- Query Params — add custom query string parameters as JSON
- Output Variable — customize the variable name for the result (default:
highlevel_result). Access the response via{{$json.highlevel_result.data}} - All text fields support variable interpolation using
{{variable_name}}syntax
Troubleshooting
- 403 “Token does not have access” — verify your OAuth app has the required scopes enabled, and the Location ID is correct for your sub-account
- 422 “property should not exist” — ensure you are not passing deprecated snake_case fields (e.g.,
location_id). The v2 API uses camelCase (locationId). - Token expired — tokens refresh automatically. If refresh fails, reconnect your credential via the OAuth flow
- Contact create fails — you must provide at least an email or phone number