---
title: "Retable Integration"
description: "Retable is an online spreadsheet-database organized as workspaces containing projects containing tables. Agents get, insert, update, delete and search rows, create workspaces, projects and tables, add and remove columns and upload files to a project."
url: https://flowrunner.ai/integrations/retable
date_modified: 2026-09-04T19:26:11-07:00
---

# Retable

[Database](https://flowrunner.ai/integrations/category/databases-warehouses)

Retable is an online spreadsheet-database organized as workspaces containing projects containing tables. Agents get, insert, update, delete and search rows, create workspaces, projects and tables, add and remove columns and upload files to a project.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 17 actions · API key · available

[Retable website](https://retable.io/) · [Platform Documentation](https://docs.retable.io/retable-user-guide/retable-api/api) · Capability data verified 2026-08-27

1.  A new client engagement is approved and needs its own tracking space
2.  Create Project sets up the engagement inside the client's workspace
3.  Create Table adds the tracker, and Add Columns appends the fields the engagement needs
4.  Get Table returns the column identifiers every later write will address cells by
5.  Insert Rows loads the opening milestones with cells keyed by identifier
6.  The agent posts the project link and the column map to the engagement channel
7.  The engagement lead confirms the structure before the tracker is opened to the client

## What This Integration Enables

Retable is an online spreadsheet-database organized as workspaces containing projects containing tables, and the part worth automating is the containment. Most tools in this category give an API to the rows and leave the structure to the interface. Retable exposes the whole ladder, so a FlowRunner agent can create the workspace, create the project inside it, create the table, append the columns, and then load the rows, all in one flow. That turns "spin up a tracker for the new engagement" from a checklist into a step.

There is one asymmetry to build around, and it runs through every flow on this API. Every row operation addresses cells by column identifier. Delete Columns addresses columns by title. Titles are neither unique nor stable, so the single operation on this API that destroys a column of data is the one addressed by the least reliable key it offers. FlowRunner agents therefore read the current structure with Get Table immediately before any structural change, and treat additive edits and destructive ones as different classes of work. Retable also describes its API as being in public beta, so treat the surface as liable to move and build flows that read structure rather than assume it.

### Without FlowRunner

**Setup by hand, every time**: A new engagement means recreating the same workspace, project, and table layout by clicking

**Columns addressed by eye**: Writes are mapped against column titles a person read off the screen, and a rename breaks them silently

**Structural edits are one-way**: A column removed to tidy a view takes every value in it, and nobody checks which column the title matched

### With FlowRunner

**Provisioning as a step**: Workspaces, projects, and tables are created in the same flow that populates them

**Identifiers resolved at run time**: Get Table returns the current column identifiers, so a write addresses the column rather than a label that moved

**Structure changes carry a pause**: Adding columns is routine, removing them is a decision a person makes against the current column list

## Use Case Scenarios

### A tracker that exists before the kickoff call

An engagement is approved upstream. The agent calls Create Project inside the client's workspace, Create Table for the tracker, and Add Columns for the fields this engagement type needs. Get Table returns the identifiers, Insert Rows loads the opening milestones, and Upload File To Project attaches the statement of work so the reference document lives alongside the plan. A link and the column map post to [Slack](https://flowrunner.ai/integrations/slack). By the time the kickoff call starts, the tracker is real.

### Intake that lands as a row, not a duplicate

A submission from [Typeform](https://flowrunner.ai/integrations/typeform) reaches the agent. Search Rows looks for the business key across the columns that matter, which is the usual way to avoid duplicates through this API. A match becomes Update Rows, writing only the named cells. No match becomes Insert Rows. Get Rows is set to the flat response format so the flow reads fields keyed by column title, which is the shape most steps want, and switched to the column-object format only where two columns share a title or the flow will write back by identifier.

### Moving a base without losing the mapping

A team consolidating trackers pulls records out of [Airtable](https://flowrunner.ai/integrations/airtable) and lands them in Retable. The agent reads the source, calls Get Table on the destination to resolve identifiers, and inserts in batches under Retable's rate limit. Where the source has a column the destination does not, Add Columns appends it rather than dropping the data on the floor. Where the destination has a column the source does not fill, the cell is left empty rather than defaulted, and the report of what was left empty goes into a sheet in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) for a person to look at.

## Human-in-Loop Highlight

Delete Columns is the operation on this API worth stopping for, and not because deletions are dramatic. It is because of how it is addressed. Every other write on this connector names a column by identifier. Delete Columns names it by title, which means two columns sharing a title make the request ambiguous, a renamed column is simply not found, and the values that vanish are every value stored in whichever column the title happened to match. The agent can read the truth right up to the edge: Get Table returns the current titles, identifiers, and types, so it knows exactly what a given title resolves to at this moment. What it cannot know is whether the title still means what the person who asked for the cleanup thinks it means. So it stops: "Deleting the column titled Notes will remove it and every value in it across 3,140 rows. Get Table currently shows two columns with that title, identifiers ending 7f2 and 91c. Which one, or neither?" A person names the column. Add Columns runs unattended all day; the one that takes data away does not.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

17 actions

### Rows

5

-   **Get Rows** Returns the rows of a table, or one row by id. The response format decides the shape: flat fields keyed by column title, which is what most flows want, or column objects carrying identifiers, which is what you need when titles collide or the flow will write back by identifier.
-   **Insert Rows** Adds one or more rows. Each cell names its column by identifier rather than by title, so call Get Table first. Cells left out are empty rather than defaulted.
-   **Update Rows** Updates specific cells on one or more existing rows. Only the named cells are written and every other cell on the row is left as it was.
-   **Delete Rows** Permanently deletes rows by their ids. Retable allows only the table owner to delete rows, so an editor account receives a refusal rather than a partial result.
-   **Search Rows** Searches for a term inside a table, in one column or across several. The usual way to find a record by business key before deciding whether to insert or update.

### Workspaces

3

-   **List Workspaces** Returns every workspace the key can reach, with name, description, and creator. A workspace is the top level container, above projects and tables.
-   **Get Workspace** Returns one workspace with its name, description, and audit fields showing who created and last changed it.
-   **Create Workspace** Creates a workspace and returns the identifier Retable assigned, which is what projects are then created inside.

### Projects

3

-   **List Workspace Projects** Returns the projects inside a workspace. A project groups tables, so this is the middle step between choosing a workspace and reaching a table.
-   **Create Project** Creates a project inside a workspace and returns its identifier. The color is a hex code and shows on the project card in the interface.
-   **Get Project** Returns one project along with its tables, with paging on the embedded table list, which matters on a project holding many.

### Tables

5

-   **List Project Tables** Returns the tables inside a project, each with its identifier and name. That identifier is what every row operation calls a Table ID.
-   **Get Table** Returns a table's structure: its name and the full column list with each column's identifier, title, and type. Called before writing rows, and called again immediately before any structural change.
-   **Create Table** Creates a table inside a project. Retable publishes no request body for this route and its own example posts an empty one, so the body is passed through and an empty one is treated as valid. Check the name in the response before relying on it unattended.
-   **Add Columns** Adds one or more columns and returns the complete column list, existing and new together. New columns are appended in the order given, and this API cannot reorder them.
-   **Delete Columns** Permanently deletes columns and every value stored in them. Columns are addressed by name here rather than by identifier, which is the reverse of the row operations, and is why this page's human gate sits on this call.

### Files

1

-   **Upload File To Project** Uploads a file into a project so it can be referenced from an attachment cell. The file is fetched from a URL and posted on as form data, and Retable caps uploads at 20 MB.

## Frequently Asked Questions

### What can FlowRunner do with Retable?

FlowRunner agents can run Get Rows, Insert Rows, and Update Rows in Retable, plus 14 more actions.

### Does connecting Retable to FlowRunner require OAuth?

No. Retable connects to FlowRunner with an API key, no OAuth flow required.

### Can Retable trigger a FlowRunner workflow automatically?

Retable doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Retable?** This integration exposes Retable to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/retable. Site index: https://flowrunner.ai/llms.txt
