Skip to main content

Use dynamic placeholders in API connections

Keep API connections up to date automatically using live values from your spreadsheet.

Written by Karoline Fernezlian

Every time an API connection runs, it sends a fixed request — the same URL, the same headers, the same body. If a parameter changes (a date, a tenant ID, an API key stored in a cell), you have to open the connection and edit it manually.

With dynamic placeholders, you can reference a cell in your destination spreadsheet directly inside the request. Sheetgo reads the cell at run time and injects its current value before sending — no edits needed.

Requirement: The connection destination must be a Google Sheets file.

How to set it up

Step 1 — Create or open an API Source connection

In app.sheetgo.com, create a new connection or open an existing one. Under Select source, choose HTTP Request (JSON).

Step 2 — Add a placeholder to your request

In the URL, Headers, or Body field, type a placeholder using the syntax below. The value will be pulled from your destination spreadsheet at run time.

Step 3 — Save and run

Click Finish and Save. Every time the connection runs, Sheetgo resolves the placeholders and injects the current cell values before sending the request.

The syntax

{{TabName!CellRef}}

  • TabName — the tab name in your destination spreadsheet.

  • ! — separator between tab name and cell reference.

  • CellRef — a single cell, such as A1, B4, or C12.

Placeholder

What it returns

{{Sheet1!A1}}

Current value of cell A1 in Sheet1

{{Config!B4}}

Current value of cell B4 in Config

{{Settings!C12}}

Current value of cell C12 in Settings

Tab names with spaces

If your tab name contains a space or special character, wrap it in single quotes:

Tab name

Placeholder

Config

{{Config!A1}}

My Config

{{'My Config'!A1}}

2026 Settings

{{'2026 Settings'!A1}}

When in doubt, always quote the tab name — it works for any name.

Where you can use placeholders

Placeholders work in three parts of the HTTP Request (JSON) source configuration:

URL

https://api.example.com/data/{{Config!A1}}
https://api.example.com/report?month={{Config!B1}}

Headers

Authorization: Bearer {{Config!A1}}
X-Tenant-Id: {{Config!B1}}

Body

{
  "start_date": "{{Config!A2}}",
  "end_date": "{{Config!B2}}"
}

A complete example

You have a tab named Config in your destination spreadsheet:

Cell

Value

A2

2026-01-01

B2

2026-06-30

Configure your request body as:

{
  "start_date": "{{Config!A2}}",
  "end_date": "{{Config!B2}}"
}

When the connection runs, Sheetgo sends:

{
  "start_date": "2026-01-01",
  "end_date": "2026-06-30"
}

Update B2 to 2026-12-31 in the spreadsheet — the next run picks it up automatically, with no changes to the connection.

Error handling

If a placeholder references a tab or cell that does not exist, or the cell is empty, Sheetgo logs a clear error and does not send the request. This prevents broken or incomplete API calls from running silently.

For advanced usage including filters, date formatting, and A:last references, see the A1 Notation Advanced Guide.

Did this answer your question?