Catch the email threads your AI agents left hanging

By General Input

A live board of every conversation where someone is still waiting on you, sorted by how long it has been silent.

Integrations

  • AgentMail
  • Slack Bot
  • Google Sheets

Type

App

Categories

  • Customer Support
  • Operations

Build me an app that shows every email conversation where the other side spoke last and nobody on my team has answered yet. We run AI agents across several AgentMail inboxes, and my worry is not the mail they handle, it is the threads they picked up halfway and quietly dropped. The one rule that makes this app useful: a thread only belongs on the board when the most recent message in it is inbound. If we already replied and are waiting on them, it never shows up.

When the board loads, use AgentMail List Inboxes to find every inbox on the account, then List Messages on each one, and group the messages by their thread id. Results come back newest first and every timestamp is ISO 8601 UTC, so for each thread take the most recent message and check its direction. Keep the thread only if that latest message came from outside. The waiting time is the gap between that message's timestamp and now. Use Get Message when I open a thread so I can read the full body and any attachments.

Group the surviving threads into four sections by waiting time: under 1 hour, 1 to 4 hours, 4 to 24 hours, and over 24 hours. Pin the over 24 hours bucket at the top and style it in red, since that is the one that actually costs us. Inside each bucket sort oldest first, and show a count on each bucket header.

Each card shows the sender, the subject, which inbox it landed in, how long it has been waiting in plain language like 3h 20m, and the field I care about most: whether the last reply we sent on that thread came from an agent or from a human. That column is the point of the app, because an agent that answered twice and then stopped looks exactly like a healthy thread until you notice no human ever touched it. Work it out by looking back through the thread for the most recent outbound message. The app records every reply a person sends through it, so any outbound message not in that record is treated as agent sent. Show it as a small tag reading last reply: agent or last reply: human.

From a card I want to claim it, which locks it to me and shows my name to everyone else so two of us never answer the same person, and a claimed card can be released. I also want to open the thread and read it in full, reply directly from the app using AgentMail Reply To Message, snooze it with a note and a wake time so it drops off the board until then, and escalate it. Escalating posts to Slack using Slack Bot Send a Message and includes the sender, the subject, the inbox, how long it has been waiting, and my note, sent to the channel or teammate who owns that inbox. When I reply from the app, mark the thread resolved and move it into a resolved history.

Give me a settings view where I set a target response time per inbox and map each inbox to the teammate and Slack channel that owns it. Use the target to flag cards that have blown past their own inbox's target, on top of the time buckets.

Add a reporting view showing response times over the past week: how many threads we answered, median and worst waiting time, a split between agent handled and human handled, and a breakdown per inbox. Put a button on it that pushes that week's record into a Google Sheet with Google Sheets Append Values, one row per week, so I can watch the trend over months. There is no scheduler in an app, so this is a button I press. Remember when I last pushed it and show a reminder on the view once seven days have gone by.

Claims, snoozes and their notes, per inbox targets, inbox ownership, the human reply record and the resolved history are all the app's own stored state. AgentMail has no assignment, no snooze and no label writing to support this, so none of it is written back to the mail account. The app is a read only view over the mail store plus a reply surface. Claims are per person, and everyone in the workspace sees the same board and the same claims.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board