Reply-in-5: instant enquiry replies, tested end to end
The Reply-in-5 Apps Script run against 9 fictional scenarios in a test harness: 9/9 pass after fixing 9 faults.
The goal
Prove that the Reply-in-5 script behaves correctly before it goes near a real Google account: normal enquiries, duplicates, missing details, quota limits and switched-off alerts.
What was built
- Google Apps Script that replies from the owner’s Gmail, alerts the owner and writes a sheet row with a reply clock
- A Node test harness that runs the actual script source with mocks for Sheets, Gmail, quotas, locks and a simulated clock
- Fictional fixtures only (example.com addresses and Ofcom drama-range phone numbers)
What we learned
Nine faults in the first draft, including forwarded alerts never being logged, duplicates answered twice and phone-only leads left without an alert, were all caught by the harness rather than by a customer.
Limits, stated plainly
Timings are simulated (7 s trigger delay plus 1.4 s send), not measured in Google. Real reply-clock numbers will come from a recorded live run in Bill’s own account.
How it was tested: real results
| Check | Result |
|---|---|
| S1 normal enquiry | Pass: 2 emails sent, reply greets by first name, reply clock 8 s |
| S3 duplicate re-sent 90 s later | Pass: one reply only; row marked as a duplicate |
| S4a missing email | Pass: no customer email; owner alerted "CALL THEM" |
| S4c partial details | Pass: reply asks only for the missing fields |
| S5a quota used up | Pass: nothing sent, status says call them, no crash |
| S5b one email left | Pass: the customer reply gets priority; owner alert skipped and noted |
| S6 owner alerts off | Pass: exactly 1 email sent |
Tell me what you need done
Describe the job in a few lines. You get a fixed-price scope, or an honest “not for me”.
Is this a client project?
No. DEMO – not a client project. It was built and tested with fictional data.
Are the numbers real?
Yes: they come from the actual tests and files of this build. Anything simulated is labelled as simulated.