Column values

Learn how to read column values on monday boards using the platform API

Every monday.com board has one or more columns, each holding a particular type of information. These column values make up the board's content, and their internal value structure varies by type.

Queries

Get column values

  • Returns an array containing metadata about one or a collection of columns
  • Can only be nested within an items query
query {
  items(ids: 1234567890) {
    column_values {
      column {
        title
      }
      id
      type
      value
    }
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
capabilities[ColumnCapability!]The column's capabilities.CALCULATED
VISIBILITY (hidden)
ids[String!]The specific columns to return.
types[ColumnType!]The specific type of columns to return.

Fields

FieldTypeDescription
columnColumn!The column the value belongs to.
idID!The column's unique identifier.
is_leafBoolean!Whether the item is a leaf (has no subitems).
textStringThe text representation of the column's value. Not every column supports the text value.
typeColumnType!The column's type.
valueJSONThe column's raw value.

Implementations

Our schema also contains specific types for each column value, such as ButtonValue and StatusValue. These extend the core ColumnValue type, so you can query column-specific fields instead of parsing the column's raw JSON value.

Take the StatusValue type for example. On top of the 6 core fields, it also exposes the index, is_done, label, label_style, update_id, and updated_at fields specific to the StatusValue type.

Using fragments to get column-specific fields

You can return subfields for a specific column type using GraphQL fragments, or queries that will only run if a specific type is returned. Fragments can help you selectively return column-specific data that doesn't exist on other columns on the board. Each column type has its own fields documented here.

Example

Notice the ...on StatusValue expression, which will return the label and update_id only on status columns.

query {
  items (ids: 1234567890) {
    column_values {
      value
      type
      ... on StatusValue  { # will only run for status columns
        label
        update_id
      }
    }
  }
}