Instagram Tools

Direct Message (DM) Tool

Last updated June 18, 2026 · 17 min read

Video Tutorials

🧠 Overview

The Direct Message Tool automates personalized one-to-one conversations on Instagram across five distinct modes: welcome DMs to new followers, hand-picked outreach to specific accounts, pre-paired campaign sends, scripted reply sequences, and real-time AI live chat across the entire inbox.

Built for IGBot users who want to turn followers and prospects into real conversations — without sounding robotic, without manual sending, and without burning the account on DM blocks.

💡 Strategic Purpose: DM is the highest-converting Instagram action and the highest-risk. The DM Tool is built around five independently-throttled modes so a conservative welcome flow can run alongside a targeted outreach campaign without sharing risk budget across them.


🚀 Key Features

  • Five Independent DM Modes — New Followers, Specific Accounts, Targeted Campaign (pre-paired), Reply to DMs (turn-by-turn), and AI Live Chat (real-time inbox sweep).
  • Each Mode Has Its Own Daily Cap — Modes throttle independently and don’t share daily budget at the cap level (delay and batch settings are shared via DM Action).
  • Per-Mode Custom GPT Prompts — Customize the AI tone, length, and language separately for every mode that supports [AI].
  • Three AI Providers — OpenAI (with optional custom Assistant), Cupid AI, and FluidTalk.
  • Pre-Paired Campaign Mode — CSV-uploadable list of username + unique message rows for true one-to-one outreach at scale.
  • Turn-by-Turn Reply Scripting — Each reply step waits for the user to respond before sending the next, so the bot follows the user’s pacing instead of forcing a script.
  • AI Live Chat Mode — Sweeps every unread conversation with contextual AI replies; AI remembers each conversation across sessions.
  • Warm-Up Before DM — Optional pre-DM browsing pattern (follow + like + story view) on Specific Accounts and Campaign modes to simulate a real person discovering the target.
  • Skip-Existing-Thread Protection — Every mode can skip targets you’ve already DMed.
  • Multi-Bubble Sends — Each line of a template can be sent as its own message bubble for natural pacing.

💡 Strategic Purpose: Independent throttling per mode lets a low-risk welcome flow run at 5–10/day while a separately-capped outreach campaign runs at 10–15/day, without one mode’s load eating into the other’s safety margin.


⚠️ Critical: DM Is Instagram’s Most Blocked Action

DM blocks fire faster and harder than any other Instagram automation surface. Even small overuse triggers a temporary restriction. Once flagged, the account often stays DM-restricted for 7–14 days even after stopping all activity.

Start with a daily limit of 5–15 on fresh accounts and only grow it over a week. Use AI text, multi-line bubble sends, and generous delays. Treat the DM Action delay settings as the floor, not the target.


⚙️ Access the DM Tool

  1. Add your account in IGBot.
  2. Click the SETTINGS button beside your account.
  3. Navigate to the DM tab.

⚠️ DM will not fire without at least one Mode enabled. Pick a mode, configure its message and cap, then turn on the master toggle.


🔧 DM Configuration

Master Toggle

  • Enable Direct Message — When on, the bot sends DMs using any DM modes enabled below. When off, no DM activity regardless of mode toggles.

Mode · DM New Followers

Automatically message users as soon as they follow this account. Perfect for welcome / onboarding messages.

  • Enable DM to new followers — Tracks who follows this account and sends them a DM on the next run.
  • Compose Welcome Message — Edit the text sent to new followers. Supports spintax ({a|b|c}) and the [AI] placeholder.
  • Custom GPT Prompt — Override the default AI prompt used for new-follower messages. Useful when you want a specific tone, length, or language for welcome DMs without affecting other modes.
  • Skip if a DM thread already exists — If this account and the target already have a conversation, don’t send the welcome message again.
  • Daily limit — Max welcome messages per day. Default: 25. Typical safe range: 5–15.

Use case: First-touch onboarding into a conversation. Greet the follower, introduce the brand in one line, and ask an open question to spark a reply.


Mode · DM Specific Accounts

Message a hand-picked list of usernames. Useful for targeted outreach campaigns where the same composed message goes to every name on the list.

  • Enable DM to specific accounts — Sends the composed message to every username on the target list.
  • Target List — Edit the list of usernames to DM (one per line). Paste or type usernames, one per line, then save.
  • Compose Message — Edit the message sent to each target. Supports spintax and [AI].
  • Custom GPT Prompt — Override the default AI prompt used for specific-user messages.
  • Skip if a DM thread already exists — Avoid re-messaging a target you’ve already DMed.
  • Daily limit — Max specific-user DMs per day. Default: 25.
  • Warm up before DM — Before sending the DM, follow the target, like a few of their posts, and view some stories — like a real person discovering them. Each step is best-effort; failed steps are skipped, and the DM still sends. Counts toward your daily Follow / Like / Story view limits.

Use case: Networking, partnership outreach, or business-development sends to a hand-vetted list of accounts. Enable Warm up before DM for the most natural-looking sends.


Mode · Targeted DM Campaign

Send a unique pre-paired message to each username. Unlike DM Specific Accounts (which broadcasts one composed message to a list), every row here is its own delivery: one username, one message.

  • Enable Targeted DM Campaign — Pulls the next pending row from the campaign list and sends the paired message. Rows are sent in order; sent rows are skipped on the next pass.
  • Edit Campaign — Open the campaign table. Add, edit, or delete rows one at a time. Each row pairs one username with one message. Shows total / pending / sent counts at the top.
    • + Add target — Add a single row manually.
    • Clear sent rows — Keeps pending rows; removes only the rows already sent.
    • Reset all — Wipes the whole campaign.
    • Table columns — Username, Message, Status, Date, Actions.
  • Import CSV — Bulk-add rows from a username,message CSV (header row required, UTF-8 encoding). Existing usernames are updated; new ones are appended.
  • Custom GPT Prompt — Override the default AI prompt used when a row’s message contains [AI]. Use this when you want some rows to include AI-generated portions.
  • Skip if a DM thread already exists — Avoid re-messaging a target you’ve already DMed (any thread, not just this campaign).
  • Daily limit — Max targeted-campaign DMs per day for this account. Independent from the Specific Accounts limit. Default: 25.
  • Warm up before DM — Before sending each row’s DM, follow the target, like a few of their posts, and view some stories. Same warm-up behavior as Specific Accounts mode. Counts toward your daily Follow / Like / Story view limits.

Use case: Highly personalized outreach where each recipient is pre-researched and each message is pre-written — agency outreach to creators, influencer partnerships, or one-to-one sales touches at scale. The CSV import is the fastest path to launching a 50–500 row campaign.


Mode · Reply to DMs

Hold a turn-by-turn scripted conversation with anyone who DMs this account. Each step waits for the user to reply before it sends.

How it works:

  1. Someone DMs this account → bot waits the DM Action delay, then sends your 1st message.
  2. If they reply → bot waits, then sends your 2nd message.
  3. And so on, one turn per incoming reply, until the script runs out or they go silent.

Steps containing [AI] are generated by the AI provider configured below — the rest stay as static text.

  • Enable reply to DMs — Replies to each incoming message in order: 1st reply answers their first DM, 2nd answers their second, and so on. Bot stays silent if they stop replying.
  • Add Reply Step — Add the next message in the script. Use [AI] as the body to make this step AI-generated. You can mix static and AI steps in the same script.
  • Custom GPT Prompt — Override the default AI prompt used by any [AI] step in this script.

Reply Rules

  • Reply limit per day — Counts every individual sent message across all conversations. Default: 25.
  • Auto-increment daily reply limit (warm-up) — Gradually raises the daily limit. Good for fresh accounts; bumps the cap up by a step each day until the configured ceiling is reached.
  • Auto-reply to Message Requests — Process the Requests inbox (from users you don’t follow). The bot accepts the request and starts the script.
  • Only reply to users already interacted with via IGBot — Ignores cold inbounds. Useful when you want the account to be purely responsive to people you’ve followed, liked, or commented on through other Onimator tools.

Use case: Sales funnels with a fixed conversation arc (greeting → qualifier → soft pitch → CTA). The user controls pacing; the bot controls content. The mid-script [AI] placeholders are useful for the qualifier and pitch steps where personalization matters.

⚠️ Enabling AI Live Chat automatically disables this mode — they cover the same conversations.


Mode · AI Live Chat

Turns this account into a live chat agent: every unread conversation gets an AI reply, and the bot keeps sweeping the inbox until nothing is left unread.

How it works:

  1. The bot opens the inbox, filters to Unread, and answers every conversation with an AI-generated reply.
  2. When someone answers back during the session, their conversation is treated as active — the bot waits inside the chat and replies to their next message instantly.
  3. After each sweep it re-scans the inbox and repeats until there are zero unread conversations.

Every reply is generated by the AI provider configured below. The AI remembers each conversation between sessions — it picks up where the previous reply left off rather than treating every reply as the first.

  • Enable AI Live Chat — Replies to every unread conversation with AI, in real time, until the inbox is clear.
  • AI Live Chat Prompt — The personality and instructions the AI uses for every Live Chat reply. This is where the account’s voice, knowledge boundaries, and conversation goals are defined.

Live Chat Rules

  • Live Chat limit per day — Maximum AI replies this method can send per day. Separate from the Reply-to-DMs limit. Default: 1000.
  • Re-scan wait (seconds) — How long to pause after a sweep before re-checking the inbox for new unread messages. Default: 10.
  • Response window (seconds) — How long to wait inside an active conversation for the user’s next message before moving on. Default: 30.
  • Max replies per user per day — Hard stop per person; prevents endless back-and-forth with one user (or another bot). Default: 300.

Use case: High-inbound accounts where every conversation should get a contextual AI reply instead of a scripted reply. Best for support, fan interaction, and lead qualification at scale.

⚠️ Turning this on automatically turns off Reply to DMs. Use one or the other, not both.


DM Action (applies to all modes above)

Batch size, delay between messages, and inbox-polling interval. Shared across every enabled DM mode.

  • Users per batch (Min / Max) — How many users to DM per burst before pausing. Example: 1–3. Default: 3–5.
  • Delay after each DM (Min seconds / Max seconds) — Seconds to wait between messages. Keep this generous: 10–20 minimum.
  • Check new-message delay (minutes) — How often the bot re-checks the inbox for new incoming messages. Default: 60 minutes.

⚠️ These settings are shared across all modes. Tightening them to push one mode harder pushes every other mode harder too. Adjust mode-level daily caps instead.


🤖 Understanding AI DM in Onimator

The DM Tool’s AI integration works at three layers. Knowing which layer does what is the difference between getting useful AI sends and confusing ones.

Layer 1: The [AI] Placeholder

Type [AI] inside any Compose Message field (New Followers, Specific Accounts, Campaign rows, or Reply Steps) and the bot replaces that placeholder with an AI-generated string at send time.

You can use [AI] as the entire message (AI writes everything) or mix it with static text:

Hey [AI] — let me know if that's interesting!

The static parts stay literal; the [AI] gets generated per recipient.

Layer 2: Custom GPT Prompts (per mode)

Each mode has its own Custom GPT Prompt field. This is the system prompt the AI uses when it generates an [AI] segment in that mode. It controls tone, length, language, and brand voice for that mode specifically.

Welcome DMs can use a friendly system prompt, outreach DMs can use a professional one, and live chat can use a support-agent one — all on the same account, all at once.

Layer 3: AI Provider (per account)

The AI Provider section picks which AI service powers every [AI] placeholder on this account. Three providers are available:

  • OpenAI (ChatGPT) — The default. Uses the standard ChatGPT chat model with your per-mode GPT prompts. The most flexible option.
    • Use an OpenAI Assistant (custom GPT) — Routes messages through a pre-configured OpenAI Assistant instead of the raw chat model. Useful when you’ve set up a dedicated Assistant with custom instructions, tools, or a knowledge base. The Assistant’s instructions take priority over the per-mode GPT prompts.
  • Cupid AI — Dating-app-tuned DM engine. Built specifically for romantic / dating conversation flow. Not relevant for non-dating accounts.
  • FluidTalk — Conversational DM engine designed for natural multi-turn back-and-forth pacing. Good for accounts that get genuinely conversational inbound replies.

ℹ️ The AI Provider choice applies to every DM mode that uses [AI]. You can’t run OpenAI on welcome messages and Cupid AI on replies in the same account simultaneously.

AI Live Chat Is Different

AI Live Chat is the only mode that doesn’t use [AI] placeholders. Instead, it generates every reply from the AI Live Chat Prompt plus the conversation history. It’s a separate workflow from the placeholder-based modes — Live Chat is the AI running the whole reply, not augmenting a template.


Other Settings

Small behaviors that apply to every DM mode.

  • Send each line as a separate message — If your template has multiple lines, the bot sends each one as its own bubble. Looks more human than a single wall-of-text. Recommended ON for all modes.

💬 Best Practices for DM Content

Welcome Messages for New Followers

  • Greet warmly with the recipient’s name
  • Introduce yourself or brand in one line
  • Ask an open-ended question
  • Offer a freebie, resource, or insight if relevant

Example template:

Hey {there|friend}! Thanks for the follow — I love meeting people into [your niche].
What got you interested in [topic]?

Outreach Messages for Specific Accounts

  • Mention something specific from their profile or recent content
  • State why you’re messaging in one line
  • Offer value or collaboration, not a pitch
  • Keep it under 30 words

Example template:

Hi {there|friend}! Saw your post on [topic] — really resonated.
I'm working on something similar and thought it'd be great to connect.

Reply Templates for Reply to DMs

  • Acknowledge what they said in their previous message
  • Add one piece of useful information
  • End with a question or soft CTA to keep the loop going

Example reply step:

Thanks for reaching out!
Here's the quick answer: [info]. Curious — what made you ask?

AI Live Chat Prompt Structure

You are [persona] for [brand]. You handle incoming DMs.
Tone: [casual / professional / playful].
Length: under 20 words per message.
Goal: keep the conversation going; never hard-pitch on the first reply.
If asked about pricing, redirect to [link].
If asked anything outside your knowledge, say you'll follow up and ask for an email.

Targeted Campaign CSV Format

username,message
johnsmith,"Hey John, saw your work on AI tooling — would love to chat about [topic]."
janedoe,"Jane — your recent post on [topic] was excellent. Mind if I send you something?"

The header row is required. Use UTF-8 encoding.


🔐 Safety & Best Practices

Daily Cap by Account Tier

Account Tier Total DM/day (all modes combined)
New (under 30 days) 5–10
Warmed (30–90 days) 15–30
Aged (90+ days, clean history) 50–100

These are total ceilings across all DM modes combined. Welcome + outreach + campaign + reply + live chat all draw from the same Instagram-side risk budget. AI Live Chat’s high default (1000/day) is a ceiling, not a target — keep effective Live Chat volume within the account-tier ranges above.

Spintax + [AI] Are Non-Negotiable

Identical hardcoded templates sent to dozens of users per day trigger spam classifiers within 3–5 days. Always rotate phrasings via spintax or use the [AI] placeholder. Targeted Campaign is the only mode that can skip this rule because each row is already unique.

Coordinate with Other Outbound Tools

If the Engage Tool, Accept Tool, or other DM-sending automation is running on the same account, total daily outbound DMs across all tools is what Instagram counts. Treat them as a shared budget. Subtract Engage’s DM sub-action and Accept’s welcome DMs from this tool’s cap.

Warm Up New Accounts

Run the Reels Tool and HBE Tool for at least 7 days before turning on any DM mode on a new account. Cold-account DM sending is the fastest path to a permanent block.

For Reply to DMs mode specifically, enable Auto-increment daily reply limit (warm-up) on fresh accounts to gradually raise the cap rather than starting at the full default.

Use “Warm up before DM” on High-Value Sends

For Specific Accounts and Targeted Campaign modes, Warm up before DM simulates a real person discovering the target. The pre-DM follow + like + story view sequence looks substantially more human than a cold DM out of nowhere.

The trade-off: each warm-up step counts toward the Follow / Like / Story view daily limits, so plan the account’s other tools accordingly.

Skip-Existing-Thread Should Always Be On

Every mode has the Skip if a DM thread already exists toggle. Leave it on. Re-messaging an existing thread is one of the strongest Instagram-side spam signals.

Multi-Bubble Sends Look More Human

Always leave Send each line as a separate message enabled. A single wall-of-text DM reads as automated even with personalized content.

Risk Management

  • Personalize every message via spintax, [AI], or pre-paired campaign rows
  • Use generous delays: 10–20 seconds between sends minimum
  • Don’t blast unresponsive users — let Reply to DMs or AI Live Chat handle pacing
  • Monitor inbox health: if more than 20% of sends bounce back as “couldn’t deliver,” pause and review the targeting
  • For AI Live Chat, watch the Max replies per user per day cap; user-vs-bot back-and-forth loops happen and burn quota fast

🏁 Conclusion

  • Five independent DM modes cover every common outreach pattern from welcome to live chat.
  • Per-mode daily caps let high-risk modes throttle harder than low-risk ones.
  • Three AI providers (OpenAI + Assistant, Cupid AI, FluidTalk) for tone-specific use cases.
  • Targeted Campaign mode delivers true one-to-one personalized outreach via CSV import.
  • AI Live Chat turns the account into a 24/7 chat agent that clears the inbox automatically and remembers conversations across sessions.
  • Warm up before DM simulates real-person discovery on high-value sends.
  • Skip-existing-thread and multi-bubble line sends preserve a natural conversation pattern.

💡 Implementation Tip: Start with DM New Followers only, daily cap 5–10, AI Provider OpenAI, multi-bubble ON, Skip-existing-thread ON. Run for 7 days clean. Then layer in Reply to DMs (with Auto-increment warm-up ON) or AI Live Chat depending on inbound volume. Add Targeted Campaign last with a hand-vetted CSV of 10 rows per day for the first week, Warm up before DM enabled.


🎥 Tutorials & Support

Was this article helpful?
Thanks for your feedback!