Triage Instagram DMs into Slack every 15 minutes

Every 15 minutes, sort new Instagram DMs into the right Slack channel with a summary, a classification, and a drafted reply you can copy-paste.

Agentic Task
InstagramSlack BotCustomer SupportSalesMarketingFeedback TriageNotifications & AlertsLead Enrichment
PromptCreate

Build me an agent workflow that triages my Instagram Direct inbox and routes the important threads into Slack so nothing gets lost. I do NOT want it to auto-reply on Instagram. Its only job is to summarize, classify, and draft a reply that a human on my team will send from Instagram themselves.

Trigger: run on a cron every 15 minutes.

On each run, use the Instagram integration's List Direct Conversations operation to pull recent DM threads for my Business or Creator account. Compare each thread's updated_time against the last-seen timestamp the workflow saved on the previous run, and only process threads that have new activity since then. Track the latest updated_time you have surfaced in workflow memory (or a similar per-workflow state) so the next run does not repost the same threads. On the first-ever run, only consider threads updated in the last hour so we do not flood Slack with backlog.

For every thread with new activity, read the sender handle and the recent messages available on the conversation object, then classify the thread into exactly one of these buckets:

- sales_lead: asking price, availability, wholesale, custom orders, sizing, restock, or clearly evaluating a purchase.
- support: broken product, missing/late shipment, refund/return, complaint about an existing order.
- partnership: brand collab pitch, affiliate/creator outreach, sponsorship, agency reaching out.
- vip_or_press: verified/large accounts, journalists, notable creators mentioning the brand, or clearly high-signal mentions.
- noise: fan mail, emojis, one-word replies, spam, obvious bots. These get skipped and are not posted to Slack.

For every non-noise thread, use the Slack Bot integration's Send a Message operation to post to the matching channel. Default routing (make these configurable at setup):

- sales_lead → #sales-inbound
- support → #cx-instagram
- partnership → #brand-collabs
- vip_or_press → same as partnership channel by default, plus @-mention a designated Slack user I configure at setup.

Each Slack message should be formatted with Slack mrkdwn and include:

1. A header line with the sender's Instagram handle and the classification (e.g. *@sarah.knits* • sales lead).
2. The last 2 to 3 message excerpts from the thread, most recent last, quoted so the human can read the context in one glance.
3. A one-line reason for the classification (e.g. "Asking about wholesale pricing for 50+ units").
4. A drafted reply, clearly labeled "Draft reply (copy/paste into Instagram):" so nobody thinks it was sent. Match the tone of a small, friendly brand — no corporate boilerplate.
5. A link back to the Instagram thread using its permalink (or a direct.instagram.com URL built from the thread id) so the human can jump straight to the inbox.

Rules the agent must respect:

- Never call the Instagram Send Direct Message operation. This workflow is triage and drafting only.
- Skip noise silently. Do not post "nothing new" messages to Slack.
- If the same thread has multiple new messages since the last run, post it once with the combined context, not once per message.
- If Instagram returns a rate-limit or auth error, stop gracefully and try again on the next 15-minute tick — do not retry in a tight loop.

At setup, ask me for: the destination Slack channel for each of the four non-noise categories, the Slack user handle to @-mention for VIP/press, and the brand voice to use when drafting replies (a couple of sentences describing tone is enough).

Additional information

What does this prompt do?
  • Checks your Instagram Direct inbox every 15 minutes for threads with new messages since the last run.
  • Classifies each active thread as a sales lead, support issue, partnership pitch, VIP or press mention, or noise.
  • Routes the thread to the right Slack channel with the sender handle, the last few message excerpts, a one-line reason for the classification, and a link back to Instagram.
  • Includes a drafted reply for a human to review and send. Nothing is sent to the customer automatically.
What do I need to use this?
  • An Instagram Business or Creator account connected to your Facebook Page.
  • A Slack workspace with channels for sales, customer support, and partnerships (or whatever splits make sense for your team).
  • A named person on the team who should be pinged for VIP or press mentions.
How can I customize it?
  • Change how often it runs (every 5 minutes for high-volume brands, hourly for smaller inboxes).
  • Rename the destination Slack channels or add new categories such as returns, bulk orders, or influencer gifting.
  • Adjust the rules the agent uses to decide what counts as a sales lead versus noise, and who gets pinged for VIP threads.

Frequently asked questions

Will this auto-reply to my customers on Instagram?
No. The agent only reads threads, classifies them, and posts a drafted reply into Slack for a human to review. Nothing is sent back to the customer without you clicking send in Instagram.
Does it work with a personal Instagram account?
No. Instagram only exposes Direct messages through the API for Business and Creator accounts that are linked to a Facebook Page. Switching your account to a professional account is a free change inside the Instagram app.
How does it avoid pinging Slack about the same thread twice?
The agent remembers the last time it saw each thread and only surfaces threads that have new activity since the previous run. Old threads that have not changed are skipped.
Can I route to different Slack channels than the defaults?
Yes. Tell the agent which channel each category should go to when you set it up, and it will use those. You can also add new categories or send certain classifications as a direct message to a specific teammate.
What happens to fan mail and one-word replies?
They are classified as noise and skipped so your Slack channels stay focused on threads that actually need a human response.

Stop losing sales leads in the Instagram inbox.

Connect Instagram and Slack once, and every 15 minutes the important DMs land in the right channel with a drafted reply ready to send.