SF Google Sheet Cell
A Google Sheets cell, dropped straight into your prompt — no API key involved
- cell_value
Here's the use case that makes this node worth a page: you keep your prompt ingredients in a spreadsheet, and you want one cell of it to show up in a ComfyUI workflow. Maybe it's a client name, a style tag, a fixed negative prompt your whole team has agreed on, or a per-job variable you edit in Sheets instead of inside the node graph. SF Google Sheet Cell grabs a single cell from a publicly shared Google Sheet and hands it to you as a plain string, so you can wire it into a text encoder, a prompt builder, or whatever else eats a string.
The name undersells the trick: the node doesn't call the Google Sheets API and needs no API key, no OAuth, no service account. It uses the same URL trick that powers a thousand "export this sheet" tools - it hits Google's gviz/tq CSV endpoint with your sheet's GID and parses the returned CSV. That's why it only works on sheets shared as "Anyone with the link can view," and why it's one requests.get away from "the sheet isn't public" being the number one error.
The inputs that matter
Four required inputs, and they're all the thing you'd expect:
- url - the full
https://docs.google.com/spreadsheets/d/.../editlink. It only needs to be a link anyone can view. - sheet_gid - which tab. The default
0is the first sheet. For any other tab, open it in your browser and copy the number after#gid=in the URL. - row - 1-indexed, matching the row numbers Google shows you. Row 1 is the header row if you have one.
- col - a letter,
A,B, ...,AA,AB. Same letters the spreadsheet shows.
The single output, cell_value, is a STRING. Feed it to a CLIP text encoder, concat it with other strings, or use it to build a filename. Because it's fetched at execution time, the same workflow gives you different results just by editing the sheet - no need to touch ComfyUI.
Installing it
The node ships in the SF ComfyUI Nodes pack from Stillfront. The easy route is ComfyUI Manager: search for "SF ComfyUI Nodes" and hit Install, then restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/Stillfront/comfyui-sf-nodes.git
cd comfyui-sf-nodes
pip install -r requirements.txt
It's a lightweight node - just requests under the hood - so there's nothing heavy to download and no models.
Common issues
The failure modes are almost all "the sheet isn't actually public." If you get an HTTP error, open the sheet, hit Share → Anyone with the link → Viewer, and try again. If you ask for a row or column that doesn't exist, the node throws a clear "out of range" error rather than silently returning garbage - check that the GID points at the tab you think it does, because tab order in the URL bar and tab order in your head don't always match. One subtle thing: it reads live on every run, so if you're offline or Google throttles you, the node fails loudly. For anything that needs to be queryable per-run but edited by someone who shouldn't be in your ComfyUI install, this is the clean way to do it.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | https://docs.google.com/spreadsheets/d/.../edit | Full Google Sheets URL. The sheet must be shared: Share → Anyone with the link → Viewer. |
| sheet_gid | STRING | 0 | Sheet tab GID — found in the URL after '#gid='. Use 0 for the first/default sheet. Example: for ...#gid=1234567890 enter 1234567890. |
| row | INT | 1 | Row number starting from 1 (matches the row numbers shown in Google Sheets). |
| col | STRING | A | Column letter as shown in Google Sheets (A, B, C, ... Z, AA, AB, ...). |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| cell_value | STRING | — |