GoliathDevelopersGet an API key
Reference/Workflowsgenerated from the gateway manifest

getWorkflowTable

One Workflow Table with its rows, paged by rowLimit.

POST/api/v1/callREADreadruns as the key's owner
View as Markdown

One Workflow Table with its rows, paged by rowLimit (default 100, at most 500) and rowOffset: keep reading while a page comes back full (rowCount excludes the DEFAULT row, which pages like any other): each row's key (key, keyLabel, the keyLevel of the fallback chain it sits on, and its keyParts), whether it is the DEFAULT row (used when nothing matches), and its cells by columnId. Rows need an org admin (the Tables editor's gate); null when the table is not in your org. Which row one record gets is previewWorkflowTableLookup's answer, never a key matched by eye.

curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operationId": "getWorkflowTable",
    "variables": {
      "workflowTableId": "<workflowTableId>"
    }
  }'
import { GoliathClient } from '@goliath-data/sdk'

const goliath = new GoliathClient({
  apiKey: process.env.GOLIATH_API_KEY!,
  baseUrl: 'https://server.goliathdata.com',
})

const result = await goliath.workflows.getWorkflowTable({
  workflowTableId: '<workflowTableId>'
})
const res = await fetch('https://server.goliathdata.com/api/v1/call', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.GOLIATH_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    operationId: 'getWorkflowTable',
    variables: {
      workflowTableId: '<workflowTableId>'
    }
  }),
})
const { data, errors } = await res.json()

Variables

The example sends only what the schema requires. Some operations also need one of several optional variables (one filter or another, say); the description above says which.

workflowTableIdID!required
rowLimitInt!

Default 100.

rowOffsetInt

Default 0.

Response

What comes back under data: a list shows as one entry, and a value as its type.

response shape
{
  "data": {
    "workflowAutomationsQuery": {
      "workflowTable": {
        "id": "<ID>",
        "name": "…",
        "description": "…",
        "keyKind": "COUNTY_FIPS",
        "keyFieldPath": "…",
        "keyShape": {
          "levels": [
            {
              "parts": [
                {
                  "kind": "COUNTY_FIPS",
                  "fieldPath": "…",
                  "match": "EXACT"
                }
              ]
            }
          ]
        },
        "rowCount": 0,
        "isProvisioned": true,
        "updatedAt": "2026-01-01T00:00:00.000Z",
        "columns": [
          {
            "id": "<ID>",
            "name": "…",
            "kind": "TEXT",
            "displayOrder": 0,
            "tokenKey": "…",
            "options": [
              {
                "value": "…",
                "label": "…"
              }
            ]
          }
        ],
        "rows": [
          {
            "id": "<ID>",
            "key": "…",
            "keyLabel": "…",
            "keyLevel": 0,
            "keyParts": [
              {
                "match": "EXACT",
                "value": "…",
                "label": "…",
                "rangeStart": "…",
                "rangeEnd": "…"
              }
            ],
            "isDefault": true,
            "displayOrder": 0,
            "cells": [
              {
                "columnId": "<ID>",
                "value": "…"
              }
            ]
          }
        ]
      }
    }
  }
}

Errors

Behaviour

A read. It rejects an Idempotency-Key header with 400 bad_request.