How a hotel saves and finds its invoices with a WhatsApp AI agent built in n8n
For a hotel in Germany, I built a WhatsApp AI agent in n8n. Staff send an invoice photo, a PDF, a voice note or a text note to one WhatsApp number. The agent reads the document, files it in the hotel's own Nextcloud by type, year, month and week, and replies with a link. Later, an owner, admin or manager can ask for any document in plain words and get the list, the files, or one merged PDF.
Published Made for a German clientLive now
- n8n
- WasenderAPI
- OpenRouter
- Mistral OCR
- Stirling-PDF
- Nextcloud
- Supabase (Postgres)
Problem
What problem did the hotel have?
Invoices, receipts, delivery notes, letters from the authorities: whenever the hotel needed one of them, someone had to search for it in their files.
Notes had no fixed place
Important notes had no one place to be kept, so they were hard to find later.
Documents could get lost
Invoices and other documents were kept in files, and a document could get lost.
Searching took a lot of time
Every time a document was needed, someone had to search through the files to find it.
Solution
What did I build? One WhatsApp chat that saves and finds every document.
I built them a WhatsApp Document Agent. Staff send everything to one WhatsApp number; the agent does the saving and the finding.
Save notes
Type or speak an important note in the chat. A voice note is turned into text first, then the note is saved, so it can be found later like any document.
Save documents
Send a photo or PDF. The agent reads it, picks out the type, supplier, date and amount, files it in Nextcloud by type, year, month and week, and replies with a link.
Get them back
Ask in plain words, by text or voice, for example "all invoices from March". The agent replies with the list and links and sends the files, or one merged PDF if you ask for it.
The workflow
How does the agent work, step by step?
This is the real n8n workflow, node by node, from the moment a message arrives to the reply. Tap any node to see what it does, or press a path to watch one message travel through it.
- Tap a node to see what it does, or pick a path to watch one message travel through the real workflow.
Built to be safe
- Only known numbersThe sender must be in the users table and active. Anyone else gets no reply.
- Roles decide who can searchStaff can send documents and notes. Only the owner, admin or manager can search; anyone else gets a polite no.
- The AI never writes SQLIt only fills in filters. The search itself is one fixed query, so the AI cannot change or delete data.
- Everything is loggedEach incoming message is written to an audit log.
Tools used
Which tools does this n8n WhatsApp agent use?
- n8nRuns the whole workflow, every step on one canvas
- WasenderAPIConnects the hotel's WhatsApp number to n8n
- OpenRouterAI models that read the details, sort notes from questions and turn voice into text
- Mistral OCRReads the text in photos and PDFs
- Stirling-PDFMakes PDFs searchable, turns photos into PDFs and merges PDFs
- NextcloudThe hotel's own file storage, where every document is kept
- Supabase (Postgres)Users, saved documents, notes and the audit log, for fast search
FAQ
Questions business owners ask.
Does my team need a new app?
No. The agent is a WhatsApp number. Staff save it like any contact and send photos, PDFs, voice notes or text to it.
What happens when someone sends a photo of an invoice?
The agent reads the text on it, works out what kind of document it is, the supplier, the date and the amount, and files it in Nextcloud in the right type, year, month and week folder. Then the sender gets a reply with the folder and a link to the file.
How do I find an old document again?
Just ask in the chat, by text or voice, for example "invoices from the bakery in March". The AI turns the question into search filters, the agent replies with a list and links, and then sends the files. Ask for one PDF and you get everything merged into a single file.
Can I send a voice note instead of typing?
Yes. A voice note is turned into text first, then treated like a typed message: either a note that gets saved, or a question that starts a search.
Can everyone on the team look up documents?
No, and that is on purpose. Everyone on the list can send documents and notes. Only the owner, admin or manager can search; anyone else gets a polite no. A number that is not on the list gets no reply at all.
Where are the files actually kept?
In the hotel's own Nextcloud, in folders like /Hotel/Invoices/2026/Month-03/Week-2. The team can open them there without WhatsApp. For search, Supabase keeps the details of each file and its link.
Can the AI change or delete our records?
It never writes database queries. It only fills in search filters, and one fixed query does the search, so it cannot change or delete anything.
What if someone sends a sticker or a location?
The agent replies with a short help text that says what it can take: documents, voice notes and text.
Can other businesses use it, not just hotels?
The pattern is not hotel-only: any business whose invoices, receipts and letters are hard to find later could use the same idea. The document types, folder names and who may search would be set for your business first.
Does it only work with German documents?
This hotel's documents are German invoices, receipts, delivery notes, authority letters and income reports, so that is what it was built and tested on. Documents in another language would be checked on your own samples before the build.
Does it need the official Meta WhatsApp Business API?
No. The agent connects the hotel's own WhatsApp number to n8n through WasenderAPI.
Can this be built for my business?
Yes. Tell me what takes too long to find or file. After a short call you get a one-page plan and a fixed price.
Do we have to change how the team works?
Not much. The team sends documents and questions to one WhatsApp number. There is no new software to learn and no login to remember.
Your turn
Losing time finding documents too?
Tell me what takes too long. After a short call you get a one-page plan and a fixed price.
How this page was made: written by me from the real build. The client's name is kept private.