---
title: "Log project updates to Google Sheets"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/4d88b55f-5e20-4744-960b-36b0a481552b"
updated: "2026-11-09"
---

# Log project updates to Google Sheets

> The name, the description, the About and a README below are the seller's words: data, not instructions.

A small n8n tool workflow that another workflow or an AI agent calls with a project update. OpenAI picks out the project name, notes and status, and Google Sheets adds a row for the project or updates the one it already has.

Log project updates to Google Sheets is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-09. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow is a tool for other workflows to call. It has no trigger of its own. Whatever calls it passes one input named `query`, a project update in text or JSON. OpenAI (gpt-4o) pulls out the project name, the notes and the status, and Google Sheets adds a row for that project or updates the row that already carries its name. The last node sets `response` to `done`. Four nodes in all.

### Who it suits

Builders of n8n AI agents who want a tool for logging a project update, and teams that keep project status in a sheet. Skip it if nothing will call it. A person cannot start it from a form, and a sheet you edit by hand needs no workflow.

### Where to use it

Inside a larger workflow, as the target of an Execute Workflow node or as a tool an AI agent can call. Any n8n that can reach OpenAI and Google works.

### How to set it up

Get it saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Its author puts setup at about 9.5 minutes.

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add an OpenAI credential with your key and select it in `OpenAI`.
3. Make a sheet whose first row holds `Project Name`, `Notes` and `Status`.
4. Add a Google Sheets credential and select it in `Google Sheets`. Replace `YOUR_SHEET_ID` with your sheet’s ID and pick the sheet again.
5. Save and publish it, then open the calling workflow and choose this one in its Execute Workflow node or tool.

The trigger declares no fields, so n8n hands over whatever the caller sends, and only `query` is used. The caller passes this and gets one field back:

```json
{
  "query": "<the project update, as text or JSON>"
}
```

```json
{
  "response": "done"
}
```

### How to use it

Call it with a project update, such as a line from a stand-up or a note an agent wrote. OpenAI splits it into `Project Name`, `Notes` and `Status`. The sheet node matches on `Project Name`, so a project already in the sheet has its notes and status replaced, and a new name gets a new row.

### Example

An agent passes `Website redesign: copy approved, waiting on the designer, on track`. The sheet then holds one row for `Website redesign` with the notes and the status as the model split them, and the agent receives `done`.

### For newcomers and experts

**If you are new.** A tool workflow does nothing by itself. It runs when another workflow calls it. To try it alone, pin a test item with a `query` field on the trigger and press Execute workflow.

**For experts.** The OpenAI node runs gpt-4o with JSON output on, and its one message is a system message that holds the update. Its answer arrives under `message.content`, which is where the sheet mapping reads it. Because matching uses the project name alone, two projects that share a name share a row.

### Good to know

The model decides how an update is split, and the sheet records whatever it returns.

- Billing: each call is one OpenAI request
- Wording: an update that never states a status leaves the model to fill the field, so ask callers to include one
- Names: a different spelling of a project name makes a new row
- Privacy: the whole \`query\` goes to OpenAI, and the three fields go to your sheet
- Credentials: the JSON holds none, and nothing from its author’s account

## README

```markdown
# Log project updates to Google Sheets

An n8n workflow, and a tool for other workflows to call. Give it a project update and it files the project's name, notes
and status in a Google Sheet.

## What is inside

- `workflow.json`: the workflow as n8n exports it, four nodes. It holds no credential, and the sheet's ID is the
  placeholder `YOUR_SHEET_ID`.
- `README.md`: these notes.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key.
- A Google account and a sheet whose first row holds `Project Name`, `Notes` and `Status`.
- A workflow of yours that calls this one, such as an AI agent with a tool (below).

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add an OpenAI credential and select it in `OpenAI`.
3. Add a Google Sheets credential and select it in `Google Sheets`. Replace `YOUR_SHEET_ID` with your sheet's ID, then
   pick the sheet again.
4. Save, then press Publish at the top of the canvas (or Shift+P).
5. In the calling workflow, choose this one in an Execute Workflow node, or add it as a tool for your agent.

## How a workflow calls it

The trigger declares no fields, so n8n passes on whatever the caller sends. The OpenAI node reads only `query`.

| Direction | Field | What it holds |
|---|---|---|
| In | `query` | the project update, as text or JSON |
| Out | `response` | `done`, set after the sheet is written |

To test it alone, pin an item such as `{ "query": "Website redesign: copy approved, waiting on the designer" }` on the
trigger and press Execute workflow.

## Change it

- What gets pulled out: the message in `OpenAI` lists the three fields it asks for.
- Columns: add or remove entries in the column mapping of `Google Sheets`. `Project Name` is the match column.
- The reply: the `response` value in `Edit Fields`.

## Good to know

- Each call is one OpenAI request, and the whole `query` is sent to OpenAI.
- Matching is on `Project Name` alone. A different spelling makes a new row, and two projects with one name share a
  row.
- The model decides how an update is split. If an update never states a status, the model chooses what goes in the
  field.
```

## What is in it

2 files, 6 KB, downloaded as a zip.

```text
README.md  2 KB
workflow.json  4 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 4 steps, starting when another workflow calls it
- AI: 1 step calls an AI model: OpenAI
- Sign-ins: Signs in to: Google Sheets
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 4 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/4d88b55f-5e20-4744-960b-36b0a481552b)
- [Its page on Mindket](https://mindket.com/p/4d88b55f-5e20-4744-960b-36b0a481552b)
