Skip to main content

Hello everyone!

I’m building an Instagram Direct agent: ManyChat (Instagram Direct Messages) → External Request → n8n → reply to the user.

 

What’s happening (the issue)

 

  1. A user messages us in IG DM.

  2. ManyChat triggers an External Request (webhook to n8n) and immediately sends a message to the user, but it’s an old value (looks like it’s pulled from a custom field from a previous run).

  3. A few seconds later, n8n finishes processing and produces a new reply (I can see the correct text in the output of the last n8n node).

  4. But the user doesn’t receive anything else — they only get the early “old” message that was sent before the webhook completed.

 

How can I force ManyChat to wait for the webhook response (External Request) so the Send Message uses the updated value? Is there a reliable way to make the flow pause “synchronously” between External Request and the following blocks?

Hi, ​@lvshts!

 

Just set a Smart Delay step between your External Request and the answer/message with the custom field that receives the response.

That should do the trick. 😉

 

It is also important to remember that Manychat has a 10sec timeout for external requests. So keep an eye on your n8n automation processing time to stay under that time.
If it takes more than 10sec to respond, you have to use Manychat's API to set the custom field value asynchronously and set the smart delay to more time.


Reply