Which Monday.com items are waiting on someone outside the company
It is Thursday morning at a forty person agency. The delivery lead has the Client Onboarding board open on the left monitor: sixty two items, an Owner column, a Status column with the usual values, and a Timeline column that has been quietly turning red since last week. On the right monitor is Gmail, filtered to the shared onboarding alias.
The founder asks the question he asks every Thursday. Of the things that are not moving, which ones are stuck on us, and which ones are stuck on the client?
The delivery lead knows the answer is in front of her. She also knows getting it will take forty minutes. Eleven items say "Stuck" and six of those are stale, because "Stuck" was set three weeks ago by a project manager who has since moved teams. Two items say "Working on it" but the account manager mentioned in standup that the client's legal team has them. So she starts opening items, reading the updates feed, then searching Gmail for the client's name, then opening the last thread to see who wrote last and when. By item twelve she has stopped being careful.
This is the most common reporting question in a services business and neither tool answers it, for a reason that is worth understanding before you go looking for an integration.
What Monday.com shows, and where it stops
Monday is genuinely good at the half it owns. Every item has an owner, a status, dates, a dependency column if you use one, an updates feed, and a full activity log with timestamps. Dashboards will give you time in status, so you can see that item 4471 has read "Stuck" for nineteen days. Automations will nudge an owner when a date passes. If you use monday CRM, Emails and Activities will log correspondence against a contact record, so email is not entirely absent from the platform.
Here is where it stops. Every one of those signals is a statement your team made about the work. "Stuck" is true because a person typed it and stayed disciplined about untyping it. Time in status measures how long the column has said something, not how long the client has been silent. The updates feed contains what your team chose to write down.
The monday Gmail integration is real and useful, and it is worth being precise about what it does: it sends mail when a status changes, creates items from incoming mail that matches a rule, and in the CRM product it attaches threads to contacts whose mailboxes have been connected. All of that is forward motion. None of it gives you a board view that says "the client last wrote to us on the 14th and we have written twice since." The board does not know what is in your mailbox unless something was deliberately wired to put it there, before the fact, on a per user basis.
What Gmail shows, and where it stops
Gmail owns the other half cleanly. It knows every participant, every timestamp, and who sent the last message in a thread. Search operators are stronger than people use: from: and newer_than: and -in:sent will get you a long way. Gmail even ships a version of this instinct in Nudges, which surfaces threads you sent and never got a reply to.
What Gmail cannot do is tell you which of those threads matters. It has no concept of an open work item. It does not know that the thread with Marcus at Northwind is attached to a deliverable that is nine days past its timeline, and that the thread with Priya at the same company is about a Christmas party. Nudges works on the thread, not on the job. And Gmail is per mailbox: the account manager's inbox and the delivery lead's inbox are two different search surfaces, so a client who replied to one person is invisible to the other.
Why the gap exists
Look at what each half actually is.
| The evidence | Where it lives | What shape it is |
|---|---|---|
| This item is open, owned by Dana, due the 2nd | Monday item | A record: fields, enums, timestamps |
| Nobody at Northwind has replied since the 14th | Gmail thread | A record: sender, timestamp, direction |
| "We'll need to run this past legal, probably a couple of weeks" | Gmail message body | A sentence somebody wrote |
The first two rows are queryable. You can filter, group and count them. The third row is the one that decides the answer, and it has no field. No status changed when that message arrived. No column captured it. The only place the blocker exists is in language, in the middle of a paragraph, in a mailbox.
That is why this is not a missing report. For Monday to answer it, Monday would have to read and interpret a mailbox it does not own. For Gmail to answer it, Gmail would have to hold your board schema and know which items are open. Neither is a feature the other is failing to ship. They are two different kinds of evidence that happen to be needed in the same sentence.
It is also why the obvious workarounds do not close it. Zapier and Make are excellent and will move this data all day, but they are trigger based: something happens, then a step runs. At 9:40 on Thursday nothing is happening, and the event you care about is an email that arrived nine days ago and did not fire anything. Unless you built the log in advance, there is nothing to look back at. Power BI Copilot and Looker Conversational Analytics are strong at conversational reporting, and they connect to databases and modelled sources. The deciding evidence here is a sentence in an inbox, which is outside what the model can see at all.
What the join actually requires
Two things, and only one of them is mechanical.
The key. There is almost never a shared identifier between a Monday item and a Gmail thread. The practical key is the external person: the client contact's email address. Getting from an item to an address is a chain, and the chain is different on every board. Sometimes there is an Email or Contact column. Sometimes the address is only in an update from four months ago. Sometimes the item names an account, "Northwind rebrand", and the mapping from account to people lives in a CRM or in someone's head. Any honest answer has to walk that chain and admit where it breaks.
The judgement. Once you have the threads, direction is not enough. "Last message was inbound" does not mean unblocked, because "Got it, I'll come back to you next week" is inbound and is still waiting. "Last message was outbound" does not always mean waiting, because sometimes the last message is "thanks, nothing needed from you." An out of office is inbound and means nothing. A reply that answers a different question in the same thread is inbound and answers nothing. Deciding requires reading the last two or three messages and forming a view. That is not matching, and no filter expresses it.
Doing it with Skopx
Skopx sits over your tools, Monday and Gmail among nearly 1,000 integrations, and answers questions across them with citations. The way you connect Monday and Gmail here is not a wiring diagram, it is a sentence in chat:
On the Client Onboarding board, take every item that isn't Done. Find the client contact for each one, then check my mail and the onboarding alias for the most recent thread with that person. Tell me which items are waiting on them, how many days it has been, and quote the line that shows it.
What comes back is a list. Item name, owner, days since the last message from the client's side, one quoted sentence as the reason, and links to both the Monday item and the Gmail thread so you can check the quote in five seconds. Where the contact could not be resolved, it says so rather than guessing.
When you find yourself asking this every Thursday, the next sentence is "make that a console I can open on Monday mornings." Skopx builds an internal app from that sentence, a small read only console that queries live when you open it, grouped by days waiting, each row carrying its quoted evidence and its two deep links. On each row you can put a button: send the follow up, or set the Monday status to Waiting on client. Both ask you to confirm before anything leaves the building.
Honest limits
This reads and it acts. It does not store anything. There is no form, no record it creates, no scheduled run, no alert, no public link. The console holds no data of its own: close it and there is nothing to go stale.
It only sees mailboxes that are connected. If the client replied to a personal address nobody linked, that reply does not exist as far as the answer is concerned, and the item will read as waiting when it is not.
If an item has no contact anywhere, on a column, in an update, or in a connected CRM, there is no join for that row. It will be listed as unresolved.
It reads meaning, so it can be wrong. A reply that arrived as a calendar invite, an answer buried in an attachment, a client who responded on WhatsApp: all of these will be missed. Every line is quoted and linked precisely because you should spot check the ones that matter.
It is not a monitor. Nothing watches your mail and pings you. You get the answer when you ask for it or when you open the console.
Team is $16 per seat per month with 2.3 million AI tokens included, Solo is $5. SOC 2 controls are in place.
Skopx Team
The Skopx engineering and product team