Generate BigQuery SQL from Natural Language Queries using GPT-4o Chat

Give business users a chat box; get back valid BigQuery SQL and live query results.
The workflow:

Captures a plain-language question from a chat widget or internal portal.
Fetches the current table + column schema from your BigQuery dataset (via INFORMATION_SCHEMA).
Feeds both the schema and the question to GPT-4o so it can craft a syntactically correct SQL query using only fields that truly exist.
Executes the AI-generated SQL in BigQuery and returns the results.
Stores a short-term memory by session, enabling natural follow-up questions.

Perfect for analysts, customer-success teams, or any stakeholder who needs data without writing SQL.

⚙️ Setup Instructions

Import the workflow
n8n → Workflows → Import from File (or Paste JSON) → Save

Add credentials
| Service | Where to create credentials | Node(s) to update | |---------|----------------------------|-------------------| | OpenAI | <https://platform.openai.com> → Create API key | OpenAI Chat Model | | Google BigQuery | Google Cloud Console → IAM & Admin → Service Account JSON key | Google BigQuery (schema + query) |

Point the schema fetcher to your dataset
In Google BigQuery1 you’ll see:
SELECT table_name, column_name, data_type FROM n8nautomation-453001.email_leads_schema.INFORMATION_SCHEMA.COLUMNS Replace n8nautomation-453001.email_leads_schema with YOUR_PROJECT.YOUR_DATASET.
Keep the rest of the query the same—BigQuery’s INFORMATION_SCHEMA always surfaces table_name, column_name, and data_type.

Update the execution node
Open Google BigQuery (the second BigQuery node).
In Project ID select your project.
The SQL Query field is already {{ $json.output.query }} so it will run whatever the AI returns.

(Optional)Embed the chat interface

Test end-to-end
Open the embedded chat widget.
Ask: “How many distinct email leads were created last week?”
After a few seconds the workflow will return a table of results—or an error if the schema lacks the requested fields. As specific questions about your data

Activate
Toggle Active so the chat assistant is available 24/7.

🧩 Customization Ideas Row-limit safeguard**: automatically append LIMIT 1000 to every query.
Chart rendering**: send query results to Google Sheets + Looker Studio for instant visuals.
Slack bot**: forward both the question and the SQL result to a Slack channel for team visibility.
Schema caching**: store the INFORMATION_SCHEMA result for 24 hours to cut BigQuery costs.

Contact Email:** rbreen@ynteractive.com
Website:** https://ynteractive.com
YouTube:** https://www.youtube.com/@ynteractivetraining
LinkedIn:** https://www.linkedin.com/in/robertbreen

0
Downloads
0
Views
8.43
Quality Score
intermediate
Complexity
Author:Robert Breen(View Original →)
Created:8/13/2025
Updated:9/27/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments