Help on creating Instagram automatic DM responses with InstantDM + n8n

Hey everyone,

I have been trying to set up an automated Instagram DM workflow and wanted to share what I found in case others are going through the same thing.

What I was trying to do

I wanted to automatically send a DM to anyone who comments a specific keyword on my Instagram posts. The end goal was to deliver a free resource link without having to manually reply to every comment.

The problem with building it from scratch in n8n

I spent a few hours trying to piece together a native Instagram trigger in n8n and kept running into the same wall. Instagram’s API does not give you a straightforward webhook for comment events unless you have an approved app with the right permissions. Getting through that review process takes time and is not guaranteed for smaller setups.

What actually worked

I ended up pairing n8n with InstantDM for the Instagram side of things. InstantDM handles the comment trigger and the initial DM natively since it already has the Meta API integration sorted. Then I used n8n to handle everything downstream, logging leads to a Google Sheet, tagging contacts in my CRM, sending a notification to Slack when someone responds.

The Workflow

[Instagram Post]
      |
      | User comments keyword (e.g. "FREE")
      v
[InstantDM]
      |
      | Detects keyword trigger
      | Sends automated DM instantly
      v
[Webhook Node in n8n]
      |
      | Receives contact payload
      | { name, instagram_handle, comment, timestamp }
      v
[IF Node] ── Is this a new lead? ──> [YES] ──> [Google Sheets]
      |                                              | Logs lead details
      |                                              v
      |                                        [HTTP Request Node]
      |                                              | Adds to email sequence
      |                                              v
      |                                        [Slack Node]
      |                                              | Notifies team
      |
      └──> [NO] ──> [Update Sheets Row]
                         | Updates existing contact record
                         v
                   [End Workflow]

Node by node breakdown

Webhook Node: Receives the payload from InstantDM whenever a trigger fires. Set it to POST and copy the webhook URL into InstantDM’s integration settings.

IF Node: Checks whether the Instagram handle already exists in your Google Sheet. Prevents duplicate leads from being added if someone comments more than once.

Google Sheets Node: Logs the name, handle, comment text, and timestamp for every new lead. Useful for tracking volume and following up manually if needed.

HTTP Request Node: Hits your email platform’s API, whether that is Mailchimp, ConvertKit, or ActiveCampaign, to add the contact to a welcome or nurture sequence.

Slack Node: Sends a quick notification to your team channel so someone can follow up personally if the lead looks high intent.

The basic flow I ended up with

Instagram comment triggers DM via InstantDM, InstantDM webhook fires to n8n, n8n logs the contact details, n8n adds the lead to an email sequence, Slack notification goes to my team.

Would love to know if anyone has done this differently

Has anyone managed to get native Instagram comment webhooks working directly in n8n without a middleware tool? Or is pairing with a dedicated Instagram automation layer the cleaner approach at this point?

Happy to share my n8n workflow JSON if anyone wants to build on top of it.