Custom Fields Update in HighLevel Using HighLevel Node or HTTP Request PUT Not Working

This should have been resolved in 1.74.0 which also added the option to use calendar items if that isn’t the case let me know and I will put this to the top of my list for next weeks release.

This is still not working, and I’m on version 1.75.2. I’m having the same issues as the other users.

It’s working for me now however, i needed to update the scopes to include location.readonly, write etc… if you’ve done this already and still having trouble then the team will need to have a look. Hopefully it’s something simple.

What version are you on @A_Bradley ?

I recently updated to 1.76.1

Yes I have those scopes and I am still getting an error on the latest version.

Hello,

The lists appears if you have the scopes: locations/customFields.write and locations/customFields.readonly

However updating a lead doesn’t work when using the highlevel node but it works using an HTTP request with custom fields into the body:

{
“customFields”: [
{
“id”: “osq810kAboealDcCedOO”,
“key”: “call_id”,
“field_value”: “{{ $(‘Webhook’).item.json.body.call_id }}”
},
{
“id”: “EcAkqkIvyy4hKTF2WubK”,
“key”: “call_transcript”,
“field_value”: {{ JSON.stringify($(‘Webhook’).item.json.body.concatenated_transcript) }}
},
{
“id”: “Ut8zjS0JRw8ak5x247aE”,
“key”: “call_lenght”,
“field_value”: “{{ $(‘Webhook’).item.json.body.call_length }}”
}
],
“tags”: [
{{ $(‘HighLevel3’).item.json.tags.map(tag => JSON.stringify(tag)).join(", ") }},
“interest_yes”
]
}

I think the highlevel node is still buggy.

Yes the node is still buggy, this may have been put on the back burner, which is a bummer. @Jon

@Jon Just bumping this one if you get a chance.

Retreiving custom fields from GHL node from lists works if the right scopes are defined.

These are the scope I use:

opportunities.readonly opportunities.write users.readonly locations.readonly locations/customValues.write locations/customFields.write calendars.write calendars/events.write calendars/groups.readonly calendars/events.readonly calendars/resources.write calendars.readonly socialplanner/post.readonly socialplanner/post.write workflows.readonly medias.readonly medias.write locations/customFields.readonly socialplanner/oauth.readonly socialplanner/oauth.write socialplanner/account.readonly contacts.readonly contacts.write

However, the request to update contact including custom fields doesn’t work.

It only works using a custom HTTP request.

This doesn’t work:

{
“nodes”: [
{
“parameters”: {
“operation”: “update”,
“contactId”: “={{ $(‘Webhook’).item.json.body.contact_id }}”,
“updateFields”: {
“customFields”: {
“values”: [
{
“fieldId”: {
“__rl”: true,
“value”: “WEWJooOAII3QBgrOy1Oy”,
“mode”: “list”,
“cachedResultName”: “Need”
},
“fieldValue”: “={{ $(‘need_ai_gen’).item.json.text }}”
}
]
}
},
“requestOptions”: {}
},
“type”: “n8n-nodes-base.highLevel”,
“typeVersion”: 2,
“position”: [
-1940,
1460
],
“id”: “4018bfbc-7713-4589-852b-835489b6bdaf”,
“name”: “HighLevel1”,
“credentials”: {
“highLevelOAuth2Api”: {
“id”: “qzLil7gkEUtpfeKt”,
“name”: “HighLevel Outbound calling Agent”
}
}
}
],
“connections”: {},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “2a877724f0669f36eb10a98e65f520962db9845ee37281fe85585b8f600c1c67”
}
}

This works:

{
“nodes”: [
{
“parameters”: {
“method”: “PUT”,
“url”: “=https://services.leadconnectorhq.com/contacts/{{ $(‘Webhook’).item.json.body.contact_id }}”,
“authentication”: “predefinedCredentialType”,
“nodeCredentialType”: “highLevelOAuth2Api”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Accept”,
“value”: “application/json”
},
{
“name”: “Version”,
“value”: “2021-07-28”
}
]
},
“sendBody”: true,
“specifyBody”: “json”,
“jsonBody”: “={\n “tags”: [\n,\n “enriched”\n ],\n “customFields”: [\n {\n “id”: “26Hxj3wMixNvyS7rkmQr”,\n “key”: “contact.specific_service”,\n “field_value”: “{{ $(‘niche3’).item.json.text }}”\n },\n {\n “id”: “WEWJooOAII3QBgrOy1Oy”,\n “key”: “contact.need”,\n “field_value”: {{ JSON.stringify($(‘need_ai_gen’).item.json.text) }}\n },\n {\n “id”: “aVJ2fvZ2hA8Cpco94pbz”,\n “key”: “contact.niche”,\n “field_value”: “{{ $json.text }}”\n }\n ]\n}\n”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
-1880,
2200
],
“id”: “1bf7c19d-5b97-4a19-849d-103554e9239f”,
“name”: “Update Lead GHL”,
“credentials”: {
“highLevelOAuth2Api”: {
“id”: “bE4ipFYG3zbrjFQy”,
“name”: “HighLevel Voice AI Snapshot”
},
“highLevelApi”: {
“id”: “t1sCkVnSK3TQ6UlX”,
“name”: “HighLevel Outbound caller”
}
}
}
],
“connections”: {
“Update Lead GHL”: {
“main”: [

]
}
},
“pinData”: {},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “2a877724f0669f36eb10a98e65f520962db9845ee37281fe85585b8f600c1c67”
}
}

Thanks

Yes would love an update on this. I have the latest version and I am still getting the error when trying to update custom fields.

Any Update on this fix?

just do a custom http query via private integrations. You will be done in 10 minutes

All the workarnds is fine, but it should work to update Custom Fields without problems. I come from Make because many people speak wonders of N8N, but at Make.com you are not these problems …

1 Like

Any updates on when we can expect a fix? A workaround is great but its extra setup that no one wants to do for each client. @Jon

We are waiting for GHL to activate our developer account again.

1 Like

Any update on this?

Here, the ids for each field, are the ids from the the webhook in n8n?

any news on this?

For this to be one of the top crm’s that is used in the market today. It seems that this node was rushed out. There are a few errors when using it unfortunately. The contact fields don’t update also if you’re trying to create a new lead, you have to have the email and phone number when this is not a requirement based off of the API endpoints. Also, the fact that this has been an issue since June 2024 and we still are having issues is very unfortunate. Understand there are other things that need to be done, but this should be a priority for the amount of users of the Highlevel system. It seems as if the barrel is just getting kicked down the road and nothing is getting done.

Hey @Jon can we get an update?