N8n AI agent bot replying to GoHighLevel webhooks – contact ID rejected due to external API consistency

I have an n8n workflow that receives inbound SMS webhooks from GoHighLevel (LeadConnector), processes the message with an AI Agent, and sends a reply back using the GoHighLevel Conversations API (POST /conversations/messages).

The workflow executes correctly and the HTTP Request node is properly formatted, but the API responds with:

**400 – “Contact not found for id: O2101tlwKaWMUXGHaJfD”
**
{
“nodes”: [
{
“parameters”: {
“httpMethod”: “POST”,
“path”: “c3253964-c80b-4c1d-8ef0-c250fbaad8f7”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
-80,
384
],
“id”: “4121b053-991e-4287-8930-a0cdb4c60446”,
“name”: “Webhook”,
“webhookId”: “c3253964-c80b-4c1d-8ef0-c250fbaad8f7”
},
{
“parameters”: {
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “strict”,
“version”: 3
},
“conditions”: [
{
“id”: “adfc791c-6ee8-4912-b3c7-9b1e1de15cb4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “stop”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “7e5fc196-68a1-4934-984e-86fd92f6a30b”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “unsubscribe”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “198064f2-cceb-4e11-926d-3ddd142a87f4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “do not text”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
}
],
“combinator”: “or”
},
“options”: {}
},
“type”: “n8n-nodes-base.if”,
“typeVersion”: 2.3,
“position”: [
144,
384
],
“id”: “b91f318e-8252-4917-8912-dfdbb3d603fe”,
“name”: “If”
},
{
“parameters”: {
“promptType”: “define”,
“text”: “{{$json[“message”]}}”,
“options”: {
“systemMessage”: “You are a real estate acquisitions SMS assistant for an off-market home buyer.\n\nGoal: qualify the homeowner and set a call.\n\nStyle rules:\n- SMS only, short (max 1–2 sentences)\n- Ask ONLY ONE question at a time\n- No emojis\n- Never mention AI\n- Do NOT ask for a website, listing link, MLS, Zillow, Realtor.com, or any link\n- Do NOT ask “are you just exploring options” unless needed\n- Keep it focused on seller motivation and property details\n\nQualification order (ask these one-by-one):\n1) Property address\n2) Condition / repairs needed\n3) Timeline to sell\n4) Price expectation\n5) Reason for selling\n\nIf they say “yes I’m open” and you don’t have the address yet:\nAsk for the address immediately.\n\nIf they ask “what’s your offer?”:\nSay you can estimate after address + condition + timeline, then ask for the missing item.\n\nIf they want to talk:\nAsk for a good time today (morning/afternoon/evening).\n\nIf they are angry or say stop/unsubscribe:\nBe polite, confirm you’ll stop, and do not ask more questions.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 3,
“position”: [
368,
544
],
“id”: “1abcb6a4-f222-4079-b1bd-9893d0255e10”,
“name”: “AI Agent”,
“alwaysOutputData”: false
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“builtInTools”: {},
“options”: {
“maxTokens”: 120,
“temperature”: 0.3
}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.3,
“position”: [
448,
768
],
“id”: “b5b76277-09a7-41f5-8d7a-c28c842fb842”,
“name”: “OpenAI Chat Model”,
“credentials”: {
“openAiApi”: {
“id”: “HGZ2uEhBnc9s0WBe”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “9e52b23e-d9da-45ce-9441-d830d8651a09”,
“name”: “contactId”,
“value”: “={{ $json.body.contact_id }}”,
“type”: “string”
}
]
},
“includeOtherFields”: true,
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
432,
240
],
“id”: “19b0414a-032f-400a-9706-11b707e63cb2”,
“name”: “Edit Fields”
},
{
“parameters”: {
“mode”: “combine”,
“combineBy”: “combineByPosition”,
“options”: {}
},
“type”: “n8n-nodes-base.merge”,
“typeVersion”: 3.2,
“position”: [
720,
384
],
“id”: “718f72a6-ba20-41e2-9823-9fa5691b1463”,
“name”: “Merge”
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://services.leadconnectorhq.com/conversations/messages”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Authorization”,
“value”: “Bearer pit-5897c9ae-4eab-4b31-8ef5-7e411ad8ee30”
},
{
“name”: “Version”,
“value”: “2021-07-28”
},
{
“name”: “Content-Type”,
“value”: “application/json”
},
{
“name”: “Accept”,
“value”: “application/json”
}
]
},
“sendBody”: true,
“bodyParameters”: {
“parameters”: [
{
“name”: “type”,
“value”: “SMS”
},
{
“name”: “contact_id”,
“value”: “={{ $json.body.contact_id }}”
},
{
“name”: “=output”,
“value”: “={{ $json.output }}”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.3,
“position”: [
928,
384
],
“id”: “b3784756-6abd-48a1-8713-188596d6f9d3”,
“name”: “HTTP Request”
}
],
“connections”: {
“Webhook”: {
“main”: [
[
{
“node”: “If”,
“type”: “main”,
“index”: 0
}
]
]
},
“If”: {
“main”: [
,
[
{
“node”: “AI Agent”,
“type”: “main”,
“index”: 0
},
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“AI Agent”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenAI Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “AI Agent”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Edit Fields”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 1
}
]
]
},
“Merge”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {
“Webhook”: [
{
“headers”: {
“host”: “azurerentals.app.n8n.cloud”,
“user-agent”: “axios/1.13.2”,
“content-length”: “788”,
“accept”: “application/json, text/plain, /”,
“accept-encoding”: “gzip, br”,
“cdn-loop”: “cloudflare; loops=1; subreqs=1”,
“cf-connecting-ip”: “34.42.82.216”,
“cf-ew-via”: “15”,
“cf-ipcountry”: “US”,
“cf-ray”: “9b22944ab4c99991-ORD”,
“cf-visitor”: “{“scheme”:“https”}”,
“cf-worker”: “n8n.cloud”,
“content-type”: “application/json”,
“traceparent”: “00-3276389fa7e64b8db29c944e717b4ac8-38dea73886d50b56-01”,
“x-forwarded-for”: “34.42.82.216, 172.70.126.68”,
“x-forwarded-host”: “azurerentals.app.n8n.cloud”,
“x-forwarded-port”: “443”,
“x-forwarded-proto”: “https”,
“x-forwarded-server”: “traefik-prod-users-gwc-31-674f44b4c9-tqtxk”,
“x-is-trusted”: “yes”,
“x-real-ip”: “34.42.82.216”
},
“params”: {},
“query”: {},
“body”: {
“contact_id”: “O2101tlwKaWMUXGHaJfD”,
“first_name”: “Suffyan”,
“last_name”: “Tahir”,
“full_name”: “Suffyan Tahir”,
“phone”: “+12893000254”,
“tags”: “direct to seller ai bot”,
“country”: “CA”,
“date_created”: “2025-12-22T21:03:33.106Z”,
“full_address”: “”,
“contact_type”: “lead”,
“location”: {
“name”: “DETL”,
“address”: “102 Marion Street Mount Hope”,
“city”: “Hamilton”,
“state”: “Ontario”,
“country”: “CA”,
“postalCode”: “L0R 1W0”,
“fullAddress”: “102 Marion Street Mount Hope, Hamilton Ontario L0R 1W0”,
“id”: “Yb8Vy7GbF5Z4KB2BFu43”
},
“message”: {
“type”: 2,
“body”: “Ye”
},
“workflow”: {
“id”: “73da7123-c935-4cf9-8cea-1ea43f8d6ee6”,
“name”: “AI Replies”
},
“triggerData”: {},
“contact”: {
“attributionSource”: {
“sessionSource”: “CRM UI”,
“mediumId”: null,
“medium”: “manual”
},
“lastAttributionSource”: {}
},
“attributionSource”: {},
“customData”: {}
},
“webhookUrl”: “https://azurerentals.app.n8n.cloud/webhook/c3253964-c80b-4c1d-8ef0-c250fbaad8f7”,
“executionMode”: “production”
}
]
},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “2784f7c5f1a2a51848f3043ed265a85b355c18c0dc0f53b0b821f7533f4bdf60”
}
}

{
“errorMessage”: “The resource you are requesting could not be found”,
“errorDescription”: “Contact id not given”,
“errorDetails”: {
“rawErrorMessage”: [
“404 - “{\“statusCode\”:404,\“message\”:\“Contact id not given\”}””
],
“httpCode”: “404”
},
“n8nDetails”: {
“nodeName”: “HTTP Request”,
“nodeType”: “n8n-nodes-base.httpRequest”,
“nodeVersion”: 4.3,
“itemIndex”: 0,
“time”: “12/30/2025, 3:54:42 PM”,
“n8nVersion”: “2.0.3 (Cloud)”,
“binaryDataMode”: “filesystem”,
“stackTrace”: [
“NodeApiError: The resource you are requesting could not be found”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_8da18263ca0574b0db58d4fefd8173ce/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:859:16)“,
" at processTicksAndRejections (node:internal/process/task_queues:105:5)”,
" at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1045:8)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1226:11)”,
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1662:27",
" at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_ec37920eb95917b28efaa783206b20f3/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2274:11"
]
}
}

Please let me know if anyone has came across this problem and how to fix it!!

Hey @Azure_Rentals !

Can you please share the json like this:

glxgzrh0

Otherwise it breaks in this format and is invalid.

Cheers!


{
“nodes”: [
{
“parameters”: {
“httpMethod”: “POST”,
“path”: “ghl-sms-webhook”,
“responseMode”: “lastNode”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
-272,
448
],
“id”: “4121b053-991e-4287-8930-a0cdb4c60446”,
“name”: “Webhook”,
“webhookId”: “c3253964-c80b-4c1d-8ef0-c250fbaad8f7”
},
{
“parameters”: {
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “strict”,
“version”: 3
},
“conditions”: [
{
“id”: “adfc791c-6ee8-4912-b3c7-9b1e1de15cb4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “stop”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “7e5fc196-68a1-4934-984e-86fd92f6a30b”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “unsubscribe”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “198064f2-cceb-4e11-926d-3ddd142a87f4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “do not text”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
}
],
“combinator”: “or”
},
“options”: {}
},
“type”: “n8n-nodes-base.if”,
“typeVersion”: 2.3,
“position”: [
16,
448
],
“id”: “b91f318e-8252-4917-8912-dfdbb3d603fe”,
“name”: “If”
},
{
“parameters”: {
“promptType”: “define”,
“text”: “{{$json[“message”]}}”,
“options”: {
“systemMessage”: “You are a real estate acquisitions SMS assistant for an off-market home buyer.\n\nGoal: qualify the homeowner and set a call.\n\nStyle rules:\n- SMS only, short (max 1–2 sentences)\n- Ask ONLY ONE question at a time\n- No emojis\n- Never mention AI\n- Do NOT ask for a website, listing link, MLS, Zillow, Realtor.com, or any link\n- Do NOT ask “are you just exploring options” unless needed\n- Keep it focused on seller motivation and property details\n\nQualification order (ask these one-by-one):\n1) Property address\n2) Condition / repairs needed\n3) Timeline to sell\n4) Price expectation\n5) Reason for selling\n\nIf they say “yes I’m open” and you don’t have the address yet:\nAsk for the address immediately.\n\nIf they ask “what’s your offer?”:\nSay you can estimate after address + condition + timeline, then ask for the missing item.\n\nIf they want to talk:\nAsk for a good time today (morning/afternoon/evening).\n\nIf they are angry or say stop/unsubscribe:\nBe polite, confirm you’ll stop, and do not ask more questions.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 3,
“position”: [
368,
544
],
“id”: “1abcb6a4-f222-4079-b1bd-9893d0255e10”,
“name”: “AI Agent”,
“alwaysOutputData”: false
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“builtInTools”: {},
“options”: {
“maxTokens”: 120,
“temperature”: 0.3
}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.3,
“position”: [
448,
768
],
“id”: “b5b76277-09a7-41f5-8d7a-c28c842fb842”,
“name”: “OpenAI Chat Model”,
“credentials”: {
“openAiApi”: {
“id”: “HGZ2uEhBnc9s0WBe”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “9e52b23e-d9da-45ce-9441-d830d8651a09”,
“name”: “contactId”,
“value”: “={{ $json.body.contact_id }}”,
“type”: “string”
}
]
},
“includeOtherFields”: true,
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
432,
240
],
“id”: “19b0414a-032f-400a-9706-11b707e63cb2”,
“name”: “Edit Fields”
},
{
“parameters”: {
“mode”: “combine”,
“combineBy”: “combineByPosition”,
“options”: {}
},
“type”: “n8n-nodes-base.merge”,
“typeVersion”: 3.2,
“position”: [
720,
384
],
“id”: “718f72a6-ba20-41e2-9823-9fa5691b1463”,
“name”: “Merge”
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://services.leadconnectorhq.com/conversations/messages”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Authorization”,
“value”: “Bearer pit-5897c9ae-4eab-4b31-8ef5-7e411ad8ee30”
},
{
“name”: “Version”,
“value”: “2021-07-28”
},
{
“name”: “Content-Type”,
“value”: “application/json”
},
{
“name”: “Accept”,
“value”: “application/json”
}
]
},
“sendBody”: true,
“bodyParameters”: {
“parameters”: [
{
“name”: “type”,
“value”: “SMS”
},
{
“name”: “contact_Id”,
“value”: “={{$json.contactId}}”
},
{
“name”: “=output”,
“value”: “={{ $json.output }}”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.3,
“position”: [
928,
384
],
“id”: “b3784756-6abd-48a1-8713-188596d6f9d3”,
“name”: “HTTP Request”
}
],
“connections”: {
“Webhook”: {
“main”: [
[
{
“node”: “If”,
“type”: “main”,
“index”: 0
}
]
]
},
“If”: {
“main”: [
,
[
{
“node”: “AI Agent”,
“type”: “main”,
“index”: 0
},
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“AI Agent”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenAI Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “AI Agent”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Edit Fields”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 1
}
]
]
},
“Merge”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {
“Webhook”: [
{
“headers”: {
“host”: “azurerentals.app.n8n.cloud”,
“user-agent”: “axios/1.13.2”,
“content-length”: “788”,
“accept”: “application/json, text/plain, /”,
“accept-encoding”: “gzip, br”,
“cdn-loop”: “cloudflare; loops=1; subreqs=1”,
“cf-connecting-ip”: “34.42.82.216”,
“cf-ew-via”: “15”,
“cf-ipcountry”: “US”,
“cf-ray”: “9b22944ab4c99991-ORD”,
“cf-visitor”: “{“scheme”:“https”}”,
“cf-worker”: “n8n.cloud”,
“content-type”: “application/json”,
“traceparent”: “00-3276389fa7e64b8db29c944e717b4ac8-38dea73886d50b56-01”,
“x-forwarded-for”: “34.42.82.216, 172.70.126.68”,
“x-forwarded-host”: “azurerentals.app.n8n.cloud”,
“x-forwarded-port”: “443”,
“x-forwarded-proto”: “https”,
“x-forwarded-server”: “traefik-prod-users-gwc-31-674f44b4c9-tqtxk”,
“x-is-trusted”: “yes”,
“x-real-ip”: “34.42.82.216”
},
“params”: {},
“query”: {},
“body”: {
“contact_id”: “O2101tlwKaWMUXGHaJfD”,
“first_name”: “Suffyan”,
“last_name”: “Tahir”,
“full_name”: “Suffyan Tahir”,
“phone”: “+12893000254”,
“tags”: “direct to seller ai bot”,
“country”: “CA”,
“date_created”: “2025-12-22T21:03:33.106Z”,
“full_address”: “”,
“contact_type”: “lead”,
“location”: {
“name”: “DETL”,
“address”: “102 Marion Street Mount Hope”,
“city”: “Hamilton”,
“state”: “Ontario”,
“country”: “CA”,
“postalCode”: “L0R 1W0”,
“fullAddress”: “102 Marion Street Mount Hope, Hamilton Ontario L0R 1W0”,
“id”: “Yb8Vy7GbF5Z4KB2BFu43”
},
“message”: {
“type”: 2,
“body”: “Ye”
},
“workflow”: {
“id”: “73da7123-c935-4cf9-8cea-1ea43f8d6ee6”,
“name”: “AI Replies”
},
“triggerData”: {},
“contact”: {
“attributionSource”: {
“sessionSource”: “CRM UI”,
“mediumId”: null,
“medium”: “manual”
},
“lastAttributionSource”: {}
},
“attributionSource”: {},
“customData”: {}
},
“webhookUrl”: “https://azurerentals.app.n8n.cloud/webhook/c3253964-c80b-4c1d-8ef0-c250fbaad8f7”,
“executionMode”: “production”
}
]
},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “2784f7c5f1a2a51848f3043ed265a85b355c18c0dc0f53b0b821f7533f4bdf60”
}
}

is this better?

Click the letter “A” in the top left to set it to “M” , then click on the “</>” sign, and between that 6 ``` and NOT … paste the json.

Please watch the gif again.

glxgzrh0

{
“nodes”: [
{
“parameters”: {
“httpMethod”: “POST”,
“path”: “ghl-sms-webhook”,
“responseMode”: “lastNode”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
-272,
448
],
“id”: “4121b053-991e-4287-8930-a0cdb4c60446”,
“name”: “Webhook”,
“webhookId”: “c3253964-c80b-4c1d-8ef0-c250fbaad8f7”
},
{
“parameters”: {
“conditions”: {
“options”: {
“caseSensitive”: true,
“leftValue”: “”,
“typeValidation”: “strict”,
“version”: 3
},
“conditions”: [
{
“id”: “adfc791c-6ee8-4912-b3c7-9b1e1de15cb4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “stop”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “7e5fc196-68a1-4934-984e-86fd92f6a30b”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “unsubscribe”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
},
{
“id”: “198064f2-cceb-4e11-926d-3ddd142a87f4”,
“leftValue”: “={{ $json.body.message.body }}”,
“rightValue”: “do not text”,
“operator”: {
“type”: “string”,
“operation”: “contains”
}
}
],
“combinator”: “or”
},
“options”: {}
},
“type”: “n8n-nodes-base.if”,
“typeVersion”: 2.3,
“position”: [
16,
448
],
“id”: “b91f318e-8252-4917-8912-dfdbb3d603fe”,
“name”: “If”
},
{
“parameters”: {
“promptType”: “define”,
“text”: “{{$json[“message”]}}”,
“options”: {
“systemMessage”: “You are a real estate acquisitions SMS assistant for an off-market home buyer.\n\nGoal: qualify the homeowner and set a call.\n\nStyle rules:\n- SMS only, short (max 1–2 sentences)\n- Ask ONLY ONE question at a time\n- No emojis\n- Never mention AI\n- Do NOT ask for a website, listing link, MLS, Zillow, Realtor.com, or any link\n- Do NOT ask “are you just exploring options” unless needed\n- Keep it focused on seller motivation and property details\n\nQualification order (ask these one-by-one):\n1) Property address\n2) Condition / repairs needed\n3) Timeline to sell\n4) Price expectation\n5) Reason for selling\n\nIf they say “yes I’m open” and you don’t have the address yet:\nAsk for the address immediately.\n\nIf they ask “what’s your offer?”:\nSay you can estimate after address + condition + timeline, then ask for the missing item.\n\nIf they want to talk:\nAsk for a good time today (morning/afternoon/evening).\n\nIf they are angry or say stop/unsubscribe:\nBe polite, confirm you’ll stop, and do not ask more questions.”
}
},
“type”: “@n8n/n8n-nodes-langchain.agent”,
“typeVersion”: 3,
“position”: [
368,
544
],
“id”: “1abcb6a4-f222-4079-b1bd-9893d0255e10”,
“name”: “AI Agent”,
“alwaysOutputData”: false
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“builtInTools”: {},
“options”: {
“maxTokens”: 120,
“temperature”: 0.3
}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.3,
“position”: [
448,
768
],
“id”: “b5b76277-09a7-41f5-8d7a-c28c842fb842”,
“name”: “OpenAI Chat Model”,
“credentials”: {
“openAiApi”: {
“id”: “HGZ2uEhBnc9s0WBe”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “9e52b23e-d9da-45ce-9441-d830d8651a09”,
“name”: “contactId”,
“value”: “={{ $json.body.contact_id }}”,
“type”: “string”
}
]
},
“includeOtherFields”: true,
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
432,
240
],
“id”: “19b0414a-032f-400a-9706-11b707e63cb2”,
“name”: “Edit Fields”
},
{
“parameters”: {
“mode”: “combine”,
“combineBy”: “combineByPosition”,
“options”: {}
},
“type”: “n8n-nodes-base.merge”,
“typeVersion”: 3.2,
“position”: [
720,
384
],
“id”: “718f72a6-ba20-41e2-9823-9fa5691b1463”,
“name”: “Merge”
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://services.leadconnectorhq.com/conversations/messages”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Authorization”,
“value”: “Bearer pit-5897c9ae-4eab-4b31-8ef5-7e411ad8ee30”
},
{
“name”: “Version”,
“value”: “2021-07-28”
},
{
“name”: “Content-Type”,
“value”: “application/json”
},
{
“name”: “Accept”,
“value”: “application/json”
}
]
},
“sendBody”: true,
“bodyParameters”: {
“parameters”: [
{
“name”: “type”,
“value”: “SMS”
},
{
“name”: “contact_Id”,
“value”: “={{$json.contactId}}”
},
{
“name”: “=output”,
“value”: “={{ $json.output }}”
}
]
},
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.3,
“position”: [
928,
384
],
“id”: “b3784756-6abd-48a1-8713-188596d6f9d3”,
“name”: “HTTP Request”
}
],
“connections”: {
“Webhook”: {
“main”: [
[
{
“node”: “If”,
“type”: “main”,
“index”: 0
}
]
]
},
“If”: {
“main”: [
,
[
{
“node”: “AI Agent”,
“type”: “main”,
“index”: 0
},
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“AI Agent”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenAI Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “AI Agent”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Edit Fields”: {
“main”: [
[
{
“node”: “Merge”,
“type”: “main”,
“index”: 1
}
]
]
},
“Merge”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {
“Webhook”: [
{
“headers”: {
“host”: “azurerentals.app.n8n.cloud”,
“user-agent”: “axios/1.13.2”,
“content-length”: “788”,
“accept”: “application/json, text/plain, /”,
“accept-encoding”: “gzip, br”,
“cdn-loop”: “cloudflare; loops=1; subreqs=1”,
“cf-connecting-ip”: “34.42.82.216”,
“cf-ew-via”: “15”,
“cf-ipcountry”: “US”,
“cf-ray”: “9b22944ab4c99991-ORD”,
“cf-visitor”: “{“scheme”:“https”}”,
“cf-worker”: “n8n.cloud”,
“content-type”: “application/json”,
“traceparent”: “00-3276389fa7e64b8db29c944e717b4ac8-38dea73886d50b56-01”,
“x-forwarded-for”: “34.42.82.216, 172.70.126.68”,
“x-forwarded-host”: “azurerentals.app.n8n.cloud”,
“x-forwarded-port”: “443”,
“x-forwarded-proto”: “https”,
“x-forwarded-server”: “traefik-prod-users-gwc-31-674f44b4c9-tqtxk”,
“x-is-trusted”: “yes”,
“x-real-ip”: “34.42.82.216”
},
“params”: {},
“query”: {},
“body”: {
“contact_id”: “O2101tlwKaWMUXGHaJfD”,
“first_name”: “Suffyan”,
“last_name”: “Tahir”,
“full_name”: “Suffyan Tahir”,
“phone”: “+12893000254”,
“tags”: “direct to seller ai bot”,
“country”: “CA”,
“date_created”: “2025-12-22T21:03:33.106Z”,
“full_address”: “”,
“contact_type”: “lead”,
“location”: {
“name”: “DETL”,
“address”: “102 Marion Street Mount Hope”,
“city”: “Hamilton”,
“state”: “Ontario”,
“country”: “CA”,
“postalCode”: “L0R 1W0”,
“fullAddress”: “102 Marion Street Mount Hope, Hamilton Ontario L0R 1W0”,
“id”: “Yb8Vy7GbF5Z4KB2BFu43”
},
“message”: {
“type”: 2,
“body”: “Ye”
},
“workflow”: {
“id”: “73da7123-c935-4cf9-8cea-1ea43f8d6ee6”,
“name”: “AI Replies”
},
“triggerData”: {},
“contact”: {
“attributionSource”: {
“sessionSource”: “CRM UI”,
“mediumId”: null,
“medium”: “manual”
},
“lastAttributionSource”: {}
},
“attributionSource”: {},
“customData”: {}
},
“webhookUrl”: “https://azurerentals.app.n8n.cloud/webhook/c3253964-c80b-4c1d-8ef0-c250fbaad8f7”,
“executionMode”: “production”
}
]
},
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “2784f7c5f1a2a51848f3043ed265a85b355c18c0dc0f53b0b821f7533f4bdf60”
}
}

good?