I'm building a WhatsApp booking assistant for a hotel in n8n (WhatsApp Cloud API + Gemini AI agent + Google Sheets). Booking, reschedule and cancel all work now, but I hit a few failures that gave no error at all:
๐. ๐๐๐๐ก๐จ๐จ๐ค ๐ฏ๐๐ซ๐ข๐๐ข๐๐, ๐ง๐จ๐ญ๐ก๐ข๐ง๐ ๐ญ๐ซ๐ข๐ ๐ ๐๐ซ๐ฌ.
The fix was subscribing the WhatsApp Business Account to the app (subscribed_apps), not just setting up the webhook.
๐. ๐๐ก๐๐๐ญ ๐ฎ๐ฉ๐๐๐ญ๐ ๐ฌ๐ก๐จ๐ฐ๐๐ ๐ ๐ ๐ซ๐๐๐ง ๐ญ๐ข๐๐ค ๐๐ฎ๐ญ ๐๐ก๐๐ง๐ ๐๐ ๐ง๐จ๐ญ๐ก๐ข๐ง๐ .
The Booking ID was a number in Google Sheets but text in the workflow, so Update Row matched zero rows. No error, empty output.
๐. ๐๐ก๐ ๐๐ ๐๐ ๐๐ง๐ญ ๐๐จ๐ง๐๐ข๐ซ๐ฆ๐๐ ๐ญ๐ก๐ข๐ง๐ ๐ฌ ๐ญ๐ก๐๐ญ ๐ง๐๐ฏ๐๐ซ ๐ก๐๐ฉ๐ฉ๐๐ง๐๐.
It told the guest "done" even when the tool returned nothing. ๐ฌ
๐๐ก๐๐ญ ๐ ๐๐ข๐ ๐๐๐จ๐ฎ๐ญ ๐ข๐ญ:
โ
Added rules to the agent prompt: read every tool result, and never confirm on an empty result
โ
Moved reschedule into a sub-workflow that validates dates first (invalid dates like "32 October" or past dates never reach the sheet)
โ
Added a "row actually updated?" check, so a wrong Booking ID returns "not found" instead of fake success
I tested it by asking for a booking on "32 October". The bot rejected the date and the sheet stayed untouched.
๐๐จ๐ฐ ๐'๐ฆ ๐๐ฎ๐ซ๐ข๐จ๐ฎ๐ฌ ๐๐๐จ๐ฎ๐ญ ๐ฒ๐จ๐ฎ๐ซ ๐ฌ๐๐ญ๐ฎ๐ฉ:
- How do you catch silent failures (empty outputs, 0 rows matched) in your workflows?
- Do you use an Error Trigger workflow, scheduled checks, or something else?
- Has anyone tried an AI that reads failed executions and suggests fixes?
Would love to hear what works for you. ๐