# Answer Instagram DMs > Connect a professional Instagram account and let your assistant answer Direct Messages, inside the 24 hours Meta allows. Source: https://welcomeai.dev/docs/instagram-dm Category: Integrations Updated: 2026-09-16 --- ## What it does Connects one professional Instagram account. Somebody sends your account a Direct Message, your assistant answers it from a knowledge base you choose, and the whole exchange appears in the inbox on **Social media, Instagram** with everything the person told you saved as a lead. It is a separate surface from your website widget, with its own settings. That is deliberate: a DM is a thousand characters, shows no formatting, and is read by somebody expecting two sentences. Tuning one assistant until it fits both a web page and a phone notification makes both worse. ## The one rule that shapes everything **Meta gives an automated system 24 hours from each message a person sends you.** Inside that window your assistant may answer freely. Outside it, the only thing that can send is a person on your team, writing from the inbox here. This is not a limitation we can configure away and it is not a bug when you meet it. Every thread in the inbox carries a countdown, and a thread whose window has shut says so before you start typing. ## What you need before you start - An Instagram **professional** account, Business or Creator. A personal account cannot be connected at all, and Instagram will refuse it rather than explain. - A knowledge base with your content in it. You choose which one at the moment you connect. - The Pro plan or above. You do **not** need a Facebook Page. We use Business Login for Instagram, so the sign-in screen asks for the Instagram account you were already thinking about. ## Connect it 1. **Social media**, **Instagram**, choose the knowledge base, **Connect Instagram**. 2. Sign in to Instagram and accept the two permissions. They are read your profile, and read and send messages. 3. You come back to the settings, and the account is already receiving messages. If Instagram sends you back with an error, the screen says which step failed and what to do about it. The most common one is an account that is still personal rather than professional. ## What to set before your first customer writes **The knowledge base** it answers from, and **the model**. A DM is short, so a fast model usually reads better here than the one your website uses. **Instructions.** This is Instagram's own voice, and it does not follow your widget's. Write it for the channel: short answers, one question at a time, and whatever your shop must never say. **Bot disclosure.** Meta's policy for automated experiences requires telling people they are talking to a bot. Whatever you write here is sent once, before the first answer of each conversation, rather than stuck on the end of every message. **How a reply reads.** Formatting is removed by default, because Instagram renders none of it: `**bold**` would arrive with the asterisks showing. A long answer is split across messages, and you can turn that off to send one short reply instead. **Asking for their details.** Meta never gives us an email or a phone number -- not through any permission, not through any endpoint. The only way an Instagram conversation becomes a contact is the person typing one, which is what these questions are for. They are asked inside the thread, one at a time, and each answer is saved the moment it arrives. If the address already belongs to somebody in your Leads, the conversation joins that contact instead of making a second one. ## The inbox **Social media**, **Instagram**, **Inbox** lists every person who has written, newest first, with what they last said and how long is left to answer. - **The countdown** is the 24 hours. Green while there is time, amber under two hours, and "Reply window closed" after that. - **I will answer this one myself** stops the assistant replying to that person until you switch it back. Their messages keep arriving and keep appearing here; the assistant simply stays quiet. - **The reply box** sends as a person on your team. It is the only thing that can send once the window has closed, and Meta allows it for seven days. - **Leads** shows everything Instagram has collected, and the main Leads screen can filter by channel. **Which questions.** "The built-in questions" asks for a name, an email, a phone and a message, and **only the email is required** -- so one answer completes the lead and the assistant stops asking, by design. If you want it to keep going, pick one of your own forms from Leads: whichever fields you marked required there are the ones it will work through, one at a time. The settings screen lists them under the picker, so you can see what it will ask before you save. ## Knowing when somebody is waiting The assistant answers on its own, and every so often it should not: somebody asks to speak to a person, or leaves their details so that you will write back. **The moment they give you those details, the thread is marked as waiting**, once per person, and three things can tell you. **Instagram itself.** It notifies you for every Direct Message, as it always has -- we do not intercept anything, and the conversation is still in your Instagram inbox. This one always fires, which is also its weakness: it fires just as loudly for the messages the assistant handled without you. **The inbox here.** **Social media**, **Instagram**, **Inbox** puts whoever has been waiting longest at the top, with an amber dot and how long they have been there, and the tab reads `waiting / total`. Replying from that box marks it handled; the assistant answering does not, because a bot reply is what they were waiting past. **A Slack channel.** One message per person, carrying their name, their email, what they last said, and **when the reply window closes** -- the one thing Instagram will not tell you and the first thing you need. It has a button that opens the conversation here. ### Sending it to Slack 1. **Destinations**, **Slack**, connect it. One workspace, once. 2. In Slack, invite the app to the channel you want: `/invite @WelcomeAI` in that channel. A public channel does not strictly need it -- the app is allowed to post to any of them -- but a private one does, and a private channel the app has not been invited to cannot even be listed. 3. **Social media**, **Instagram**, **Settings**, **Who finds out**: pick the channel. Save. The list is read when the page loads, so a channel you created or were invited to a moment ago is not in it yet: press **Refresh** next to the field. If a private channel is still missing after that, the line under the picker says why -- usually the Slack token has no `groups:read`, which is an optional scope, and adding it means reinstalling the app in Slack and reconnecting it under Destinations. That is all of it. **You do not need a lead route**, and you should not build one for this -- a route maps a lead's fields onto a CRM's columns, and a route scoped to a widget would never match Instagram at all, because an Instagram conversation has no widget. That combination is silent rather than broken, which is worse. Routes are still the right tool for the other thing: putting the contact into HubSpot, ClickUp, Pipedrive or your own webhook. Build those in **Destinations** and leave them unscoped so Instagram leads reach them; the notification here is separate and does not replace them. ## What it does not do yet Photos, voice notes and story replies arrive and are recorded, and the assistant does not answer them. A message with no words is logged and left alone rather than answered with an apology for not being able to see it. Serving an Instagram account that is not your own needs Meta's App Review and Business Verification, which is their timetable rather than ours. ## When something looks wrong **Nothing arrives.** Check the account still says Answering on the settings tab. If the screen shows "Connected, but not receiving messages yet", reconnect the account: the subscription step did not take. **The assistant stopped answering one person.** Open the thread. Either somebody switched on "I will answer this one myself", or the window has closed and the person has not written since. **"This account's access expires soon".** We renew the access every night, from ten days before it expires, so seeing this means the renewal has been failing for a week. Reconnect the account.