On this page

Data tables

insert-table-rows

Can be held for approval

Insert rows into a Data Table. Each row is an object keyed by column_id or column_name. Needs the fabric:table.write grant.

curl -sS -X POST https://fabric.wexa.ai/mcp/$FABRIC_PROJECT_ID \
  -H "authorization: Bearer $FABRIC_API_KEY" \
  -H "Mcp-Session-Id: $MCP_SESSION_ID" \
  -H "content-type: application/json" -H "accept: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"insert-table-rows","arguments":{"table_id":"6ab1944e7566f41b5c28e2eb","rows":[{"6ab1944eb6557622b2632872":"Initech","6ab1944e56ac670306c8deed":40,"6ab1944e12917e3705beb0b9":false}]}}}'
{
  "content": [
    {
      "type": "text",
      "text": "{\"lifecycle_id\":\"qlc_000197\",\"result\":{\"table_id\":\"6ab1944e7566f41b5c28e2eb\",\"inserted\":1}}"
    }
  ],
  "isError": false
}

Parameters

ParameterTypeRequiredNotes
table_idstringRequiredTable id from list-tables, a 24-character hex id. A table in this project.
rowsarrayRequiredAt least one row to insert, each keyed by column_id or column_name from get-table; a column_name is saved to its column. A key that is neither is refused with the table's columns, and nothing is inserted.
Show full response

A real response, captured from a live call to insert-table-rows:

{
  "lifecycle_id": "qlc_000197",
  "result": {
    "inserted": 1,
    "result": {
      "result": "\"Inserted 1 records into 6ab1944e7566f41b5c28e2eb.\""
    },
    "table_id": "6ab1944e7566f41b5c28e2eb"
  }
}
More details

Rows are attributed to the user whose key was used. The result reports how many rows were inserted.

Every tool call works the same way: How every tool call works.