Webhook not pulling data from Retell

I am trying to pull the call notes from retell to my webhook but it’s not working. Whenever I try to run the webhook it says that it is waiting for the test URL to be called. I have inputted the webhook link on the retell side as well so when a call ends it should be triggered. Please help!

Below is the workflow along with a screenshot of my retell AI agent webhook link

{
“name”: “AI Agent”,
“nodes”: [
{
“parameters”: {},
“type”: “n8n-nodes-base.manualTrigger”,
“typeVersion”: 1,
“position”: [
0,
0
],
“id”: “84fd2ba5-0a29-407e-b478-d621925df859”,
“name”: “When clicking ‘Execute workflow’”
},
{
“parameters”: {
“documentId”: {
“__rl”: true,
“value”: “1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME”,
“mode”: “list”,
“cachedResultName”: “Turning 65 Medicare Leads”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME/edit?usp=drivesdk”
},
“sheetName”: {
“__rl”: true,
“value”: 1612945578,
“mode”: “list”,
“cachedResultName”: “Uncontaced”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME/edit#gid=1612945578”
},
“options”: {}
},
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 4.6,
“position”: [
220,
0
],
“id”: “351e38f7-6ee0-4487-a48d-9afc0f07879f”,
“name”: “Get row(s) in sheet”,
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “1B9RawYkOwxtC6Vc”,
“name”: “Google Sheets account”
}
}
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://api.retellai.com/v2/create-phone-call”,
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpCustomAuth”,
“sendBody”: true,
“specifyBody”: “json”,
“jsonBody”: “={\n “from_number”: “+18188774674”,\n “to_number”: “{{ $json[‘Phone’] }}”,\n “retell_llm_dynamic_variables”: {\n “Name”: “{{ $json[‘First Name’] }}”,\n “Email”: “{{ $json[‘Email’] }}”,\n “Phone”: “{{ $json[‘Phone’] }}”,\n “Rent”: “{{ $json[‘Rent’] }}”,\n “Company”: “{{ $json[‘Company’] }}”,\n “Address”: “{{ $json[‘Address’] }}” \n},\n “override_agent_id”: “agent_805d24b7a55705fa37a1600a18”\n}”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
440,
0
],
“id”: “1bea4162-6c2f-4981-9500-b431c4102e34”,
“name”: “HTTP Request”,
“credentials”: {
“httpCustomAuth”: {
“id”: “aT5Tiu8teRFhhWWF”,
“name”: “Retell AI Agent 2”
}
}
},
{
“parameters”: {
“options”: {
“summarizationMethodAndPrompts”: {
“values”: {
“combineMapPrompt”: “=Write a concise summary of the following:\n\n\n" {{ $json.body.call.transcript }}"”
}
}
}
},
“type”: “@n8n/n8n-nodes-langchain.chainSummarization”,
“typeVersion”: 2.1,
“position”: [
160,
300
],
“id”: “19698a1a-f8d9-495e-9581-b7853d01571b”,
“name”: “Summarization Chain”
},
{
“parameters”: {
“model”: {
“__rl”: true,
“mode”: “list”,
“value”: “gpt-4.1-mini”
},
“options”: {}
},
“type”: “@n8n/n8n-nodes-langchain.lmChatOpenAi”,
“typeVersion”: 1.2,
“position”: [
340,
480
],
“id”: “8a7ff3ff-56e1-48e8-ba50-caaea0409d35”,
“name”: “OpenAI Chat Model”,
“credentials”: {
“openAiApi”: {
“id”: “jLQ2Yxj2ki8KBTlB”,
“name”: “OpenAi account”
}
}
},
{
“parameters”: {
“operation”: “appendOrUpdate”,
“documentId”: {
“__rl”: true,
“value”: “1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME”,
“mode”: “list”,
“cachedResultName”: “Turning 65 Medicare Leads”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME/edit?usp=drivesdk”
},
“sheetName”: {
“__rl”: true,
“value”: 1612945578,
“mode”: “list”,
“cachedResultName”: “Uncontaced”,
“cachedResultUrl”: “https://docs.google.com/spreadsheets/d/1Vmdf33bHlZo8qziC8RPWo0MdFsHFXMn8BY95SYf_2ME/edit#gid=1612945578”
},
“columns”: {
“mappingMode”: “defineBelow”,
“value”: {
“First Name”: “=”,
“Notes”: “={{ $json.response.text }}”,
“Email”: “={{ $(‘Webhook’).item.json.body.call.retell_llm_dynamic_variables.email }}”
},
“matchingColumns”: [
“Email”
],
“schema”: [
{
“id”: “Date Submitted”,
“displayName”: “Date Submitted”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “First Name”,
“displayName”: “First Name”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Last Name”,
“displayName”: “Last Name”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Best Time”,
“displayName”: “Best Time”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Phone”,
“displayName”: “Phone”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Email”,
“displayName”: “Email”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
},
{
“id”: “Zip”,
“displayName”: “Zip”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Date of Birth”,
“displayName”: “Date of Birth”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Confused About”,
“displayName”: “Confused About”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Parts A & B”,
“displayName”: “Parts A & B”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true
},
{
“id”: “Notes”,
“displayName”: “Notes”,
“required”: false,
“defaultMatch”: false,
“display”: true,
“type”: “string”,
“canBeUsedToMatch”: true,
“removed”: false
}
],
“attemptToConvertTypes”: false,
“convertFieldsToString”: false
},
“options”: {}
},
“type”: “n8n-nodes-base.googleSheets”,
“typeVersion”: 4.6,
“position”: [
560,
300
],
“id”: “31abaf2e-5e01-405d-9a9d-99b18537fa99”,
“name”: “Append or update row in sheet”,
“credentials”: {
“googleSheetsOAuth2Api”: {
“id”: “1B9RawYkOwxtC6Vc”,
“name”: “Google Sheets account”
}
}
},
{
“parameters”: {
“path”: “957c0768-fda3-42e4-b17d-f56376d5d48d”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2,
“position”: [
-60,
300
],
“id”: “8391d1e5-e253-4765-a570-ed0a81c06a04”,
“name”: “Webhook”,
“webhookId”: “957c0768-fda3-42e4-b17d-f56376d5d48d”
}
],
“pinData”: {},
“connections”: {
“When clicking ‘Execute workflow’”: {
“main”: [
[
{
“node”: “Get row(s) in sheet”,
“type”: “main”,
“index”: 0
}
]
]
},
“Get row(s) in sheet”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
},
“OpenAI Chat Model”: {
“ai_languageModel”: [
[
{
“node”: “Summarization Chain”,
“type”: “ai_languageModel”,
“index”: 0
}
]
]
},
“Summarization Chain”: {
“main”: [
[
{
“node”: “Append or update row in sheet”,
“type”: “main”,
“index”: 0
}
]
]
},
“Webhook”: {
“main”: [
[
{
“node”: “Summarization Chain”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“active”: true,
“settings”: {
“executionOrder”: “v1”
},
“versionId”: “8e039346-6185-4b8c-acaf-ace974e67284”,
“meta”: {
“templateCredsSetupCompleted”: true,
“instanceId”: “6938850395f6682fc0ade20aeaa1800ca6b26623834269d253adb3d6607f3ac6”
},
“id”: “bsm2uiAy3wajdeGK”,
“tags”:
}

Hey @seansmohr hope all is good.

Based on the retell documentation the call that is being made is POST, while your workflow is setup to accept GET request. You may need to change the http method in the webhook configuration from GET to POST.

Also make sure you are using the correct webhook url - for testing or for production. If testing (one time flow activation/debugging), provide the testing webhook url to retell, otherwise use the production link,

Hi there @seansmohr , i checked your workflow, try changing the webhook method to POST, make sure the URL is correct, if for test URL, you need to execute the workflow manually first for it to listen to events, if its production workflow, you need to activate the workflow first

hope this helps

Hi

Thanks for the help. I changed the webhook from Get to Post and put the production link in retell. How do I activate the workflow? May be a stupid question but my webhook is still not pulling the data

Hey @seansmohr

this is where you activate the workflow


the toggle needs to be on the right and the text needs to say “Active” in green.

There should be a toggle on the top right, right next to the share button, you can toggle that and try it out, it should be active after that

Got it. It is active. Still not pulling for some reason. I really don’t know what to do haha

Do you see anything under the execution log indicating the call failed or even happened?

Does retell have any logs as to what happened with the request sent to the n8n webhook?

What URL did you paste into the retell’s Agent Level Webhook URL field?

you are using the function node in retell right?

have you make sure that what you put in here is the same with the url and the method of your own webhook?

or like, give me the step on how you set it up in retell so i can understand better

@seansmohr Have you been able to resolve this? I’ve been having the same issue and even after trying out everything suggested, it’s still not pulling the transcript. All I’m seeing is access token.

Could you please share how to fix the ‘no transcript problem?’ I’ve tried everything suggested herel changed the node from test to production, added the right webhook link, made workflow active, literally everything, and I’m still not getting any transcript with the data I get from the webhook in n8n. Please see the attached image. I’ve been at it since monday, literally tried everything I can find

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