Actions26
Overview
The node integrates with the GoHighLevel V2 API to manage contacts, companies, opportunities, and custom fields. Specifically for the Contact resource with the Find or Create operation, it attempts to find an existing contact by given criteria (such as email or phone). If no matching contact is found, it creates a new contact with the provided details.
This node is useful in scenarios where you want to ensure a contact exists in your CRM system without creating duplicates. For example, when processing form submissions or syncing contacts from other systems, you can use this node to either retrieve the existing contact or create a new one seamlessly.
Properties
| Name | Meaning |
|---|---|
| The email address of the contact to find or create. | |
| Phone | The phone number of the contact to find or create. |
| Additional Fields | A collection of optional fields to provide more information about the contact when creating or updating: |
| - Address | Street address of the contact. |
| - City | City of the contact. |
| - Custom Fields | Custom fields specific to the contact, allowing dynamic field name/ID and value pairs. |
| - Description | Description text about the contact. |
| - Do Not Disturb | Boolean flag indicating if the contact should be marked as "do not disturb". |
| Email of the contact (can be used additionally here). | |
| - First Name | Contact's first name. |
| - Last Name | Contact's last name. |
| - Name | Full name of the contact. |
| - Phone | Phone number of the contact (can be used additionally here). |
| - Postal Code | Postal code of the contact. |
| - State | State of the contact. |
| - Timezone | Timezone of the contact. |
| - Website | Website URL of the contact. |
Output
The node outputs JSON data representing the contact record that was found or created. The structure typically includes all relevant contact fields returned by the GoHighLevel API, such as identifiers, names, emails, phone numbers, addresses, custom fields, and status flags.
If multiple contacts are returned (in other operations), the output will be an array of JSON objects, each representing a contact.
The node does not output binary data.
Dependencies
- Requires an active connection to the GoHighLevel V2 API.
- Requires an API authentication token configured via OAuth2 credentials in n8n.
- Uses internal utility methods to interact with the GoHighLevel API endpoints for contacts and custom fields.
Troubleshooting
Common issues:
- Missing or invalid API credentials will cause authentication errors.
- Providing incomplete or incorrect contact identifiers (email or phone) may result in failure to find existing contacts.
- Custom fields must exist in GoHighLevel; otherwise, setting them may fail.
Error messages:
"The resource \"contact\" is not known!"— This indicates an unsupported resource was selected; ensure "Contact" is chosen.- API errors related to rate limits or invalid parameters will be passed through; check the API response for details.
Resolutions:
- Verify API credentials and permissions.
- Ensure required fields like email or phone are correctly set.
- Confirm custom fields exist in GoHighLevel before referencing them.
Links and References
- GoHighLevel API Documentation
- n8n Expressions Documentation (for using expressions in custom fields)