OpenAI (ChatGPT) node returns generic / N/A JSON in n8n, but same prompt works perfectly in ChatGPT UI

Hi everyone,

I’m building a cold-calling research workflow in n8n and I’m running into a confusing issue with the OpenAI (ChatGPT) node that I can’t seem to resolve.

Workflow (very simple)

  • Manual Trigger

  • Google Sheets (1 row at a time)

  • OpenAI Chat Model node

No extra parsing or transformations.


The problem

I’m using a prompt that works perfectly when I run it directly in the ChatGPT UI (chat.openai.com), but when I use the exact same prompt inside the n8n OpenAI node, the output becomes very generic and full of "N/A" values.


Example

Prompt intent

Research a real business and return structured JSON with:

  • Design project / business name

  • Focus area

  • Social media platform, activity level, and followers


Result in ChatGPT UI (correct, detailed, fact-checked)

{
  "Design Project": "7 Plates Cafe - Chicago, IL",
  "Focus Area": "Hospitality & Commercial Interior Design",
  "Social Media Presence": {
    "Platform": "Instagram",
    "Activity Level": "High",
    "Followers": "Approx. 6.9K+"
  }
}

This output is accurate and matches real-world data.


Result in n8n OpenAI node (same prompt)

{
  "Design Project": "N/A",
  "Focus Area": "Interior Design",
  "Social Media Presence": {
    "Platform": "Twitter",
    "Activity Level": "Low",
    "Followers": "N/A"
  }
}

This happens consistently across different businesses.


What I’ve already checked

  • Tried different models (GPT-4 / GPT-4o)

  • Adjusted temperature

  • Tested JSON vs text output

  • Confirmed prompt content is identical

  • No output parsers or extra nodes involved


Question

Is there a known difference in:

  • Inference behavior

  • Entity resolution

  • Or safety defaults

between the ChatGPT UI and the OpenAI API used by n8n, that would cause the model to return conservative "N/A" placeholders unless explicitly instructed otherwise?

If so, is there a recommended way in n8n to:

  • Enable more confident inference, or

  • Match ChatGPT UI behavior more closely for research-style prompts?

Any guidance or examples would be greatly appreciated :folded_hands:

Hi @Oliver_Beier Have you tried using the AI Agent node with OpenAI model and Google Sheets connected a tool?
You can use an output format JSON as an example that would help you achieve the same output as you are expecting in the OpenAI Node, hope this helps.

thank you for quick answer but im Really confused about this

i don’t know what to do

1 Like

@Oliver_Beier its simple just remove that Get Row node and add a tool to the AI Agent node that will Get Rows. Something like this:

This is an example image of the workflow don’t mind the error it’s not mine.

[EDIT]:

Your current setup is not aligned with the requirements AI Agent needs to fulfill your query:

Your workflow should be like:

And this would make the AI agent fetch the Rows of the sheet and would be able to help you answer any query corresponding to the Excel sheet, Hope this helps.

1 Like

Hi Anshul,

Thanks for the support! Here are the challenges I’m facing right now:

  1. AI Agent Prompt Issue
    When I run the workflow, it stops at the AI Agent and says:

    “No prompt specified. Expected to find the prompt in an input field called ‘chatInput’ (this is what the Chat Trigger node outputs). To use something else, change the ‘Prompt’ parameter.”

I’m not sure how to fix this.

  1. Manual Input Concern
    ChatGPT suggested that I need to paste the website, social media links, etc., into the Chat Trigger each time for the AI Agent to use it.

    • Is that correct?

    • If I have a Google Sheet with 200 prospects, I don’t want to manually copy/paste each time.

  2. Processing Large Sheets / Avoiding Duplicates
    If I run the system once and it processes 100 prospects, how can I ensure the next run starts at the next 100 and doesn’t repeat the same ones?

The Focus Right now is just Getting the System to Work.

Thank you in advance for any guidance — I really appreciate your help!

For the chat trigger to work you need to use the chat trigger, or you can define by a diffrent prompt by clicking on the connect chat trigger node dropdown @Oliver_Beier

Hi @Oliver_Beier Your concerns are right that about the processing large sheets, for the error just add a Chat Input Trigger to your workflow if it is already present consider refreshing the AI Agent node by toggling between options for AI prompt, and for the processing large sheets AI Agent can you can specify this in the system prompt and it will adapt to it.

If your website,social media links and etc, are available in the sheets the AI Agent can fetch it without any overhead of you having to manually enter data every time, and for the system to work just refresh or connect the Chat Input Trigger to the AI Agent node that would make it work , let me know if you need any help!

Hi all,
@Oliver_Beier, the issue is that no prompt is specified:

You just need to edit the option: Source for Prompt (User Message) > define below:


Then write your prompt, whether it’s fixed text or an expression that references previous node fields..

1 Like

Hey mohamed3nan Now i have tired to Change that now it say this.

This is my Workflow i think im doing Somthing Wronge.

thank you in advance

open the OpenAI node and remove all Options including this:

i do not think you need that..

Hi :slightly_smiling_face: Thanks for your reply. I’ve tried the things you suggested (adding/refreshing the Chat Input Trigger, reconnecting it to the AI Agent, and refreshing/toggling the AI Agent node), but unfortunately it’s still not working and I’m not sure what I’m missing or what I should do next.

All my website and social media links are already inside Google Sheets, so I expected the AI Agent to just fetch them automatically. From what you describe it sounds quite simple — like it should just be a matter of sending the prompt — but I can’t get it to work in practice.

Could you maybe explain more step-by-step what I should check or change? Thanks :slightly_smiling_face:

This is is my Workflow Right now.

Hey mohamed3nan

im in the OpenAI Chat Model and i don’t see anything in those boxes

and this is the AI agent itself and that has a prompt in it

and this is the error im getting.

@Oliver_Beier with the error i could say that the CHAT model you are using does not work and gives a bad request, is your n8n instance on the latest version? Yes you are close with that one, just i would recommend try switching to gemini models and see how well it works! Let me know what works.

remove it pls

Hey — I think something worked, but I’m not totally sure.

You can see in the chat that it provided some information about the company. I just have two questions:

First, I fact-checked the information, and it’s not completely accurate or as detailed as I expected. For example, instead of saying “Focus area: interior design,” I would prefer something more specific, like “residential hospitality interior design.” It also mentioned “interior design funding,” which isn’t correct. I noticed it used 73,000 tokens — is that a lot, and if so, is there a way to reduce that?

Second, I checked my Google Sheets, and although it pulled some information, it didn’t write anything back into the “Prospect Note” column where I wanted it to.

@Oliver_Beier Your OpenAI node worked out and that is why everything started running as expected.

Your issue with the incorrect information might be aligned with your system prompt & AI prompt, and your token usage is clearly the result of the AI agent fetching 412 rows from the google sheets, you can regulate that in the node settings, and as for your ‘didnt write anything’ it is because you did not gave the AI agent enough tools so that it could write something, your AI agent part should look like this to align with your read and write requests.

This would help you achieve your goal.

Hey Anshul_Namdev

Problems I’m seeing

  1. The AI returns the company name instead of a real design project
    Even when I pass the company website URL, the “Design Project” field often just repeats the business name.
    From what I can tell, this happens because:

    • The AI only receives the URL as text

    • It does not actually fetch or crawl the website

    • Portfolio pages usually live on /portfolio, /projects, /work, etc., not the homepage

    In contrast, ChatGPT UI seems to automatically follow these links, but the n8n AI Agent obviously does not unless I explicitly build that logic.

  2. Prompt vs tooling mismatch
    My prompt says things like:

    “Extract a completed design project from the company’s website / portfolio”

    But unless I:

    • Fetch the website HTML with an HTTP Request (or scraper)

    • Discover and request /portfolio or /projects

    the AI has no real data to work with and either guesses or falls back to the company name.

@Oliver_Beier Oh if that is the problem than you need to fetch/extract some website’s data just give your AI Agent an MCP tool and add FireCrawl credentials there, i use firecrawl a lot and it works really well and is pretty reliable at scale. Let me know if you want any further assistance.

Hey Anshul_Namdev,

I’m a bit confused and not sure how to set this up. Could you explain the process to me?

Also, I came across these videos and was wondering if it might be possible to modify them for what I’m trying to do, as they seem somewhat similar.

Video Link:https://www.youtube.com/watch?v=tDVAQJoF-Pk

Video Link: https://www.youtube.com/watch?v=r3AHsO48ryw

Thanks in advance for your help!

Best regards,

1 Like

Let me simplify firecrawl for you @Oliver_Beier:

First all you need is an free API key from here:

And once you have the API key you either can use FireCrawl’s community node for easier integration i would recommend this or you can also use MCP node, below is a workflow showing both of them:

And so it would be very easier for you crawl any webpage and it will return all the context in a markdown format for you, it is really easy and will feel very seamless once you have firecrawl API.