Skip to main content

Hi, as a developer of Monday.com integrations, we are experiencing significant performance issues in using the 2023-10 API with specific regards to Mirror item display values.


Below is an example of a typical query we might run within our integrations, which is followed by the next_items_page query to fetch the remaining items.


query getItems($columnIds: [String!]) {

boards(ids: []) {

items_page(limit: 100) {

cursor

items {

id

name

column_values(ids: $columnIds) {

id

type

text

value

… on MirrorValue {

display_value

}

}

group {

id

title

color

}

}

}

}

}


The info below shows the response times we are getting from the Monday.com 2023-10 API based on the number of mirror columns present in the query.


15 native columns, 0 mirror columns - 5 seconds

15 native columns, 1 mirror column - 15 seconds

15 native columns, 2 mirror columns - 25 seconds

15 native columns, 3 mirror column - 30 seconds

15 native columns, 4 mirror columns - 42 seconds

15 native columns, 5 mirror columns - 48 seconds


These response times are quite unacceptable by our customer base.


When comparing the previous response times from the 2023-07 API we could run the following query with 15 native columns, 5 mirror columns present and receive the full result in 7 seconds.


query getItems($columnIds: :String!]) {

boards(ids: :]) {

items(limit: 100) {

id

name

column_values(ids: $columnIds) {

id

type

text

value

}

group {

id

title

color

}

}

}

}


We are urgently seeking some clarification or indication as to how we can improve our API response times with queries of this nature that involve mirror items, as with the current approach, if we were to try and collect 500 items, we could be sitting waiting for minutes to get data back (assuming the Monday.com API doesnt timeout)

Hello there @hannes.vanoverscheld,


No updates yet. I will speak with the team and bring back any news as soon as I get them.


Cheers,

Matias


Hello again @hannes.vanoverscheld,


I heard back from the team and this should be resolved now.


Let me know if you have any questions or issues!


Cheers,

Matias


Hi Matias, yes I can confirm! Works like a charm, thank you so much to the team!!


Happy to help @hannes.vanoverscheld !!


We’re still having the same issue of slow responses. For boards that have a lot of (10+) mirror columns we can only get a few items (5-10) per page before the requests time out. It looks like the more mirror columns there are, the less items we can get.


Hi Tuomas,


Our team will keep looking at this to see if there are more changes required on our end. We will keep you updated about this. Thanks!


Best,

Joseph


With just over three weeks left, and holidays in the middle, do you think 2023-10 is stable enough for actual production and not just labeled “stable”, and for 2023-07 to be discontinued rendering the ability to get many mirrors unreliable?


Hello there,


The 2023-10 version is stable for production.


Our team is working on a new deployment that will reduce the response time for queries that include the values of mirror columns. In the meantime, to avoid timeouts, using a low limit per page does the trick 😁


Cheers,

Matias


Hi @hannes.vanoverscheld


If you can help me, I’m not able to read the fields in the mirror column through my queries. I’ve tried several approaches, but none of the mirror columns show up. I was only able to bring the items from the linked frame through the use of “BoardRelationValue”, but the data from the mirror columns did not.


In the query I need to have in only one table (use in PowerBI) the name of the element, the data of the linked column and the data of the mirror columns. Can anyone help me ?


I’m definitely missing something.



Tks


Hello there @haasaah and welcome to the community!


I hope you like it here 💪


I do not have experience using PowerBI, but API-wise, you can use a query like this one to get the values of the mirror columns:


{
boards(ids: 1234567890) {
items_page(limit: 10) {
items {
name
column_values {
... on MirrorValue {
display_value
id
}
}
}
}
}
}

I hope that helps!


Cheers,

Matias


Hi @Matias.Monday


Thanks for the feedback.

Regardless of PowerBI, or any other interpreter, using exactly this code, a timeout error occurs in the query. I did two tests using Insomia, where it is faster to validate, on the same BOARD as the screenshot above.



  1. in the first test, I tried a simple reading of the BOARD elements.



{
boards(ids: 123444234) {
items_page(limit: 10) {
items {
name
column_values {
id
type
text
value
}
}
}
}
}


  1. With the “MirrorValue” method, the query takes time, and then just returns timeout, not bringing the elements.




I don’t know how to proceed, I even did several other tests using “DependencyValue” and “BoardRelationValue”, all without success.


Anyone, any ideas?


Hello again @haasaah,


Our team is working on something that will make these queries run faster.


In the meantime, to avoid timeouts, you can use a lower limit for your items_page. That should prevent the timeouts.


Let me know if you have any other questions!


Cheers,

Matias


Hi @Matias.Monday , how are you ?


Thank you for the return.


Only in two ways did the reading work:



  • With 1 item - ~2 seconds

  • With 2 items - ~33 seconds (+1550% !!!)

  • With +3 - TIMEOUT.


** prints below.


Considering that I have several tables with 5 to 6k rows, it is impossible to work.


Even trying to perform queries in a loop, it becomes extremely slow and unproductive.


Using API 2023-10 or 2024-01 the problem is the same. We didn’t have this problem before the API change, and I understand the modernization / improvement in queries, but this slowness is a big inconvenience.


Please, is there no expected solution? I still haven’t been able to migrate my queries that need to use MirrorValue, and I have several frames with this model.




Hello there @haasaah,


Would you be able to please submit this form so that our team can take a look? Please add the IDs in the information you send, and if you can, please also test this again and let us know about the timestamp (date, hour, minute, ID of the user who is sending the request).


Looking forward to hearing from you!


Cheers,

Matias


Hi @Matias.Monday ,


Ok, thanks - I’ll open a ticket.


Regards.


Thank you @haasaah !


Reply