# Answer Instagram and Messenger DMs with the order on screen

> Type a customer's email, phone or name and see their Shopify order history next to their Manychat profile, then reply without leaving the screen.

- Workflow type: app
- Services: Manychat, Shopify
- Categories: Customer Support
- Published: 2026-08-31

## What it does

- One search box takes an email, phone number or name and pulls up the shopper's store record and full order history beside their Instagram or Messenger profile, so nobody has to keep two tabs open to answer "where is my order"
- Shows the tags and saved details your team already keeps on each contact, and lets you reply, label the conversation, record an outcome, or hand off to one of your existing message sequences from the same screen
- A "Draft order update" button sends an assistant to read the shopper's latest order, including whether it has shipped and whether it has been paid or refunded, then writes a reply in your brand voice that names the real product and its real shipping state
- Tells you in plain words when a shopper cannot be messaged right now because they last wrote to you more than a day ago, and offers to send a sequence instead so the answer still gets through

## What you'll need

- A Shopify store, with permission to view customers and orders
- A Manychat account connected to your Instagram or Facebook page, with API access enabled
- The tags, saved fields and message sequences you already use in Manychat, since the console reads your existing ones rather than making you set up new ones

## Prompt

Build me an internal support console for my Shopify store. Most of my customer questions arrive as Instagram and Messenger DMs through Manychat, and my team currently wastes the day flipping between Manychat and the Shopify admin to answer "where is my order". I want one screen, built around a single search box, that joins the DM identity to the order record.

The search box accepts an email, a phone number, or a name. On submit, the app resolves the customer on both sides and shows the results in a two panel layout: Shopify on the left, Manychat on the right.

Left panel, Shopify. Use Search Customers with whatever I typed to find the matching customer, and show name, email, phone, total spend, and order count. If more than one customer matches, show the candidates and let me pick before loading the rest. Then use Get Customer Orders for the selected customer to render the full order history, newest first, with order number, date, items, total, fulfillment status, and financial status. Clicking an order expands it to line items plus shipping detail, using Get Order and List Fulfillments for Order so I can see tracking numbers and carrier when they exist.

Right panel, Manychat. Look the customer up with Find Subscriber by System Field. This operation accepts email OR phone and only one may be set per request, so try email first, and if that comes back empty and the Shopify record has a phone number, retry with the phone. Never send both in one request. When I searched by name rather than an identifier, use Find Subscriber by Name instead. Once you have a subscriber id, call Get Subscriber Info and show the full profile: the channel they subscribed on, their tags, and their custom fields.

Handle the no match case gracefully, because it is common. A customer can exist in Shopify with no matching Manychat subscriber. When that happens, say so plainly, something like "No Manychat subscriber found for this customer", and keep the entire Shopify side fully usable. Do not render an error state, do not show a red banner, and do not block the screen. The reply and labelling controls should be visibly disabled with a one line explanation rather than hidden.

From this same screen my team needs to act, without opening Manychat. A reply box sends a DM with Send Content. Label the conversation using Add Tag to Subscriber by Name for cases like refund requested or VIP, and clear a label with Remove Tag from Subscriber by Name. Be careful to use the subscriber scoped removal here: do not use Remove Tag by Name, which deletes the tag from the page and from every subscriber on the account and cannot be undone. Populate a tag picker from Get Tags so my team picks from the labels we already use, and allow free text for a new one, since adding by name creates the tag if it does not exist.

Record the outcome of a conversation with Set Custom Field by Name, driven by a small form of the fields we actually use. Hand off to an existing sequence with a dropdown populated from Get Flows, triggered with Send Flow.

The 24 hour messaging window needs first class treatment in the UI, not a raw error. Send Content returns error 3021 when the subscriber is outside the 24 hour window without a message tag. When that happens, show plain language along the lines of "This customer last messaged more than 24 hours ago, so Instagram and Messenger will not deliver a normal reply", and put the send a flow option directly in that same message so the fallback is one click away. Error 3011 means the subscriber was not found, which should read as "This subscriber no longer exists in Manychat". Keep the drafted text in the box either way so nothing my team wrote gets thrown away.

Add a "Draft order update" button that kicks off a background agent. The agent reads the customer's most recent order including its fulfillment status and financial status and the actual item names, then drafts a short DM in our brand voice that names the real product and the real shipping state, and writes it into the reply box as editable text for a human to approve. It must never send on its own. The agent should work only from what the order data actually says: if there is no fulfillment yet, it should say the order has not shipped rather than inventing a delivery date, and it should never invent a tracking number. If the order was refunded or partially refunded, the draft should reflect that instead of talking about shipping.

Keep the brand voice instructions editable inside the app as a setting, so I can tune the tone without rebuilding anything. Show each viewer their own list of recently looked up customers so they can jump back to a conversation they were working on.

One performance note: Manychat subscriber read endpoints are limited to 10 requests per second per account, and there is no list all subscribers endpoint, which is why this app is search led rather than a browsable inbox. Fetch subscriber data on demand when a search runs, and do not prefetch or poll in the background.

## How to customize

- Edit the brand voice notes the drafting assistant writes with, so replies sound like your store instead of a generic bot
- Choose which labels appear as one-click buttons, for example refund requested, VIP, or escalated, and which saved field records how each conversation ended
- Set how many past orders show before the list collapses, and which order details matter most to your team

## FAQ

### Does this work for Instagram DMs as well as Facebook Messenger?

Yes. The console works with whichever channels your Manychat account is connected to, so Instagram and Messenger contacts both show up the same way and can be replied to from the same screen.

### What happens if the customer has never messaged us on Instagram or Messenger?

The console says so plainly and still shows everything from your store: the customer record and their full order history. It will not throw an error or show you a broken screen. The reply and labelling buttons are simply switched off, with a short note explaining why, because there is no conversation to reply to yet.

### Why does it sometimes stop me from sending a reply?

Instagram and Messenger only let businesses send a normal reply within 24 hours of the customer's last message. When that window has closed, the console tells you in plain language instead of showing a confusing error, and offers to send one of your existing message sequences instead, which is still allowed.

### Does the drafted reply get sent automatically?

No. The assistant writes the message into the reply box and stops there. A person reads it, edits it if needed, and presses send. Nothing reaches a customer without someone approving it first.

### Can I use the message sequences I already built in Manychat?

Yes. The console lists the sequences already on your account in a dropdown, so you can hand a conversation off to your existing returns flow or shipping update flow without rebuilding anything.

Use this prompt in General Input: https://www.generalinput.com/prompts/answer-instagram-and-messenger-dms-with-the-order-on-screen