Describe the problem/error/question
I am managing a self-service indoor tennis club. I have a booking platform which I use to manage the courts and the users. My club has two courts. I want to implement an AI chatbot on the website that answers users questions (from FAQ section) and also provides availability information for the courts without the need for users to login in the booking platform.
The AI agent for the chatbot is already configured to work with a Pinecone DB that have all the FAQs but I am struggling to make the Agent connect to the Booking API and properly get that free/busy information. That is why I decided to first make another flow that updates on a fixed interval a local n8n database with this information and then the agent to consume that information.
I am struggling with configuring this updates. The database should be very simple:
Column A: Time - 6:00, 6:30, 7:00, 7:30 …. until 21:30. (Our club works from 6 until 22 with possibility to book 30 minutes interval).
Column B: Court 1 - Fields should contain only Free/Busy information
Column C: Court 2 - Same as court 1
The upsert node should always update only the Free/Busy information and always start from the top (6:00 o`clock). One option is to overwrite the previous value another is to overwrite only if there is a change in the value. I am fine with both but the second option can be a problem because of the next note…
Note:
The data from API about the court booking should be normalized. Currently, the API return 0 if the court is free or an ID of the booking (anything different than 0) if the court is booked.
I tried to without normalization and to instruct the AI agent about what is what but it still very often return values from the table which can be very much confusing for the users.
So I will be grateful to hear from you how can I accomplish my goal. I am attaching a screenshot from my current workflow but note that at some point yesterday evening I was already frustrated and made some weird implementations ![]()
What is the error message (if any)?
Please share your workflow
The spilt node is to separate the slots from 6 to 22.
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
Share the output returned by the last node
Information on your n8n setup
- n8n version: Latest docker image on Hostinger Provider
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app): docker image on Hostinger Provider
- Operating system: ubuntu 24.04
