How do I detect a customer reply to an automated dunning email in Gmail?
Send the original dunning email with a known Message-ID, then watch for a reply whose References/In-Reply-To headers point back to it and whose Subject still matches. Gmail's own API documentation states threading requires exactly these three conditions — get any one wrong and the reply lands as a new, unthreaded message your workflow never connects to the original.
Part of the finance integrations guide.
| What sends the original | replyToThread or a standard send, capturing the resulting Message-ID |
|---|---|
| What Gmail requires for threading | threadId specified, References/In-Reply-To RFC 2822-compliant, Subject headers matching |
| How to detect the reply | Poll or watch the thread via the Gmail API and check for new messages beyond the original |
| How to mark it handled | addLabelIds via messages.modify — up to 100 labels per update, many-to-many |
| Common failure | A customer's reply changes the subject line, breaking the match Gmail's threading relies on |
What Gmail actually checks to group a reply into a thread
Gmail's own API documentation lists three specific requirements for a reply to be grouped with its original message: the threadId must be specified on the outgoing message or draft, the References and In-Reply-To headers must comply with RFC 2822, and the Subject headers must match. All three matter — this isn't Gmail's UI guessing based on content, it's a deterministic check against message headers.
Detecting the reply once it lands
Loopfour's Gmail integration can watch or poll a thread and compare its message count against what was there right after the original dunning email sent. A new message appearing in that thread, from the customer's address, is the reply signal a workflow needs to stop the dunning sequence — rather than trying to parse email body content for something that reads like a response.
Marking the sequence stopped
Once a reply is detected, addLabelIds via messages.modify applies a label (something like "dunning-responded") that the sequence-scheduling logic checks before sending the next reminder. Gmail's own docs confirm a message can carry multiple labels simultaneously and that a single modify call can add and remove different labels together, so marking a thread as responded doesn't require removing anything else already applied to it.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A reply that almost didn't thread
A dunning email goes out with Subject: "Invoice #4821 - payment reminder." The customer replies, but their email client prepends the reply with "Re: " and their assistant, forwarding it internally first before replying, changes the subject to "FW: Re: Invoice 4821 - please handle." Gmail's threading check requires the Subject headers to match — a materially altered subject line, not just a Re:/Fwd: prefix, is exactly the kind of change that can break the thread match Gmail's own docs describe. The reply arrives as a new, unthreaded message, and a workflow only watching the original thread's message count never sees it. The fix is watching the customer's address across new threads too, not just the original thread, as a fallback.
Frequently Asked Questions
Sources
Related
Definition
What is an AR aging report and how do I read it?
An AR aging report lists every open invoice grouped by how long it's been outstanding — current, 1-30, 31-60, 61-90, and 90+ days past due. Read it by tracking the bucket distribution over time, not just the total; a shrinking current bucket and growing 90+ bucket signal a collections problem before it shows up in a blended DSO figure.
Read moreHow-to
How do I automate dunning and collections reminders?
Schedule reminders relative to the due date (a few days before, then at set intervals after), with escalating tone and channel, and add a suppression check before each send confirming the invoice is still genuinely open and undisputed. Most accounting systems support scheduling this natively; the suppression check is what prevents the most damaging automation failure.
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreComparison
Gmail vs. Outlook: which reliably stops a dunning sequence when a customer replies?
Neither is more reliable in the abstract — they detect a reply through different mechanisms with different failure modes. Gmail's threading depends on References/In-Reply-To headers and an exact Subject match; Outlook's model is folder- and category-based rather than strict thread matching. Pick based on which failure mode your customers are more likely to trigger, not which vendor is "better."
Read more