Intake Response Tracker
An enquiry that sits over a weekend is usually an enquiry that instructed somebody else on Monday.
What it does
Searches Gmail for new client enquiries, ages each one, and splits them into two lists: waiting longer than your response threshold, and recent. Oldest first, with sender and subject.
What it does NOT do
It never replies to anyone. It reports what is waiting. A person reads it and answers.
It does not check for conflicts, and it cannot tell you whether the firm may act. Every digest carries that line at the top, before the list. This matters more than it looks: a tidy automated list of new business creates a pull toward a quick reply, and the conflict check is exactly the step that gets skipped when someone is moving fast. The banner exists to interrupt that. Keep it.
It does not classify matters or score leads. No model runs in this workflow. It reports what arrived and how long ago — facts, not judgments about which enquiry is worth your time.
Setup
1. Gmail query
<<INTAKE_GMAIL_QUERY>> uses ordinary Gmail search syntax:
label:intake is:unread
to:[email protected] is:unread
from:([email protected]) subject:(consultation OR enquiry) is:unread
Point it at wherever enquiries actually land. If intake arrives on a shared address, a Gmail filter that applies a label is more reliable than matching on subject text.
2. Credential + contact
Replace the placeholders:
- <<GOOGLE_WORKSPACE_CREDENTIAL>> — Google Workspace credential with Gmail read scope
- <<INTAKE_GMAIL_QUERY>> — the search above
- <<INTAKE_RESPONSE_HOURS>> — your response threshold in hours, e.g. 4 during the week
- <<INTAKE_OWNER_PUBLISHER>> — who owns intake
3. Schedule
Every few hours during business hours. The point is catching the 5pm Friday enquiry, so a Saturday morning run is worth more than a Monday one.
Customization
- Threshold.
NUDGE_HOURScomes from the placeholder. Four hours is aggressive; twenty-four is the outside limit for anything competitive. - Message cap.
--max 50on the fetch task. Raise it if intake volume is higher. - Unread vs unanswered.
is:unreadis a proxy — someone opening a message marks it read without answering. If that is a problem in practice, have the firm apply arepliedlabel on answer and querylabel:intake -label:replied.
Source
workflow.iml