Managed columns

Learn how to read, create, update, and delete managed columns using the

Managed columns are useful tools to standardize workflows across your monday.com account. Select users can create, own, and manage status and dropdown columns with predefined labels that can't be edited by other members. This ensures consistent terminology across different workflows and helps align teams on a unified structure.

Queries

If you have managed column permissions, you can use the managed_column query to retrieve managed column data via the API.

  • Returns an array containing metadata about one or several managed columns
  • Can only be queried directly at the root; can't be nested within another query
query {
  managed_column(state: active) {
    created_by
    revision
    settings {
      ...on StatusColumnSettings { 
        type
        labels {
          id
          description
        }
      }
    }
  }
}

Arguments

You can use the following arguments to reduce the number of results returned in your managed_column query.

Argument

Description

Enum Values

id [String!]

The unique identifier of the managed column to filter by.

state [ManagedColumnState!]

The state of the managed column to filter by.

active
inactive

Fields

You can use the following fields to specify what information your managed_columns query will return.

Field

Description

Enum Values

Possible Types

created_at Date

The managed column's creation date.

created_by ID

The unique identifier of the user who created the managed column.

description String

The managed column's description.

id String

The unique identifier of the managed column.

revision Int

The current version of the managed column.

settings ColumnSettings

The managed column's settings.

DropdownColumnSettings
StatusColumnSettings

settings_json JSON

The managed column's settings in JSON.

state ManagedColumnState

The managed column's state.

active
inactive

title String

The managed column's title.

updated_at Date

The managed column's last updated date.

updated_by ID

The unique identifier of the user who last updated the managed column.

Mutations

The API allows you to create, update, and delete managed columns using the following mutations. These operations let you programmatically control a managed column's full lifecycle.

Create status managed column

The create_status_managed_column mutation creates a new managed status column via the API. You can specify which fields to return in the mutation response.

mutation {
  create_status_managed_column(
    title: "Project status"
    description:"This column indicates the project's status."
    settings: {
      labels: [
        {
          color: done_green
          label: "Done"
          index: 1
          is_done: true
        },
        {			
          color: working_orange
          label: "In progress"
          index: 2
        },
        {			
          color: stuck_red
          label: "Stuck"
          index: 3
        }
      ]
    }
  ) {
    id
    state
    created_at
    created_by
  }
}

Arguments

You can use the following arguments to define the new managed dropdown column's properties.

ArgumentDescriptionSupported Fields
description StringThe description of the new managed dropdown column.
settings CreateStatusColumnSettingsInputThe settings of the new managed dropdown column.labels [CreateStatusLabelInput!]!
title String!The title of the new managed dropdown column.

Create dropdown managed column

The create_dropdown_managed_column mutation creates a new managed dropdown column via the API. You can specify which fields to return in the mutation response.

mutation {
  create_dropdown_managed_column(
    title: "Project Domains"
    description: "This column lists all of the domains the project falls under."
    settings: {
      labels: [
        {
          label: "Research and Development" 
        }, 
        { 
          label: "Human Resources" 
        }, 
        {
          label: "Customer Support"
        }
      ]
    }
  ) {
    id
    title
    state
    created_at
    created_by
    settings {
      labels {
        id
        label
        is_deactivated
      }
    }
  }
}

Arguments

You can use the following arguments to define the new managed dropdown column's properties.

ArgumentDescriptionSupported Fields
description StringThe description of the new managed dropdown column.
settings CreateDropdownColumnSettingsInputThe settings of the new managed dropdown column.labels [CreateDropdownLabelInput!]!
title String!The title of the new managed dropdown column.

Activate managed column

The activate_managed_column mutation activates a managed column via the API. You can specify which fields to return in the mutation response.

mutation {
  activate_managed_column(
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
	) {
    status
    title
  }
}

Arguments

You can use the following argument to specify which managed column to activate.

ArgumentDescription
id String!The unique identifier of the managed column to activate.

Update status managed column

The update_status_managed_column mutation updates a managed status column via the API. You can specify which fields to return in the mutation response.

🚧 You must provide all of the column’s labels, even if you’re only updating one of them!

mutation {
  update_status_managed_column(
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
    revision: 0
    title: "Project status"
    description:"This column indicates the status of the project."
    settings: {
      labels: [
        {
          color: bright_blue
          label: "In progress"
          index: 2
        }
      ]
    }
) {
  id
  description
  updated_at
  settings {
    labels {
      color
    }
  }
}

Arguments

You can use the following arguments to specify the updated managed status column's properties.

ArgumentDescriptionSupported fields
description StringThe managed status column's new description.
id String!The unique identifier of the managed status column to update.
revision Int!The current version of the managed column. Must be provided when updating the column to ensure your data is up to date. If you receive a revision error, the revision may be outdated — fetch the latest column data and try again.
settings UpdateStatusColumnSettingsInputThe managed status column's settings to update.labels [UpdateStatusLabelInput!]!
title StringThe managed status column's new title.

Update dropdown managed column

The update_dropdown_managed_column mutation updates a managed dropdown column via the API. You can specify which fields to return in the mutation response.

🚧 You must provide all of the column’s labels, even if you’re only updating one of them!

mutation {  
  update_dropdown_managed_column(
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
    revision: 0
    title: "Project Domains"
    description: "This column tracks each domain a project falls under."
    settings: {
      labels: [
        {
          id: 1
          label: "Research & Development"
        }
      ]
    }
  ) {
    description
    updated_at
    revision
    state
  }
}

Arguments

You can use the following arguments to specify the updated managed dropdown column's properties.

ArgumentDescriptionSupported fields
description StringThe managed dropdown column's updated description.
id String!The unique identifier of the managed dropdown column to update.
revision Int!The current version of the managed column. Must be provided when updating the column to ensure your data is up to date. If you receive a revision error, the revision may be outdated — fetch the latest column data and try again.
settings UpdateDropdownColumnSettingsInputThe managed dropdown column's settings to update.labels [UpdateDropdownLabelInput!]!
title StringThe managed dropdown column's updated title.

Deactivate managed column

The deactivate_managed_column mutation deactivates a managed column via the API. You can specify which fields to return in the mutation response.

Deactivating a managed column prevents users from adding it to new boards. The column remains on existing boards and can be reactivated at any time using the activate_managed_column mutation or through the UI.

mutation {
  deactivate_managed_column(
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
  ) {
    state
    title
  }
}

Arguments

You can use the following argument to specify which managed column to deactivate.

ArgumentDescription
id String!The unique identifier of the managed column to deactivate.

Delete managed column

The delete_managed_column mutation deletes a managed column via the API. You can specify which fields to return in the mutation response.

Deleting a managed column removes it from the Managed Column list in the Column Center and prevents users from adding it to new boards. The deleted column will remain on existing boards as a normal column, but it cannot be reactivated as a managed column.

mutation {
  delete_managed_column(
    id: "f01e5115-fe6c-3861-8daa-4a1bcce2c2ce"
  ) {
    state
    title
  }
}

Arguments

You can use the following argument to specify which managed column to delete.

ArgumentDescription
id String!The unique identifier of the managed column to delete.