Workflows
Blocks
Triggers
Instagram Business Trigger

Instagram Business Trigger

What it does: Fires your workflow in real time whenever something happens on your Instagram Business account — new DMs, comments on posts, story mentions, reactions, and more.

🎯

Built for creators and businesses. Accounts that get hundreds of DMs per day can use the keyword filter to only fire workflows for real leads (e.g. messages containing "buy", "pricing", "collab") while ignoring the rest.

When to Use This

Use the Instagram Business Trigger when you need to:

  • ✅ Reply automatically when someone comments on your post
  • ✅ Capture DM leads and route them to your CRM
  • ✅ Get notified in Slack when someone mentions you in a story
  • ✅ Screen collab or partnership requests with keyword filters
  • ✅ Moderate comments by piping them through an AI sentiment checker
  • ✅ Auto-acknowledge messages with a typing indicator + instant reply

Example: Someone DMs you "pricing?" → the trigger fires → your workflow sends a custom pricing reply instantly.

Supported Events

Direct Messages

EventWhat it captures
messagesIncoming DMs — text, images, videos, voice messages, story replies, and edited messages
messaging_postbacksButton clicks inside DMs (quick replies, ice breakers)
messaging_seenRead receipts when you view a message
message_reactionsEmoji reactions on messages
💡

Edited messages: When a user edits a DM, Meta delivers a message_edit event. The trigger automatically enriches it with the sender info and updated text via the Conversations API, then delivers it as a messages event so your workflow handles it the same way as a new message.

Engagement

EventWhat it captures
commentsComments on your feed posts and reels
live_commentsComments during your live broadcasts
mentionsWhen someone @mentions your account in their story or caption

Insights

EventWhat it captures
story_insightsStory metrics delivered after a story expires (impressions, reach, taps)
⚠️

Development Mode Restriction: In Development mode, webhook events are only delivered for users who have authorized your Meta app. Events from other users are silently dropped by Meta. To receive events from all users, your app must go Live via Meta App Review.

Prerequisites

Before you can use this trigger, you need:

  1. An Instagram Business or Creator account (personal accounts are not supported)
  2. A Meta Developer App with the Instagram product added
  3. The following permissions on your app:
    • instagram_business_basic
    • instagram_business_manage_messages
    • instagram_business_manage_comments
  4. A verified Callback URL in your Meta App Dashboard (the platform provides this)

Setup Guide

Step 1 — Create or Connect Credentials

  1. Add the Instagram Business Trigger to your workflow
  2. In the trigger settings, click Select CredentialsCreate New
  3. Enter your Meta App's App ID and App Secret
  4. Click Connect with Instagram — complete the OAuth flow in the popup
  5. Your credentials are saved and your Instagram User ID is stored automatically

Step 2 — Get Your Callback URL and Verify Token

  1. In the trigger settings, click Get Setup Info
  2. The panel shows your Callback URL and Verify Token — copy both
  3. These are the same for all connected accounts on your platform (platform-level tokens)

Step 3 — Configure Webhooks in Meta App Dashboard

  1. Open your Meta App Dashboard → InstagramConfigure webhooks
  2. Paste the Callback URL from Step 2
  3. Paste the Verify Token from Step 2
  4. Click Verify and Save — Meta will make a GET request to confirm the URL works
  5. Subscribe to the fields you want: messages, comments, mentions, etc.
💡

Auto-subscribe: After verifying your webhook URL in the Meta App Dashboard, click Get Setup Info (or Refresh) in the trigger settings. The platform will attempt to auto-subscribe your Instagram account to the selected fields. If it succeeds, you'll see a green "Webhook registered" badge and no manual subscription is needed.

Step 4 — Select Events

In the trigger settings, check the events you want to subscribe to:

  • Direct Messages: messages, messaging_postbacks, messaging_seen, message_reactions
  • Engagement: comments, live_comments, mentions
  • Insights: story_insights

Step 5 — Save and Test

  1. Save your workflow
  2. From an authorized Instagram account (or a Test User account), send a DM or leave a comment
  3. Your workflow should fire and you'll see the execution in the workflow history

Configuration Reference

SettingDescription
CredentialsYour Instagram Business OAuth credentials (App ID + App Secret + connected account)
EventsWhich webhook fields trigger this workflow
Callback URLThe platform's public webhook endpoint — paste this in Meta App Dashboard
Verify TokenPlatform-level token — paste this in Meta App Dashboard (same for all accounts)
Keywords to matchComma-separated. Only fires if the message/comment contains one of these words
Keywords to excludeComma-separated. Drops events if the text contains any of these words
Ignore echoesWhen on (default), your own sent messages do not re-trigger the workflow

Output Variables

When the trigger fires, these variables are available to all downstream blocks:

Always Available

VariableDescription
{{trigger.type}}Event type — e.g. messages, comments, mentions
{{trigger.from}}Sender's Instagram-scoped user ID
{{trigger.fromUsername}}Sender's Instagram username
{{trigger.recipient}}Your Instagram Business account ID
{{trigger.text}}Message text, comment body, or postback title
{{trigger.messageId}}Unique ID of the message or comment
{{trigger.timestamp}}Unix timestamp of the event

For Comment / Mention Events (comments, live_comments, mentions)

VariableDescription
{{trigger.commentId}}ID of the comment — use with "Reply to Comment", "Hide Comment", "Show Comment"
{{trigger.mediaId}}ID of the post the comment was made on — use with "Get Comments"
{{trigger.fromUsername}}Username of the person who commented

For Message Events (messages)

VariableDescription
{{trigger.attachments}}Array of attachments (images, videos, audio, story replies)

Advanced

VariableDescription
{{trigger.count}}Total number of events in this webhook batch
{{trigger.events}}Full array of all events in the batch
{{trigger.rawPayload}}Complete Meta webhook payload for advanced use cases
💡

Tip for Comment Workflows: The {{trigger.commentId}} and {{trigger.mediaId}} variables are automatically set for comments events. Pass them directly into the Instagram Business Action block's "Reply to Comment" or "Get Comments" actions.

Common Use Cases

1. Keyword-Filtered Lead Capture

Configuration:

  • Events: messages
  • Keywords to match: buy, pricing, interested, rate card, collab

Workflow:

  1. Mark as Seen (Instagram Business action)
  2. Typing Indicator (Instagram Business action)
  3. Send Message: "Hi {{trigger.fromUsername}}! Thanks for reaching out..."
  4. HubSpot / CRM: Create Contact
  5. Slack: Notify sales team

2. Auto-Reply to Comments

Configuration:

  • Events: comments
  • Keywords to match: price, how much, link

Workflow:

  1. Reply to Comment: "Check your DMs {{trigger.fromUsername}}!"
  2. Send Message (DM): Full pricing details to {{trigger.from}}

3. Story Mention Acknowledgment

Configuration:

  • Events: mentions

Workflow:

  1. Send Message: "Hey {{trigger.fromUsername}}! Thanks for the mention!"
  2. Google Sheets: Log mention date + username

4. Comment Moderation

Configuration:

  • Events: comments

Workflow:

  1. AI Block: Analyze sentiment of {{trigger.text}}
  2. Condition: If spam/negative → Hide Comment + log to moderation sheet
  3. Condition: If positive → Reply to Comment with a thank-you

5. Multi-Language Auto-Response

Configuration:

  • Events: messages

Workflow:

  1. AI Block: Detect language of {{trigger.text}}
  2. AI Block: Generate reply in detected language
  3. Send Message: {{ai.reply}} to {{trigger.from}}

Best Practices

  • Use keyword filters to avoid firing workflows on every single DM — this saves execution credits and keeps your automation focused
  • Enable "Ignore echoes" (it's on by default) to prevent your own sent messages from looping back and re-triggering the workflow
  • Subscribe only to the events you need — subscribing to everything creates unnecessary noise and load
  • Test with authorized accounts first — in Development mode, only test users who completed OAuth can trigger events
  • Keep the webhook URL stable — if you change your domain, update the Callback URL in Meta App Dashboard immediately
  • Go Live for production — submit your app for Meta App Review to remove Development mode restrictions

Troubleshooting

Webhook not triggering

Check in order:

  1. Is your Callback URL verified in Meta App Dashboard? (Must show a green checkmark)
  2. Are the correct fields subscribed in Meta App Dashboard? (messages, comments, etc.)
  3. Is the test account a user who has authorized your Meta app? (Development mode restriction)
  4. Is the workflow saved and active?
  5. Is the Verify Token in Meta App Dashboard exactly matching what's shown in trigger settings?

"Webhook registered" badge not showing

Fix: Click Get Setup Info (or Refresh) in trigger settings after completing webhook verification in Meta App Dashboard. Auto-subscription requires the webhook URL to be verified first.

Events received but workflow not firing

Check:

  • Are the event types subscribed in Meta App Dashboard matching what's selected in the trigger settings?
  • Do you have keyword filters set that are filtering out your test messages?
  • Is "Ignore echoes" enabled but you're testing with your own account's messages?

"Verify Token does not match"

Fix: Copy the Verify Token directly from the trigger settings (use the Copy button). Do not type it manually — even a single space difference will fail verification.

Getting events but wrong variable values

Check: Use {{trigger.rawPayload}} to inspect the full Meta webhook payload and verify what fields are present for your specific event type.

Limitations

  • Development Mode: Events only delivered for users who authorized your Meta app
  • Webhook delivery: Meta delivers events asynchronously — there may be a delay of a few seconds
  • story_insights: Delivered after the story expires (24 hours later), not in real time
  • Batch delivery: Meta may batch multiple events in one webhook call — {{trigger.count}} tells you how many
  • No polling: This trigger is purely event-driven; it cannot poll for historical events
  • Edited messages (message_edit): Meta does not include sender info in edit events. The trigger automatically enriches them via the Conversations API, but this requires instagram_business_manage_messages permission and an active access token on the credential
  • Echo filtering: Your own outbound messages are filtered out by default (configurable via "Ignore echoes")

Related Blocks

  • Instagram Business Action: Reply to comments, send DMs, publish content from within your workflow
  • Condition: Route workflow logic based on event type or message content
  • AI Block: Analyze sentiment, classify messages, generate contextual replies
  • HubSpot / Salesforce / CRM: Log qualified leads automatically
  • Slack / Discord: Alert your team about important Instagram activity
  • Send Email: Follow up via email after Instagram interactions

Need Help?

Pro Tip: In Development mode, to test comments events, the person leaving the comment must have also completed the OAuth flow and authorized your Meta app. Add them as a Test User in your Meta App Dashboard first.

Indite Documentation v1.6.0
PrivacyTermsSupport