Up until API v2023-07, I have used the column title
in my queries, since they are meaningful and representative of their actual data. In API v2023-10, column titles have been relegated out and are now only available via sub-query of column { title }
. (Except not really, because this exhausts the query depth: "Query has depth of 7, which exceeds max depth of 6"...
)
The recommendation from support was to use columnID
instead. The problem is, columnID
is generated randomly when users create a column via the UI. The only way to have meaningful columnIDs is to create board columns via the API.
So instead of having readable entities in my JSON payload, to work with in our scripts, we are now stuck with ["text2", "text7", "creation_log", "item_id5", "text5", "dropdown1", "text31", "status2"]
and so on.
I’m currently rebuilding this particular board using the API, column by column, in order to rework my Python scripts to accommodate using columnID
instead of title
. I am not sure why column titles had to disappear in this way, but in any case, we now have a really legitimate need for the ability to change column IDs… except, we all know that changing field names in the database is not going to be feasible. So,
When I create a column via API with the below mutation, I get a shiny new column titled “Invoice Number” with a lovely columnID- invoice_number
:
mutation{
create_column(board_id: 0123456789, title:"Invoice Number", column_type:text) {
id
title
}
}
But I didn’t specify that column ID, it was generated based off the title! SO, my feature request is to simply have the UI work the same way. If there is already (for example) a text
field on that board called “Note”, then sure, give it a columID
of note1
, or note2
etc. We can live with that. But otherwise, I can’t imagine it would be difficult to adjust the default columnID
naming to base off of the user-supplied title, rather than a random number appended to the column type, like text31.
As it stands moving forward, here is what we are facing: users will create and setup new boards via the UI. Then they’ll come and ask for some special (API-requiring) use of that board data. At this point we will either have to
-
a) live with the meaningless IDs in our code, or
-
b) rebuild the entire column structure via API to produce meaningful column IDs that aren’t a nightmare to reference in the query payload.
I suppose option C is to build users an external tool for column creation and bypass the Monday UI altogether, but that’s of course not a direction anyone wants to go.
Thanks for considering!