Hi, @Cindy. Thank you for sharing this snippet. It really helped me. One issue I am having now is that the values from columns that are connected to other boards are coming up as None, which seems to be a pretty bizarre behaviour by the API.
Would anyone here have any idea how to get those values too.
Would anyone know how to simply pull all rows of a given dashboard? The query above returns None to some of the columns even though I can see that the field is not empty in the UI
I think its likely youre running into None values due to having board relation values/Dependency values/Mirror values that you arent specifically asking for. The October 2023 API updates made it so they have to be specifically asked for to limit overhead
Here is a query I use to grab every column for a specific item name on a given board. If you remove the query_params line it will grab all items on the given board up to the given limit
Please note, for any formula values on your dashboard those will always return blank as the formulas are calculated on the client and therefore cannot be accessed by the API
Thanks, @Adam.B! I am trying to test your query on the API playground here. What would be the compare_value parameter? I am not sure what value to pass there.
My use case entails pulling all the rows and all the columns from the board. Would those rules still be required in this case?
I have tried to investigate the schema and the documentation, but graphql seems to be the main issue for me. It is as if I had to learn a whole new query language just to automate a simple board export 😂
You can use any item name for that value (item name being the first column on a table) but that line isnt actually necessary. If you simply want all the items on the table you can remove the “query_params” line entirely. Then it will display the first N items of the table (where N is the limit you set on the line above)
I use the compare value since im generally looking for exactly one item in a table based on a serial number.
Hopefully that works for you!
EDIT: Regarding your edits, I think removing the query parameter line should allow you to pull all the rows and columns from a board. The other rules (on MirrowValue/BoardRelationValue/DependencyValue) would be required if your board has linkages to other boards (eg connected columns and mirror columns)
Additionally, some column types are wholly unsupported for export, such as formula columns where the display value cant be export via the API since it is calculated client side. You may be able to pull the formula from the API somehow but im not sure so youd have to dig into the documentation.
Good luck with GraphQL! It definitely is a change from the more common RESTful API so yeah it is kind of a new query language to learn. And I am definitely no expert myself.
Thanks, Adam. That’s much appreciated 🙂 I’ve modified your query and have been able to retrieve all items from the board.
To resolve this, you should check the Monday.com API documentation to ensure that you’re using the correct fields and structure in your GraphQL query.
Here’s a revised version of your query that might work:
Query to get items from a specific board
query = ‘’’
{
boards(ids: %s) {
items {
name
column_values {
title
text
}
}
}
}
‘’’ % board_id
Previously, you could directly access items within the boards object. However, Monday.com has enrich customer data, and now you need to use a different field to access them.
Instead of requesting items directly under boards, use the items_page field. This field retrieves a paginated list of items for a board.
Here’s the updated query:
query = ‘’’
{
boards(ids: “%s”) {
items_page(limit: 100) { # Adjust limit as needed
name
column_values {
title
text
}
}
}
}
‘’’ % board_id
Hi guys, thanks a lot for the great help. I can now read out the data again. However, I now have the problem that columns that are created as formulas in Monday are no longer transferred. Can anyone help me here? The column is indeed in the answer, but there is no text in it.
What do you mean when you say they are not “transfered”? What mutation are you using exactly, what do you see as a result, and what are you expecting?
Looking forward to hearing from you 🙂
Cheers,
Matias
I am working with an organization that gave me a APIKEY and a Temporary Email to use and that email is meant to have access to boards that I need data for. However I don’t have the Board IDs. Is that required to use the Python API techniques shown here? If I do need the board ID and acquire it, do I need to know anything about the fields in the board before I go to capture them?