Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that logs an expense you type in n8n’s chat. An agent calls a save step, a model reads the cost, the description and the date from your message, and a new row is added to a Google Sheet.
Expenses logged to Google Sheets from a chat message is an n8n workflow in the Finance & accounting category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Chat message
You start it by sending a message in n8n’s chat, and it needs:
A new row in your Google Sheet and a chat reply that confirms it
What you need before you start.
Agent and reader
Runs the chat agent and reads the cost, the description and the date out of your message.
NeedsOpenAI API key
Expense log
Keeps one row for each expense.
NeedsGoogle account sign-in
Checked by Mindket on 13 Nov 2026
This n8n workflow logs an expense from a chat message. You type something like “coffee beans 18.40 eur on 3 march” into n8n’s chat. An agent with a short memory passes the message to a save tool, which runs a second flow in the same workflow. In that flow a model reads a cost, a description and a date out of the message, and a new row goes into a Google Sheet. The agent then tells you the expense is saved. Nine nodes run it, and one sticky note explains the setup.
People who track their own or a small team’s spending and would rather type a line than open a spreadsheet. Skip it if you need receipts, tax categories or currency conversion, since it stores only what your message says.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Freelance | Freelancers | Log a cost as soon as it happens | A designer types a font license and its price after buying it and finds a row in the sheet. |
| Retail | Shop owners | Note small cash spending | An owner types “cleaning supplies 23.50” at the till. |
| Events | Organizers | Track costs for one event | An organizer types each supplier’s bill into the chat on setup day. |
| Households | Families | Keep a shared spending list | A parent types “school trip 15” and the row carries today’s date. |
You need a little n8n: import a file, add OpenAI and Google credentials and make a sheet with four headers.
Any n8n that can reach OpenAI and Google Sheets will run it. The tool calls the saved copy of the workflow, so save and publish it before you try the chat.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. You need an OpenAI key and a Google Sheet.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | An API key |
| A sign-in that can edit your sheet | |
| A sheet | One tab with a header row of date, cost, descr and msg |
workflow.json.OpenAI Chat Model and in OpenAI Chat Model1.Save expense into Google Sheets.Parse msg and save to Sheets points at this same workflow. The file sets its Workflow field to this workflow’s own id.Type your spending into the chat, one expense per message. Each message adds one row. Give the cost and what it was for, and add a date when it was not today.
| To change | Where |
|---|---|
| The agent’s rules and reply | The system message in AI Agent |
| What the model reads from a message | The attributes in Expense text to JSON parser |
| The columns | Save expense into Google Sheets |
| The models | The two OpenAI chat model nodes |
| The number of tool calls | The Max Iterations option in AI Agent |
A freelancer types “coffee beans 18.40 eur on 3 march 2026”. The model returns the cost 18.4, the description “coffee beans” and the date 2026-03-03. A row with those values and the message goes into the sheet, and the agent replies that the expense is saved and shows what the save step returned.
A message with no date gets the time of the run as its date.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. An agent is a node that decides when to call a tool. An information extractor pulls named fields out of a piece of text.
For experts. Parse msg and save to Sheets is a Call n8n Workflow tool set to ={{ $workflow.id }}, and its input1 takes chatInput. In the called flow, Workflow Input Trigger feeds Expense text to JSON parser, whose cost, descr and date become the columns, and msg comes from input1. The agent stops after 3 iterations.
| Node | What it does | What to know |
|---|---|---|
AI Agent | Takes the message and calls the tool | Stops after 3 iterations |
Parse msg and save to Sheets | Runs the second flow | Calls this workflow by its id |
Workflow Input Trigger | Starts the second flow | One text field, input1 |
Expense text to JSON parser | Reads cost, description and date | Cost and description are required |
Save expense into Google Sheets | Appends the row | The date falls back to the run time |
Two model names changed, and the tool runs the saved copy of the workflow.
gpt-5-mini. OpenAI’s page, read on 12 November 2026, shuts it down on 11 December 2026 and names gpt-5.6-terra. The agent calls a tool, and gpt-6-luna on Chat Completions calls tools only with reasoning effort set to none, which n8n’s node never sends, so the agent uses gpt-5.6-terra. The extractor calls no tools, so it uses the cheaper gpt-6-lunaAn n8n workflow that logs an expense you type in n8n's chat. An agent calls a save step, a model reads the cost, the description and the date from your message, and a new row is added to a Google Sheet.
workflow.json: the workflow as n8n exports it, 10 nodes. Nine run, and one is a sticky note. Five of the nine belong to the chat flow: the chat trigger, the agent, its OpenAI chat model, its window memory and its save tool. The other four make the second flow: a Workflow Input Trigger, an information extractor with its own OpenAI chat model, and the Google Sheets step. It holds no credential.README.md: these notes.OpenAI Chat Model nodes had no model set, so they ran n8n's default for their version, gpt-5-mini. OpenAI's deprecation page, read on 12 November 2026, shuts that model down on 11 December 2026 and names gpt-5.6-terra.OpenAI Chat Model, under AI Agent, now uses gpt-5.6-terra. The agent calls a tool, and OpenAI's page for gpt-6-luna says Chat Completions supports function calling only with reasoning effort set to none, which n8n's chat model node never sends.OpenAI Chat Model1, under Expense text to JSON parser, now uses gpt-6-luna. That node puts the format instructions into the prompt and calls no tool.Parse msg and save to Sheets pointed at a saved workflow in the author's own n8n. Its Workflow field now holds the expression ={{ $workflow.id }}, which is this workflow, so the tool runs the second flow of the copy you import.Save expense into Google Sheets are empty, so you pick your own. The sticky note is written again, without the link to the author's sheet.Mindket read this copy against n8n's source and OpenAI's pages. It was not run on a live n8n.
date, cost, descr and msg.workflow.json.OpenAI Chat Model and in OpenAI Chat Model1.Save expense into Google Sheets.Parse msg and save to Sheets points at this same workflow. The file sets its Workflow field to this workflow's own id.When chat message received passes your message to AI Agent, which has Window Buffer Memory and OpenAI Chat Model.Parse msg and save to Sheets is named save_expense_in_db for the agent. It runs the second flow of this workflow and hands it your message as input1.Workflow Input Trigger starts that flow and passes input1 to Expense text to JSON parser.Expense text to JSON parser asks its model to convert the expense to JSON with three fields: cost (a number, required), descr (the description, required) and date (a date in UTC format).Save expense into Google Sheets appends a row with date, cost, descr and msg, the original message. When the model gives no date, the date is the time of the run.AI Agent.Expense text to JSON parser.Save expense into Google Sheets. If you add a field, add it to the extractor and the sheet.AI Agent.AI Agent.NOTICE.md 674 B README.md 5 KB workflow.json 9 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
NeoQuasar · Kit
Forecasts financial candlestick series with a 4.1M-parameter foundation model trained on data from over 45 exchanges. For quant researchers and developers who…
An n8n workflow that sends a Hebrew WhatsApp reminder for an unpaid invoice 7, 14 and 30 days after its due date. It reads the open invoices from a Google Shee…
An n8n workflow that files invoices. It watches a Google Drive folder, has LlamaParse read each new file and an OpenAI model pick out the line items. Airtable…