🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Instagram + Google Sheets: instant comment replies

Lisa Granqvist Partner Workflow Automation Expert

Instagram comments come in fast. Then you’re stuck copy-pasting the same answers, missing legit questions, and occasionally replying with the wrong link from last week.

Social media managers feel it first. But founders running their own accounts and small marketing teams get pulled into the same chaos. This Instagram comment replies automation keeps responses consistent and logs every interaction so you can actually follow up.

You’ll see how the workflow watches for new comments, matches keywords to an approved reply in Google Sheets, sends the response via Instagram’s API, then writes a neat CRM-style record back to a sheet.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Instagram + Google Sheets: instant comment replies

The Problem: Comment Replies Break as You Grow

Replying to Instagram comments sounds simple until you’re doing it all day, across multiple posts, with different offers and different “right” answers. One person replies from memory, another pulls text from an old Notion doc, and suddenly your brand voice is all over the place. Worse, good leads slip through because nobody sees the “price?” comment until hours later. It’s not just time. It’s the mental load of staying consistent while you’re being interrupted every few minutes.

It adds up fast. And the mess usually shows up in the same places.

  • Real questions get buried under spammy one-word comments, so the people who actually want to buy wait too long.
  • Approved messaging lives in someone’s head, which means replies drift as your team changes.
  • Manual replying makes reporting painful because you can’t easily answer “how many people asked for info this week?”
  • One missed comment can turn into a public thread that looks like you don’t pay attention.

The Solution: Auto-Reply from Google Sheets and Log Everything

This workflow turns your Google Sheet into a simple “reply library” for Instagram. When Instagram sends a webhook event for a new comment, n8n checks that the update is actually a comment (not some other event), then confirms it’s from another user (so you don’t accidentally reply to yourself). Next, it pulls your approved keyword-to-message pairs from Google Sheets and chooses the right response based on what the commenter wrote. Finally, it sends the reply through an HTTP request to the Instagram Graph API and writes an interaction record back into a second sheet for tracking and CRM follow-up. Clean, predictable, and honestly much easier to manage than a bunch of saved replies spread across devices.

The workflow starts with an Instagram webhook event. From there, n8n routes the update, validates the commenter, and looks up the matching reply in Google Sheets. Then it posts the response and logs the interaction so you can report on it later without guessing.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you average 40 comments a day across your posts and reels. Manually, even “quick replies” take about 1 minute each once you open the app, read context, paste the right message, and double-check the link, which is roughly 40 minutes daily. With this workflow, you spend maybe 10 minutes a week updating your Google Sheet responses, and the rest runs in the background. That’s about half an hour back most days, plus a clean log you can review when someone asks for a report.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Instagram Graph API (Meta) to receive comments and post replies.
  • Google Sheets for approved replies and interaction logging.
  • Meta access token (generate it in Graph API Explorer).

Skill level: Intermediate. You won’t code, but you will set up a Meta app, permissions, and webhooks.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

Instagram sends an event. When a new comment hits your account, Meta calls your n8n webhook with the update payload. There’s also a separate verification webhook that answers Meta’s “challenge” during setup, so subscription validation is handled automatically.

The workflow filters and validates. A routing step checks the update type so you only act on comment events. Then an “other user” check helps prevent accidental loops or weird self-replies.

Google Sheets decides the reply. n8n loads your reply table (keyword in one column, approved message in another) and uses it as the source of truth. Update the sheet, and future replies change without redeploying anything.

n8n posts the response and logs it. An HTTP request sends the chosen message back through the Instagram Graph API. Immediately after, a row is added to an interaction log sheet with timestamp, user info, and notes for reporting.

You can easily modify the keyword matching to include multiple triggers per message, or route different keywords to different sheets based on your campaigns. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Webhook Trigger

This workflow uses two webhook endpoints to receive Instagram comment events and complete the verification handshake.

  1. Add the Instagram Event Hook node and set HTTP Method to POST and Path to instagram.
  2. Add the Webhook Verification Intake node and set Path to instagram and Response Mode to Using Respond to Webhook Node.
  3. Connect Webhook Verification Intake to Return Verification Response and set Respond With to text and Response Body to {{ $json.query["hub.challenge"] }}.
  4. Connect Instagram Event Hook to Route Comment Updates as the main event stream.

Tip: Use the same instagram path for both webhook nodes so Instagram can validate and send comment updates to the same endpoint.

Step 2: Connect Google Sheets

Two Google Sheets nodes are used to retrieve predefined replies and log interactions.

  1. Open Retrieve Comment Replies and set Document to IG Comment Reply and Sheet to Sheet1.
  2. In Retrieve Comment Replies, add a filter with Lookup Column set to Comment and Lookup Value set to {{ $json.body.entry[0].changes[0].value.text.split()[0].toLowerCase() }}.
  3. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Comment Replies.
  4. Open Log Interaction to Sheet and set Operation to append, Document to IG Comment Reply, and Sheet to Interation List.
  5. Map columns in Log Interaction to Sheet with these values: Time = {{ $('Route Comment Updates').item.json.body.entry[0].time }}, User Id = {{ $('Route Comment Updates').item.json.body.entry[0].changes[0].value.from.id }}, Username = {{ $('Route Comment Updates').item.json.body.entry[0].changes[0].value.from.username }}, Note = {{ $json?.error.message }}.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials in Log Interaction to Sheet.

⚠️ Common Pitfall: Ensure the sheet names match exactly (Sheet1 and Interation List) or the Google Sheets nodes will fail to find the worksheets.

Step 3: Set Up Processing and Routing

Route only comment events and filter out internal/own comments before fetching a reply.

  1. In Route Comment Updates, create a rule where Left Value is {{ $json.body.entry[0].changes[0].field }} and Right Value is comments, with the output renamed to Comment.
  2. Connect Route Comment Updates to Validate External Commenter.
  3. In Validate External Commenter, set a condition where Left Value is {{ $json.body.entry[0].id }} and Right Value is {{ $json.body.entry[0].changes[0].value.from.id }} with operator notEquals.
  4. Connect Validate External Commenter to Retrieve Comment Replies.

Step 4: Configure Output and Reply Actions

This step sends the Instagram reply and logs the interaction to Google Sheets.

  1. Connect Retrieve Comment Replies to Dispatch Comment Reply, then connect Dispatch Comment Reply to Log Interaction to Sheet.
  2. In Dispatch Comment Reply, set URL to https://graph.instagram.com/v23.0/{{ $('Route Comment Updates').item.json.body.entry[0].id }}/messages.
  3. Set Method to POST, Send Body to true, and Body Content Type to json.
  4. Set the JSON Body to { "recipient": { "id": "{{ $('Route Comment Updates').item.json.body.entry[0].changes[0].value.from.id }}" }, "message": { "text": "{{ $json.Message }}" } }.
  5. Credential Required: Connect your httpHeaderAuth credentials in Dispatch Comment Reply.

Tip: Ensure the reply message is stored in a Message field in your Google Sheet so Dispatch Comment Reply can use {{ $json.Message }}.

Step 5: Test & Activate Your Workflow

Verify that the workflow processes Instagram comment events and logs successful replies.

  1. Click Test Workflow and send a test Instagram comment event to the Instagram Event Hook URL.
  2. Confirm that Route Comment Updates routes only comments events and Validate External Commenter filters out your own account.
  3. Verify that Dispatch Comment Reply sends a response and Log Interaction to Sheet appends a new row with Time, User Id, Username, and Note.
  4. When testing is successful, switch the workflow to Active for production use.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Meta (Instagram Graph API) tokens expire or lose permissions after app changes. If replies suddenly stop, check your access token status in Meta’s developer dashboard and refresh it first.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Google Sheets column names and sheet tabs must match what the workflow expects. If “no reply found” shows up in the log, confirm the keyword and message columns haven’t been renamed.

Frequently Asked Questions

How long does it take to set up this Instagram comment replies automation?

Plan for about 60 minutes if your Meta app is new.

Do I need coding skills to automate Instagram comment replies?

No. You’ll mostly be connecting accounts and pasting in the right API details from Meta.

Is n8n free to use for this Instagram comment replies workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Meta/Instagram API access (usually $0, but your app must be approved with the right permissions).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this Instagram comment replies workflow for multiple brands or campaigns?

Yes, but keep it simple: add a “Campaign” or “Brand” column in Google Sheets, then filter which rows are used based on the Instagram account or a keyword group. Many teams also maintain separate tabs per brand and point the “Retrieve Comment Replies” step at the right tab. You can also change the outgoing message format (for example, add a tracked link) inside the HTTP Request that posts the reply.

Why is my Instagram connection failing in this workflow?

Usually it’s an expired access token or missing permissions like instagram_manage_comments in your Meta app. Regenerate the token, update it in n8n, and confirm your webhook subscription is still active. If it fails only during busy periods, you may be hitting rate limits, so logging the raw error message into your interaction sheet helps you spot the pattern.

How many comments can this Instagram comment replies automation handle?

If you self-host, there’s no hard execution limit (it depends on your server), and most small businesses can handle hundreds of comments a day without thinking about it.

Is this Instagram comment replies automation better than using Zapier or Make?

Often, yes. This setup needs webhook handling, branching logic (only respond to certain updates), and a clean logging step, which is where n8n tends to feel more flexible. Self-hosting is also a big deal if you expect lots of executions because you’re not paying per tiny step. Zapier or Make can still work for lighter setups, but Instagram Graph API edge cases can get annoying in “simpler” builders. Talk to an automation expert if you want help choosing without overbuilding.

Once this is running, your replies stay consistent and your log stays updated, even on the days you’re busy launching something else. Set it up, test it, and let your comment section stop being a daily fire drill.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal