Overview
This node manages contacts within the FullFunnel (GoHighLevel) platform, specifically supporting an "Upsert" operation for contacts. The upsert operation either creates a new contact or updates an existing one based on provided identifiers such as email or phone number. This is useful in scenarios where you want to ensure a contact exists with the latest information without manually checking if it already exists.
Practical examples include:
- Automatically adding or updating leads collected from a web form.
- Synchronizing contact data from other CRMs or marketing tools.
- Maintaining up-to-date customer records by merging new and existing data seamlessly.
Properties
| Name | Meaning |
|---|---|
| Email address of the contact. | |
| Phone | Phone number of the contact (required for upsert). |
| Additional Fields | A collection of optional fields to enrich the contact: |
| - Name | Full name of the contact. |
| - First Name | Contact's first name. |
| - Last Name | Contact's last name. |
| - Address | Street address line 1. |
| - City | City of the contact. |
| - State | State or region. |
| - Country | Country name. |
| - Postal Code | Postal or ZIP code. |
| - Tags | Comma-separated list of tags to categorize the contact. |
| - Source | Origin or source of the contact information. |
| - Custom Fields | Multiple custom key-value pairs allowing additional metadata to be stored with the contact. |
Output
The node outputs JSON objects representing the contact after the upsert operation. The output JSON contains the full contact details as returned by the FullFunnel API, including any updated or newly created fields.
If the operation succeeds, the output will have a structure similar to:
{
"json": {
"contact": {
"id": "string",
"email": "string",
"phone": "string",
"fullName": "string",
"firstName": "string",
"lastName": "string",
"address1": "string",
"city": "string",
"state": "string",
"country": "string",
"postalCode": "string",
"tags": ["tag1", "tag2"],
"source": "string",
"customFields": {
"key1": "value1",
"key2": "value2"
}
// ... other contact properties as returned by the API
}
}
}
No binary data output is produced by this node.
Dependencies
- Requires an API key credential for FullFunnel (GoHighLevel) API authentication.
- The node uses the FullFunnel REST API endpoint at
https://rest.gohighlevel.com/v2. - The API requires a location ID, which is retrieved from the credentials.
- Proper configuration of the API credential in n8n is necessary for successful requests.
Troubleshooting
- Missing Required Fields: The upsert operation requires at least an email or phone number. If both are missing, the node throws an error: "Either email or phone is required for upsert operation".
- API Authentication Errors: If the API key or credentials are invalid or missing, requests will fail. Ensure the API credential is correctly set up in n8n.
- Invalid Custom Fields: Custom fields must have both a key and a value. Omitting these may cause incomplete data submission.
- Network or API Errors: Any network issues or API downtime will result in errors. Check connectivity and FullFunnel service status.
- Continue On Fail: If enabled, the node will continue processing subsequent items even if some fail, returning error details in the output JSON.