Dashboards and widgets

Learn how to create, update, and delete dashboards and widgets using the platform API

monday.com dashboards compile data from one or more boards into a centralized high-level overview. They're made up of apps and widgets that visually display key metrics like project progress, budgets, workloads, and much more!

Mutations

Create dashboard

Creates a new dashboard. Returns Dashboard.

mutation {
  create_dashboard(
    board_ids: ["1234567890", "9876543210"]
    board_folder_id: 543210
    kind: PRIVATE
    name: "Team Performance"
    workspace_id: -1
  ) {
    id
    name
    kind
    workspace_id
  }
}
{
  "data": {
    "create_dashboard": {
      "id": "12345",
      "name": "Team Performance",
      "kind": "PRIVATE",
      "workspace_id": -1
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
board_ids[ID!]!The unique identifier of the board(s) to create dashboards for.
board_folder_idIDThe unique identifier of the folder to create the dashboard in.
kindDashboardKindThe dashboard's visibility. The default is PRIVATE.PRIVATE
PUBLIC
nameString!The dashboard's name. Up to 255 characters.
workspace_idID!The unique identifier of the workspace to create the dashboard in.

Create widget

Creates a new widget. Returns WidgetModel.

mutation CreateNumberWidget($settings: JSON!) {
  create_widget(
    parent: {
      kind: BOARD_VIEW
      id: 54321
    }
    kind: NUMBER
    name: "High Cost Sum (>$1000)"
    settings: $settings
    filter: {
      operator: and
      rules: [
        {
          column_id: "cost"
          operator: greater_than
          compare_value: [1000]
        }
      ]
    }
  ) {
    id
    name
    kind
  }
}
// Pass these variables with the sample mutation

{
  "settings": {
    "counter_data": {
      "calculation_type": "columns",
      "column_ids_per_board": {
        "1234567890": ["cost"]
      },
      "counter_type": "sum",
      "counter_unit": {
        "symbol": "$",
        "direction": "left"
      }
    },
    "prefix": "Total",
    "suffix": "in high-cost flights",
    "number_format": "currency"
  }
}
{
  "data": {
    "create_widget": {
      "id": 123456789,
      "name": "High Cost Sum (>$1000)",
      "kind": "NUMBER"
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
filterItemsQueryGroupThe optional filter to apply to the widget. Only works with board views.
kindExternalWidget!The type of widget to create.
nameString!The widget's name that's displayed in the UI.
parentWidgetParentInput!The widget's parent container.
settingsJSON!The widget's type-specific settings. Query all_widgets_schema to see available properties.

Update dashboard

Updates a dashboard. Returns Dashboard.

mutation {
  update_dashboard(
    id: 12345
		board_folder_id: 9876543210
    kind: PUBLIC
    name: "Team Performance Q4"
    workspace_id: -1
  ) {
		id
    name
    kind
    workspace_id
  }
}
{
  "data": {
    "update_dashboard": {
      "id": "12345",
      "name": "Team Performance Q4",
      "kind": "PUBLIC",
      "workspace_id": -1
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescriptionEnum Values
board_folder_idIDThe unique identifier of the folder to move the dashboard to.
idID!The unique identifier of the dashboard to update.
kindDashboardKindThe dashboard's updated kind.PRIVATE
PUBLIC
nameStringThe dashboard's updated name.
workspace_idIDThe unique identifier of the workspace to update the dashboard in.

Update overview hierarchy

Updates a dashboard's position or location. Returns UpdateOverviewHierarchy.

mutation {
  update_overview_hierarchy(
    overview_id: 12345
    attributes: {
      workspace_id: -1
      position: {
        is_after: true
        object_id: "9876543210"
        object_type: Board
      }
    }
  ) {
    success
    message
    overview {
      workspace_id
      name
      state
      creator {
        id
      }
    }
  }
}
{
  "data": {
    "update_overview_hierarchy": {
      "success": true,
      "message": "Overview position updated successfully",
      "overview": {
        "workspace_id": "-1",
        "name": "New Dashboard",
				"state": "1",
        "creator": {
          "id": "1234567890"
        }
      }
    }
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
attributesUpdateOverviewHierarchyAttributesThe dashboard's updated position and location attributes.
overview_idID!The dashboard's unique identifier.

Delete dashboard

Deletes a dashboard. Returns a Boolean indicating whether the deletion was successful.

mutation {
  delete_dashboard(id: 12345)
}
{
  "data": {
    "delete_dashboard": true
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
idID!The unique identifier of the dashboard to delete.

Delete widget

Deletes a widget. Returns a Boolean indicating whether the deletion was successful.

mutation {
  delete_widget(id: 12345)
}
{
  "data": {
    "delete_widget": true
  },
  "extensions": {
    "request_id": "YOUR_REQUEST_ID"
  }
}

Arguments

ArgumentTypeDescription
idID!The unique identifier of the widget to delete.