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
Related Templates
Use OpenRouter in n8n versions <1.78
What it is: In version 1.78, n8n introduced a dedicated node to use the OpenRouter service, which lets you to use a lot...
Task Deadline Reminders with Google Sheets, ChatGPT, and Gmail
Intro This template is for project managers, team leads, or anyone who wants to automatically remind teammates of tasks ...
🤖 Build Resilient AI Workflows with Automatic GPT and Gemini Failover Chain
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How it works This...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments