Building a Custom GPT for Spreadsheet CRUD
API Spreadsheets Team ·
Pre-requisite
- Make sure you have an account on API Spreadsheets
- Upload an excel file and/or Google Sheets
1️⃣ Download your file's OpenAPI spec
- Open the file page in the dashboard.
- Click AI ▸ Download OpenAPI (.yaml).
- This will download a file named openapi-spec.yaml. We will be using the contents of this later on

This spec can now be copied and pasted in a Custom GPT
2️⃣ Create a Custom GPT
- In ChatGPT, click Explore ▸ Create.
- Name your GPT, add a Description, and Instructions (system prompt). For our example Custom GPT that accesses our NYC Restaurant recommendation spreadsheet, we have gone with the following
- Name Personal NYC Restaurant Agent
- Description This GPT looks at the personalized recommendations in a spreadsheet and reads, adds, updates and deletes them
- Instructions The GPT can look at the restaurant data in the spreadsheet to provide targeted recommendations. It can also add new restaurants to this list. When adding new restaurants make sure to ask the user for all the pertinent details. Pertinent details can be defined by the columns in the spreadsheet. If the user asks for deleting a row, make sure to confirm one more time. If the user asks to update any information for a restaurant, also confirm before making the update
- Make sure to check Code Interpreter & Data Analysis and then click on Create new action
- Now open the openai-spec.yaml file that you downloaded previously and copy and paste ALL the content in the Schema text box. If the paste is successful you will see Available Actions being populated
- Then scroll down to the Privacy Policy and paste the API Spreadsheets privacy policy link (https://apispreadsheets.com/privacy)
- Click Create to make your CustomGPT connected to spreadsheet live. Choose your Share GPT setting and click Save





3️⃣ Try it out
“What are the top cuisines recommend in the NYC restaurants list.”“Add a new restaurant in this list called Mekelburg's.”“Now remove the Mekelburg's restaurant”


4️⃣ Best practices
- One intent per prompt. Ask either to read or to update/delete—mixing actions confuses the model.
- Be explicit with column names to avoid accidental matches.
- Provide as much relevant details as possible for what you would like to do
Troubleshooting
- Large responses can hit Chat GPT limits. You can either be super specific OR Contact Us for a custom chat solution
- Need multi-file access? Use an account-wide MCP spec with Claude. See MCP guide here
