Building a Custom GPT to Manage my Book List on Airtable
As a low-code AI engineer, I’ve been testing how Custom GPTs can support practical data management tasks that relate to real-world interactions - managing my task list, collecting data about my garden, and logging and interpreting the symbols across my dreams.
This time, I’ve created a custom GPT to manage my book list using Airtable. Here’s a breakdown of the process and observations on how it performs.
Step 1. Airtable Database Setup
Created an Airtable base with my book list.
Created a Personal Access Token for Airtable API access in Airtable’s Developer Hub with read and write permissions.
Step 2. Custom GPT Setup
Created a new custom GPT and used the built-in GPT Builder to give general instructions for booklist management.
Provided the GPT the data schema of the table and a couple well-formatted example interactions in the prompt.
Created an action for the GPT to use the Airtable API to list records, add a book, update a book, or delete a record. I used Actions GPT to assist.
With this, the setup is done and time for testing.
Putting the Custom GPT to Work
Adding and Updating Records
I can interact with this assistant using the default ChatGPT interface via text or voice. In this example, it edits an existing book and adds a new one to the list.
The GPT successfully spoke to the Airtable API and updated the Airtable list.
Analyzing the Table Data
While the GPT can read the table, data analysis proves challenging. It often gets the schema wrong, even though it has it in its prompt, and has to try again. Luckily it got it right on the second try here.
What seems to be lacking is the ability for the GPT to learn on the fly. If it keeps getting the schema wrong, it should be able to update the schema in its prompt (with human confirmation) so that it performs better next time. Currently, I have to investigate what the error might be and fix it in the prompt or Action myself.
Creating a Chart
Then, I ask it to create a chart. The main issue is the lack of ability to retrieve the db as a workable data object, right now it has to run a script to process the JSON to e.g. draw a graph of the number of books I've read per month over the years.
It gets to a nice chart after a long time spent writing out each “date read”, but the counts seem off.
After checking the database, it only captured 132 records when there are actually 176 records.
Challenges
Schema Accuracy: The GPT sometimes struggles with the database schema, require multiple attempts to get it right without learning between sessions.
Multi-step interactions are difficult for it, it doesn’t know to e.g. read the book list to get the exact spelling of a book name before updating a book.
Data Processing and Incomplete Information Retrieval: The GPT lacks the ability to retrieve the database as a workable data object. It has to write out each record in the chat to process JSON for tasks like graphing, leading to incomplete or inaccurate data retrieval.
Systems Thinking: Right now, the steps to interface between these parts don’t feel fluid. A visual interface to connect these parts in a system would be amazing. Ideas like Plumb look like they will be magic in the future, but don’t cut the ease-of-use test for now.
Compute Capacity: if the GPT takes an action, it seems like the wisdom it has to process the result of the action is much lower than a typical response without an action.
Looking Forward
There are a few gaps in the apparent GPT functionality that will rapidly improve when OpenAI fixes them. A lot of these could be improved by simply improving model intelligence, but the simplicity of a visual representation of the system in the interface including which actions / APIs the GPT has access to would be extremely helpful to creators.
I have a few other of these database-linked GPTs that are managing my tasks, recording and analyzing my dreams, and collecting data about my garden. I’m very interested for when GPTs can be contextually called by the main interface instead of having to initiate each one.
Overall, Custom GPTs can perform some interesting tasks. I find that I still interact directly with the Airtable interface when I’m sitting at my computer, but if I get a new book recommendation or finish an audiobook while walking, I like to pull up the Custom GPT and tell it to update my list. A world with real agentic AI assistants doesn’t feel too far away.