# Spreadsheet data into smart charts with OpenAI: n8n workflow

> Started by an event in a connected app, and works across Google Drive, Google Sheets, Postgres and Slack. It hands the judgement calls to OpenAI.

Source: https://millionrounds.com/workflow/spreadsheet-data-into-smart-charts-with-openai (Millionrounds; every figure on the page links to its filing or article)

[Automation library](https://millionrounds.com/workflows) · [Chat assistants](https://millionrounds.com/workflows?category=Chat+assistants#library)

# Spreadsheet data into smart charts with OpenAI

Started by an event in a connected app, and works across Google Drive, Google Sheets, Postgres and Slack. It hands the judgement calls to OpenAI. 76 steps, 8 branches, 1 loop or waits: large, and worth reading before you trust it with anything live.

Large Calls a model: OpenAI

[Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fspreadsheet-data-into-smart-charts-with-openai)

**76 steps** Large: read it before trusting it with anything live

**8** Branches: places the flow splits

**1** Loop or waits

**4** Services it connects to

## The flow

Starts it 1 Model 16 Logic 23 Service 20

The steps in the order they run, from what starts it. The first 60 of 76.

- 1 **4.1-mini** Lm Chat Open Ai *Model*
- 2 **Structured Output Parser** Output Parser Structured *Model*
- 3 **Slack Trigger** Slack trigger *Starts it*
- 4 **Structured Output Parser1** Output Parser Structured *Model*
- 5 **Structured Output Parser3** Output Parser Structured *Model*
- 6 **Structured Output Parser4** Output Parser Structured *Model*
- 7 **Structured Output Parser6** Output Parser Structured *Model*
- 8 **Structured Output Parser9** Output Parser Structured *Model*
- 9 **Let User Know Upload Complete** Agent *Model*
- 10 **Review and approval** Agent *Model*
- 11 **AI Agent** Agent *Model*
- 12 **Bar Chart** Chain Llm *Model*
- 13 **Line Graph** Chain Llm *Model*
- 14 **Bubble Chart** Chain Llm *Model*
- 15 **Doughnut Chart** Chain Llm *Model*
- 16 **Pie Chart** Chain Llm *Model*
- 17 **Initial Processing** Code *Logic*
- 18 **Message: User** Slack *Service*
- 19 **Message: User 1** Slack *Service*
- 20 **If** If *Logic*
- 21 **Edit Fields** Set *Logic*
- 22 **If audio** If *Logic*
- 23 **Update Thread Memory Session14** Postgres *Service*
- 24 **Update Thread Memory Session6** Postgres *Service*
- 25 **Get row(s) in sheet** Google Sheets *Service*
- 26 **HTTP Request** Http Request *Service*
- 27 **Switch1** Switch *Logic*
- 28 **Switch3** Switch *Logic*
- 29 **Update Thread Memory Session** Postgres *Service*
- 30 **Update Thread Memory Session1** Postgres *Service*
- 31 **Loop Over Items** Split In Batches *Logic*
- 32 **Upload file** Google Drive *Service*
- 33 **Process Audio** Http Request *Service*
- 34 **Set Text** Set *Logic*
- 35 **Process Other Files** Set *Logic*
- 36 **Process Drive Links** Set *Logic*
- 37 **Aggregate3** Aggregate *Logic*
- 38 **Process Spreadsheet Links** Set *Logic*
- 39 **Set Titles & Links** Set *Logic*
- 40 **OpenAI** Open Ai *Model*
- 41 **Merge Text Input** Merge *Logic*
- 42 **Parse Links 1** Code *Logic*
- 43 **Parse Links 2** Code *Logic*
- 44 **Switch2** Switch *Logic*
- 45 **Merge** Merge *Logic*
- 46 **Combine Text Input** Code *Logic*
- 47 **Log Files** Google Sheets *Service*
- 48 **Log Drive Links** Google Sheets *Service*
- 49 **Download File2** Http Request *Service*
- 50 **Download File3** Http Request *Service*
- 51 **Download File4** Http Request *Service*
- 52 **Download File5** Google Drive *Service*
- 53 **Download File7** Google Drive *Service*
- 54 **Switch4** Switch *Logic*
- 55 **Merge Text & Files** Merge *Logic*
- 56 **Extract from Excel** Extract From File *Service*
- 57 **Extract from File** Extract From File *Service*
- 58 **Extract from File1** Extract From File *Service*
- 59 **Switch** Switch *Logic*
- 60 **Combine Text & Files** Code *Logic*

## How it's built

- **Starts on:** An event in a connected app
- **Steps:** 76, with 8 branches, 1 loop or waits
- **Size:** Large: read it before trusting it with anything live
- **Connects to:** Google Drive, Google Sheets, Postgres, Slack
- **Model:** OpenAI

## Questions

What does it need to run?

An n8n account, plus your own Google Drive, Google Sheets, Postgres and Slack accounts, and a key for OpenAI. You connect your own accounts after importing it; none are included.

What starts it?

It starts on an event in a connected app.

Does it use AI?

Yes. It calls OpenAI. Model calls are billed by the provider, not by n8n.

How long does it take to set up?

Take your time. At 76 steps it is large: read it before trusting it with anything live.

How do I import it?

Copy the workflow, open a new workflow in n8n and paste. The steps appear on the canvas, ready for your own accounts.

**Before you run it**

Nothing here has been tested by us. It is somebody's working automation, read and described from its own steps. Treat the connections it wants as a list of accounts it will touch, and read the 76 steps before you point it at anything that matters.

## Run it in n8n

- **Create your n8n account** Free to start. n8n is where the workflow runs. [Create an n8n account ↗](https://millionrounds.com/n8n)
- **Download the workflow** Free with a Millionrounds account. [Download free](https://millionrounds.com/login?next=%2Fapp%2Fworkflow%2Fspreadsheet-data-into-smart-charts-with-openai)
- **Paste it into n8n** Open a new workflow in n8n and paste. Then connect your own accounts.

Stored with the author's traces removed: canvas notes, instance identifiers, saved credential names and any live document they had left behind.

## Connects to

Each opens the other workflows that use it.

[Google Drive](https://millionrounds.com/workflows?service=Google+Drive#library)[Google Sheets](https://millionrounds.com/workflows?service=Google+Sheets#library)[Postgres](https://millionrounds.com/workflows?service=Postgres#library)[Slack](https://millionrounds.com/workflows?service=Slack#library)

## Workflows like it

Also chat assistants, with the same services where possible, closest in size first.

- [**Build a WhatsApp AI shopping bot with Gemini and OpenAI** 70 steps · calls a model · Google Drive, Google Sheets](https://millionrounds.com/workflow/build-a-whatsapp-ai-shopping-bot-with-gemini-and-openai)
- [**Run AI employee onboarding with Groq and Google Workspace** 62 steps · calls a model · Gmail, Google Drive](https://millionrounds.com/workflow/run-ai-employee-onboarding-with-groq-and-google-workspace)
- [**Auto-Generate Competitive Battlecards with Slack and Notion** 49 steps · calls a model · Notion, Slack](https://millionrounds.com/workflow/auto-generate-competitive-battlecards-with-slack-and-notion)
- [**Multi-agent healthcare assistant with WhatsApp and OpenAI** 49 steps · calls a model · Google Sheets, WhatsApp](https://millionrounds.com/workflow/multi-agent-healthcare-assistant-with-whatsapp-and-openai)
- [**Route ERP tasks across departments with OpenAI and Slack** 44 steps · calls a model · Gmail, Slack](https://millionrounds.com/workflow/route-erp-tasks-across-departments-with-openai-and-slack)
- [**Smart kitchen & inventory assistant with OpenAI** 43 steps · calls a model · Google Sheets, Telegram](https://millionrounds.com/workflow/smart-kitchen-and-inventory-assistant-with-openai)
