Issue Creating GoHighLevel Contacts Using n8n HTTP Request API

Hi all,

I’m having trouble creating GoHighLevel contacts using the n8n HTTP request node with the endpoint:
https://services.leadconnectorhq.com/contacts/

I’ve referred to the documentation here:
https://highlevel.stoplight.io/docs/integrations/4c8362223c17b-create-contact

Here’s what I’ve tried so far:

  • Tested with different credential types: OAuth2 API, Predefined Credential Type, and Sending Headers.
  • Every attempt results in the same error:

403 Forbidden - “The token does not have access to this location. Please check your credentials.”

However:

Since I want to utilize the HTTP request node for more API calls in the future, I want to ensure I can get it working for creating contacts as well.

Has anyone faced a similar issue or knows how to resolve this? I am still learning n8n, please provide detail steps. Any help or guidance would be greatly appreciated!

Thank you!

(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)

{
“nodes”: [
{
“parameters”: {
“method”: “POST”,
“url”: “https://services.leadconnectorhq.com/contacts/”,
“sendQuery”: true,
“queryParameters”: {
“parameters”: [
{
“name”: “Token”
}
]
},
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Version”,
“value”: “2021-07-28”
},
{
“name”: “Authorization”,
“value”: “Bearer API Key”
}
]
},
“sendBody”: true,
“specifyBody”: “json”,
“jsonBody”: “{\n "firstName": "John",\n "lastName": "Doe",\n "email": "[email protected]",\n "phone": "+15551234567"\n}”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
220,
0
],
“id”: “f8344bbd-a39a-4357-b98e-1626f053586f”,
“name”: “HTTP Request”
}
],
“connections”: {
“HTTP Request”: {
“main”: [

]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “7540ac31b12d439d3bedd515d6d0755dc75a417b2fe2b5ad1aa9c1be03e74958”
}
}

Share the output returned by the last node

Information on your n8n setup

  • **n8n version: Version 1.83.2
  • **Database (default: SQLite): Default
  • **n8n EXECUTIONS_PROCESS setting (default: own, main): own, main
  • **Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • **Operating system: Linux

Hello @n8nghl welcome :tada:

The best way to replicate cURL into an HTTP Request node is to use n8n’s built-in cURL import feature:

  1. Copy the cURL command from the API documentation
  2. In n8n, add an HTTP Request node
  3. Click the “Import cURL” button in the top-right of the node
  4. Paste your cURL command and click “Import”

This will automatically configure:

  • The correct HTTP method (GET, POST, etc.)
  • All headers, including Authorization
  • Query parameters
  • Request body format and content
  • Any special options

For GoHighLevel specifically, remember to:

  • Make sure the locationId is included in your request body
  • Keep the Version header (2021-07-28)
  • Verify the Authorization header format (Bearer YOUR_TOKEN)

can you try this and tell me if it works

2 Likes

Thank you so much for the help, the issue was that i was missing the locationId!

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.