Need Help Adding Delay Between Agent Calls to Avoid OpenAI Rate Limits

Hello n8n Support,

I’m currently using the AI Agent node in n8n to interact with OpenAI’s GPT-4o model. The agent is working with a very large prompt (including extensive context and 37 dynamic instructions from external tools), which causes the token usage to spike significantly on each request.

As a result, I’m regularly hitting the OpenAI rate limit :
OpenAI: Rate limit reached for gpt-4o in organization [...] on tokens per min (TPM): Limit 30000, Used 20191, Requested 22443 .

Unfortunately, I cannot place a delay between the Agent and the language model inside the AI Agent setup. While I’ve tried adding a custom wait_Tool , the agent only calls it inconsistently, and not on every execution, even when prompted to do so.

I also explored the “Wait Between Tries (ms)” option in the Agent settings, but it maxes out at 5000ms , and increasing it further is not allowed via the UI.

My question is:

How can I reliably introduce a longer delay (e.g. 10–30 seconds) between Agent executions or before each call to the OpenAI model (inside AI Agent), to stay within the rate limits — especially when using large prompts and multiple tool calls?

Any suggestions or workarounds would be greatly appreciated.

Best regards,

Information on your n8n setup

  • **n8n version:**Version 1.88.0
  • Database (default: SQLite): PostgreSQL
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: cloud server Render

You can manually add a Wait node before the AI Agent call:

  • Connect the Wait node right before the AI Agent node.
  • Set the delay to “Static” and choose a duration between 10 to 30 seconds.

Yeah, but it doesn’t make any sense. The problem is that AI Agent make many requests to different tool and analyze response in Chat Model, and there are no settings or chance to add any pause between requests inside AI Agent. We are talking about wait\pause inside AI Agent, not in flow before, or after.

you could call another workflow as a tool, and put wait on that flow that workflow u call?

Actualy I did, I add a code node as a tool. It works like wait tool. In promt I add an instruction to call this tool every time when making other tools calls. But it works bad, because AI model ignore my rule and don’t use this tool every time. I see that I need to do every my tool as a workflow with wait node, and do not use tools derectly. Not perfect solution, but I can’t find better.