Skip to main content

Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive

Workflow preview

Workflow preview
100%
Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

of the n8n Workflow This n8n workflow automates the transformation of spreadsheet data into professional charts and graphs using AI driven analysis. Triggered via Slack, it processes uploaded files...

Best for

  • Document Extraction automation workflows
  • Multimodal AI automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.aggregate, n8n-nodes-base.summarize, n8n-nodes-base.extractfromfile, n8n-nodes-base.switch, @n8n/n8n-nodes-langchain.agent, n8n-nodes-base.postgres, n8n-nodes-base.httprequest, n8n-nodes-base.googledrive

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by LeeWei.

Original n8n.io source

1.1 Workflow description

Title
Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive
Workflow name
Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive

Overview of the n8n Workflow

This n8n workflow automates the transformation of spreadsheet data into professional charts and graphs using AI-driven analysis. Triggered via Slack, it processes uploaded files (Excel, CSV, Google Sheets, or Drive links), interprets the data with an AI agent to determine the best visualization type (e.g., bar, line, pie, doughnut, or bubble charts), generates images via QuickChart, uploads them to Google Drive, and delivers the results back to the user in Slack with titles and shareable links. It maintains conversation context in Postgres for seamless multi-turn interactions and handles audio or text inputs for chart requests.

What this workflow does:

  • Hooks up to Slack for seamless spreadsheet uploads
  • Automatically extracts your data and generates bar charts, line graphs, bubble charts, and more
  • Delivers stunning visualizations straight back to you in Slack
  • Makes it easy to spot trends, patterns, and insights—on demand

How it Works

• Users upload spreadsheets or share links via Slack, along with a natural language request (e.g., "Create a bar chart of sales by month"). • The workflow detects file types, extracts and aggregates data, then uses an AI agent to parse the request and select an appropriate chart type.

• Data is formatted and sent to QuickChart's API to generate the visualization image.

• Images are uploaded to Google Drive, and a confirmation message with titles and links is sent back to Slack.


Set Up Steps

Setup takes about 15-30 minutes, mainly for credential configuration. Detailed node instructions are in the workflow's sticky notes—focus on pasting API keys and testing triggers. Once cloned, the workflow runs plug-and-play; only tweak credentials and optional prompts as needed.


⚙️ Turn Spreadsheets Into Charts & Graphics

Automate turning uploaded spreadsheets into AI-generated charts (bar, line, pie, etc.) via Slack, with results shared as Google Drive links.

🧑‍💻 Author: LeeWei


🚀 Steps to Connect:

  1. Slack Bot Setup

    • Create a Slack app at api.slack.com/apps and add scopes for chat:write, files:read, channels:read.
    • Generate a Bot User OAuth Token and paste it into the Slack Trigger node's credentials in n8n.
    • Invite the bot to your desired channel for file uploads and messages.
  2. OpenAI API Key

    • Sign up at platform.openai.com and generate an API key.
    • Paste this key into the OpenAI (gpt-4o-mini) node's credentials.
    • 💡 For cost efficiency, monitor usage—basic charts use minimal tokens.
  3. Postgres Database Connection

    • Set up a Postgres instance (e.g., via Supabase or your host) with a table named n8n_rodger_chat for chat history.
    • Add connection details (host, database, user, password) to the Postgres nodes' credentials.
    • This enables thread memory; skip if not using multi-turn chats (but recommended for context).
  4. Google Sheets & Drive Setup

    • Create OAuth2 credentials at console.cloud.google.com with scopes for Sheets (read) and Drive (upload, share).
    • Paste the credentials into the Google Sheets and implied Drive upload nodes.
    • Test by sharing a sample sheet—ensures data extraction and image storage work.
  5. QuickChart Integration

    • No API key needed for free tier (up to 500 charts/month); visit quickchart.io to confirm.
    • For production (100k+ charts/month), upgrade to corporate plan ($40/month) and add any auth if required in the HTTP Request node.
    • The node is pre-configured for chart generation—edit URL params only for custom styling.

Plug and Play Instructions

Clone the workflow JSON directly into n8n—all nodes (triggers, AI agents, extractors, switches) are pre-wired and ready. No re-setup needed beyond the steps above. Key editable fields (found in sticky notes):

  • AI Agent Node: System Prompt
    Customize the chart interpretation (default: auto-selects bar/line/pie/etc. based on data). Example: Change to prioritize "scatter plots for correlations" if needed.

  • Switch Nodes (File Detection)
    Add rules for new formats (e.g., .ods for OpenDocument) in the conditions for XLS/XLSX/CSV/Sheets/Drive.

  • HTTP Request Node (QuickChart)
    Tweak chart params like width=800&height=600 for size, or colors via ?chart=... for branding.

  • Let User Know Upload Complete: Text
    Adjust the confirmation message template for tone (e.g., add emojis or custom phrasing).

Test with a sample Slack message: "Make a line graph from this sales CSV over months." Results appear instantly with links.


Potential Customizations

  • Add Chart Types: Duplicate a chart branch (e.g., Line Graph) and integrate new QuickChart endpoints for scatter or funnel charts.
  • Switch AI Provider: Replace OpenAI with OpenRouter in the Chat Model node for alternative LLMs.
  • Batch Size: Edit the Loop Over Items node's batch for larger datasets (default handles small files efficiently).
  • Error Handling: Add IF nodes post-extraction to notify on invalid data.

Considerations and Improvements

  • Rate Limits: QuickChart free tier suits testing; scale to paid for heavy use. OpenAI tokens add up for complex data.
  • File Limits: Supports up to ~10MB uploads; for larger, preprocess externally.
  • Privacy: Data passes through OpenAI—review for sensitive info.
  • Enhancements: Integrate image OCR for scanned tables, or export to PDF for reports.

This workflow streamlines data viz without coding, perfect for teams analyzing trends on the fly. Questions? Drop a Slack message in your bot channel!

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Aggregate1

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 2 - Summarize1

Type / Role
n8n-nodes-base.summarize - summarize
Config choices
Version 1

Block 3 - Extract from Excel

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 4 - Switch2

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3

Block 5 - Extract from File

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 6 - Extract from File1

Type / Role
n8n-nodes-base.extractFromFile - extractFromFile
Config choices
Version 1

Block 7 - Aggregate

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 8 - Summarize

Type / Role
n8n-nodes-base.summarize - summarize
Config choices
Version 1

Block 9 - Aggregate2

Type / Role
n8n-nodes-base.aggregate - aggregate
Config choices
Version 1

Block 10 - Summarize2

Type / Role
n8n-nodes-base.summarize - summarize
Config choices
Version 1

Block 11 - Let User Know Upload Complete

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 1.7

Block 12 - Update Thread Memory Session

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.6

Block 13 - Update Thread Memory Session14

Type / Role
n8n-nodes-base.postgres - postgres
Config choices
Version 2.6

Block 14 - Download File2

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 15 - Download File3

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 16 - Download File4

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 17 - Download File5

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 18 - Get row(s) in sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 19 - Download File7

Type / Role
n8n-nodes-base.googleDrive - googleDrive
Config choices
Version 3

Block 20 - Message: User

Type / Role
n8n-nodes-base.slack - slack
Config choices
Version 2.3

Block 21 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3

Block 22 - Sticky Note31

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 23 - 4.1-mini

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenAi - lmChatOpenAi
Config choices
Version 1.2

Block 24 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Showing the first 24 of 82 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive
Complexity advanced
Nodes 82
Categories Document Extraction, Multimodal AI
Author LeeWei
Published 18 Sept 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/8697/8697.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Transform spreadsheet data into smart charts with OpenAI, QuickChart & Google Drive do?

of the n8n Workflow This n8n workflow automates the transformation of spreadsheet data into professional charts and graphs using AI driven analysis. Triggered via Slack, it processes uploaded files...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction, Multimodal AI use case.