workflows.fit
Back to n8n workflows
n8n template$9By Matty Reed

Automate GPT-4o fine-tuning with Google Sheets or Airtable data

Who is this for? Anyone curating before/after text examples in a spreadsheet and wanting a push-button path to a fine-tuned GPT model—without touching curl. Works with Google Sheets or Airtable. --- What problem does ...

Data & StorageProductivityDevelopmentCore NodesAILangchainUtilityWait
Open checkout
Loading interactive preview...

Template notes

Who is this for? Anyone curating before/after text examples in a spreadsheet and wanting a push-button path to a fine-tuned GPT model—without touching curl. Works with Google Sheets or Airtable.

---

What problem does it solve? Manually downloading CSVs, converting to JSONL, uploading, and polling OpenAI is a slog. This flow automates the whole loop: grab examples flagged Ready, build the JSONL file, start the fine-tune, then log the resulting model ID back to a registry sheet/table for reuse.

---

How it works

| | Node | Purpose | |---|------|---------| | 1 | Schedule Trigger | Runs weekly by default (change as needed). | | 2a | Get Examples from Sheet | Pulls rows where Ready = TRUE from your Google Sheet. Uses the [JSONL-Template Sheet](https://docs.google.com/spreadsheets/d/1DvZNQKWKztvPcArkMuviUZ0tsJVw4WiykFMI1yMfNI/edit?usp=sharing) as the expected column layout. | | 2b | Get Examples from Airtable (disabled) | Alternate source for Airtable users. | | 3 | Create JSONL File (Code) | Converts each example to chat-format JSONL and splits into train.jsonl / val.jsonl (80/20). | | 4 | Upload JSONL | Uploads the training file to OpenAI (purpose: fine-tune). | | 5 | Begin Fine-Tune | Starts a fine-tune job on gpt-4o (editable). | | 6 | Wait → Check Job → IF | Polls every minute until status = succeeded. | | 7a | Write Model to Sheet | Appends the new model ID + meta to your Model Registry sheet. | | 7b | Write Model to Airtable (disabled) | Equivalent logging step for Airtable. |

---

Setup steps