custom label colors and number column unit.

Hello Monday Community,

I’m encountering two issues when using the Monday API (GraphQL) to programmatically create and update columns via our JavaScript app. I’ve been trying to set up custom configurations for our board, but both the custom status label colors and the numbers column unit (for “Hours”) are not behaving as expected.

Issue 1: Custom Label Colors for Status Columns

Context & Goal:
I want to customize the color mapping for status columns using mutation. For example, for our “Feedback” status column, our desired mapping is:

  • Index 0: “Received” – bright_green
  • Index 1: “APPROVED” – grass_green
  • Index 2: “Awaiting more feedback” – stuck_red
  • Index 3: “ON HOLD” – saladish
  • Index 4: (Blank)american_grey
  • Index 5: “-” (default) – american_grey

Similarly, for our “Round” status column, our desired mapping is:

  • Index 0: “Working on It” – working_orange
  • Index 1: “Awaiting internal feedback” – bright_blue
  • Index 2: “Ready to send” – purple
  • Index 3: “Sent” – done_green (marked as done)
  • Index 4: “Awaiting new renders” – stuck_red
  • Index 5: “Awaiting photographer feedback” – egg_yolk
  • Index 6: “Photographer feedback recieved” – saladish
  • Index 7: (Blank)american_grey
  • Index 8: “-” (default) – american_grey

I’ve attempted to implement this update in JavaScript sending color names as string literals, Indexes and color Hex codes. However, the API does not seem to update the label colors as specified. The colors remain unchanged on the board. I also see typical GraphQL errors in logs when experimenting with escaping or variable substitution.

Example Mutation (as per Monday Support guidance):

mutation {
  update_status_managed_column(
    id: "your_column_id",
    revision: 0,
    title: "Feedback Status",
    description: "Updated feedback color mapping.",
    settings: {
      labels: [
        { index: 0, label: "Received"},
        { index: 1, label: "APPROVED"},
        { index: 2, label: "Awaiting more feedback"},
        { index: 3, label: "ON HOLD" },
        { index: 4, label: ""},
        { index: 5, label: "-"}
      ]
    }
  ) {
    id
    settings {
      labels {
        index
        label
        color
      }
    }
    updated_at
  }
}

Despite following the guidance, the color mapping does not follow the indexes shared in Monday Docs as expected.

Issue 2: Setting Numbers Column Unit (" Hours")

Context & Goal:
According to Monday’s help center, numbers column unit (for example, to display " Hours" with a leading space), can’t be set but i have tried to make defaults for the column type with a mutation like:

mutation {
  create_column(
    board_id: 1234567890,
    title: "Hours R1",
    column_type: numbers,
    defaults: "{\"unit\": \" Hours\"}"
  ) {
    id
  }
}

I’ve tried to implement this in our JavaScript code by building the mutation string exactly as above, using literal string substitution. Despite this, our numbers column does not display the custom unit (" Hours"), and the API seems to ignore the defaults value.

What I’ve Tried So Far:

  • Escaping Approaches:
    I’ve experimented with various escaping mechanisms for the JSON string in the defaults argument for numbers columns.
  • Hardcoding Defaults:
    I’ve attempted to hardcode the defaults string directly into the mutation for the numbers column (i.e., "{\"unit\": \" Hours\"}") without additional manipulation, but that consistently results in the default being ignored.
  • Status Column Color Mapping:
    I’ve tried hardcoding the allowed color names, Indexes or Hex Codes (as provided by Monday’s documentation examples) within the mutation, and also tried passing them as variables. In all cases, the mutation does not update the color mapping as expected.

Questions / Help Sought:

  1. For Custom Label Colors:
  • Are there known issues or additional required parameters when updating a managed status column’s color mapping?
  • Can you confirm is there any method to update labels colors through JS code?
  • Is the mutation above the correct and fully supported method for updating label colors, and are there any additional headers or API version considerations to keep in mind?
  1. For the Numbers Column Unit:
  • Despite using the literal defaults JSON string "{\"unit\": \" Hours\"}" in the create_column mutation, the custom unit does not seem to be applied.
  • Does the API support setting a custom unit via the defaults argument for numbers columns consistently, or is there a workaround?

Any help, insights, or suggestions from the community would be greatly appreciated. Thank you in advance for your assistance!