Welcome to the new monday developer community
-
Recently active
I am trying to use the monday js sdk to check if the widget view is in fullscreen mode or if the settings bar is open. This is the code that I am using right now monday.get("context").then(console.log) It seems like “viewMode” is always “widget” and “editMode” is always “false” Is there a way to detect the state of the dashboard widget? I found that opening the “fullscreen settings mode” by clicking the full screen button does make the “viewMode” change to “fullscreen”, however the settings button does not give this behavior.
We’ve made three changes to add more actions to the workspaces object, including a new field and mutation! You can now query the workspaces object, rather than nesting it within a boards query. You can also use the new created_at field to return the creation date of a workspace. Lastly, we’ve added a new mutation that allows you to delete a workspace. You can find all of the details about these updates and functionality updates in our workspaces doc!
Hi! I’m new in this forum. I was able to send rows from a Google Sheet via e-mail, using the Javascript sendEmail() function. The aforementioned Google Sheet is linked to a Google Form. In the sheet, under the column "Recursive_Requests ", there are 2 options to send data. I would want that: if you select "send_every_day " option, the request is sent by e-mail every day; if you select "send_every_monday ", the request remains in the sheet, BUT it is sent only every Monday; if you select "No ", no changes are made. Any help would be appreciated! Code used: function sendEmail() { var orderData = getData(); var body = getEmailText(orderData); MailApp.sendEmail({ to: "email@example.com", cc: "anotheremail@example.com", subject: "Today's orders", body: body }); } function getEmailText(orderData) { var text = ""; orderData.forEach(function(order) { text = text + order.department + "\\n" + order.request + "\\n-----------------------\\n\\n"; }); return
For the life of me, I can’t get a mutate_column_value to work. I’ve tried about every possible way that I found in the docs and the community but nothing seems to work. This is how it looks right now: "query":"mutation{ change_column_value (item_id: 123456789, board_id: 11223344, column_id: \\"text21\\", value: \\"test\\") { id } }" And this is the Server reply: { error_message: "809: unexpected token at 'test'", status_code: 500 } I probably am missing something completely obvious but I’m on this for a felt eternity, so if anybody can tell me my mistake, that would be extremely helpful.
Hi all, Did anybody see this error code earlier? {"error_code":"ChangeColumnValueError","status_code":400,"error_message":"CustomExceptions::ItemLinkMaxLocksExceeded","error_data":{"error_reason":"automations.history.failed_trigger_details.error_reason.change_column_value_failed"}} Any suggestions how to prevent this one? What will happen if I retry the operation (change_column_value) on receiving this error?
I found the api documentation, but there is no activity api. Can someone please guide me, thanks
Hello Guys! I’m a Data Engineer and while developing an ETL that automates the ingestion of a few boards to a S3 Bucket (in parquet) I’m running into 504 Gateway Timeout issues while consuming the Monday GraphQL API. This is the query that i’m currently running, and the self.board_id is the id of the board: query { boards (ids: """+self.board_id+""" ){ name description columns{ title } items{ id name column_values{ id text } created_at state updated_at } } } While trying to implement pagination into the query above (to avoid the query timeout issue) I ran into the other issue that I don’t have an automatic way of knowing how many pages I’ll need to extract for the few boards that I’m consuming. Also, this error (504 Gateway Timeout) doesn’t happen everyday, it usually happens a few times a week, but works on the other days. B
There is a thread about the issue using your own API key, once you leave the company and your account is deactivated - someone must generate new API key and update the old one. Is there a way to use some sort of the service account not tightly-coupled to any user to avoid those API key rotations upon leaving the company ? From the official doc It looks like there is no other way as to bind your own creds, but still worth asking since I wasn’t able to find any answer. My use-case is an automation (daily job) that will create new items for the marketing team to review.
Hi, I have connected via API with my board in which contains 600 row entries + 800 subtasks. I want to retrieve only the rows of course but since there is a timeout of 60 seconds, i am only able to retrieve 300 at a time. how can i run the script a 2nd time to retrieve rows 301-600 for example? is there a way i can filter the results so that i can limit the number in results, for example, I want all the ones where in column A = status 123? I use the below query query { boards (ids: 123456789) { name id items { name column_values{id type text }} }}';
Hello, I’ve built an app which takes excel data - manipulates it, and: creating an item if there is no item yet insert the column values if there is an item on the board. We are talking about huge amount of data that need to be insert (2500~ items) Here is the example of the integration: export async function post(boardId, project, token) { try { const mondayClient = initMondayClient() await mondayClient.setToken(token) for (let i = 0; i < 2500~; i++) { console.log('start of loop') const task = ... const taskId = ... const taskName = ... const itemId = await _getItemId(taskId, boardId, token) const columnValues = JSON.stringify({ .... }) if (!itemId) await deleyFunc(_createItem, 2000, boardId, columnValues, taskName, mondayClient, token) else await deleyFunc(_changeItem, 2000, boardId, itemId, columnValues, mondayClient, token) console.log('end of loop') } } catch (err) { console.
Hi there! I’m trying to find a way for users of the integration I’m developing to request insight into their data. I’d like them to contact me with their account ID, but I haven’t been able to find an easy way for users to find this information. For example, for user ID or board ID it’s the digits in the URL when going to profile or a board. Is there any place the Account ID is shown or do I have to refer them to the API playground to get it? Thanks for your help!
Hey, Im making an API call (can see below). sometimes it will return values and sometimes it will not. If I will wait I might get values back. didnt find any pattern… When querying the record itself, it finds it with the correct value in the status. The condition column type is a Select (which should support this functionality, according to the API docs). Is any one can assist me to understand why I do not see the relevant records always? Thanks! Eitan query ($boardId: Int!, $columnId: String!, $columnValue: String!){ items_by_column_values (board_id: $boardId, column_id: $columnId, column_value: $columnValue) { id name column_values{ title value id text additional_info type } } } Parameters: {“boardId”:XXXXXXX, “columnId”:“status1”, “columnValue”:“Ready For Review”}
Hi I am trying to change a field re people, I saw same samples and used them It doesn’t return any error but the field is not changed In the samples I saw in other cases the escape char was the issue, so I did it exactly as the sample but without any change mutation { change_multiple_column_values(item_id:3430694181, board_id:2741432713, column_values: “{"people1" : {"personsAndTeams":[{"id":19084131,"kind":"person"}]}}”) { id } } The response is fine, the board is not updated
Hi, everyone! So, I was querying the boards from our work account and I noticed that some boards are not showing up through the API although they exist and can be accessed through the UI. Yes, I am using pagination. I already specified the IDs from these boards in the query, but even like that the boards won’t show up. It’s like they don’t exist. Anyone know why this could be happening? Those boards where created by duplicating existing boards manually, could this have some impact?
I can clear time tracking column with automations. But I can not do with api. How do I clear time tracking column without automations?
Hi all, I’ve been building an integration for the past week that only uses custom actions. I would like to enable users to use any trigger of their choosing, however, I haven’t been able to figure out how to do this. My actions only need the Item ID, which is sent by any trigger, I believe. I have to create full recipes every time (button clicked => my action, status changes => my action). But I would like users to be able to just pick up my action and link it to the trigger they want. Is this possible, and if so, how can I implement this? Thanks in advance!
Hi I use webhooks createUpdate and createSubUpdate it works. How can I get changes delete and edit Updates? Thanks, Fedor
Join the monday Developer Success team to ask questions and discuss the API and apps framework! You can bring any questions you’d like –– including questions about the API and developer tools, our marketplace review process and best practices when designing your app. Date & Time: 02:00pm - Thursday, October 27, 2022 (Eastern Time - US & Canada). Where: Join us on Zoom See you there 🚀
Boards and the workspace. API response: For some reasons “workspace” is null… And another question. As I’ve understood API provides only the folder id, there is no more information that entity, right?
My Monday.com integration has been working until recently I’ve started getting the message below: {"error_code":"ColumnValueException","status_code":200,"error_message":"Invalid column value schema for column type: color. Expected schema is: {\\"changed_at\\"=\\u003e{\\"type\\"=\\u003e[\\"string\\", \\"null\\"]}, \\"index\\"=\\u003e{\\"type\\"=\\u003e[\\"string\\", \\"number\\", \\"null\\"]}, \\"post_id\\"=\\u003e{\\"type\\"=\\u003e[\\"number\\", \\"null\\"]}, \\"label\\"=\\u003e{\\"type\\"=\\u003e[\\"string\\", \\"number\\", \\"null\\"]}, \\"extra_color_index\\"=\\u003e{\\"type\\"=\\u003e[\\"number\\"]}}, received: {\\"labels\\"=\\u003e[\\"- Select -\\"]}","error_data":{"column_value":"{\\"labels\\"=\\u003e[\\"- Select -\\"]}","column_type":"color"}} The query mutation is below. I don’t understand why this is now happening when it was working flawlessly for months. Query:(call) {"query":"mutation {change_multiple_column_values (board_id: 3312041234, item_id: 3417890000, create_label
I struggled to figure out a solution for a C# webhook page. I tried the Javascript example with no success. After much trial and error (several days), I was able to get it working. So I decided to share my code. When creating a webhook, you need to specify a url to send the event payload. The page below is designed to handle the challenge response to verify the webook. Then it will receive any event payload that occurs. The code sample below is a page I called mondaywebhook.ashx . <%@ WebHandler Language="C#" Debug="true" Class="MondayWebhookHandler" %> using System; using System.Web; using System.IO; using System.Net.Mail; public class MondayWebhookHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; string body = String.Empty; context.Request.InputStream.Position = 0; try { using (var inputStream = new StreamReader(context.Request.InputS
Hello, I’m trying to add columns values using monday’s official sdk ( GitHub - mondaycom/monday-sdk-js: Node.js and JavaScript SDK for developing over the monday.com platform ), but the docs are not helping to much. I’m getting 500 error, this is my code monday.api(`mutation { create_item (board_id: 123456789, item_name: "My Item Name", column_values: "[{\\"text1\\": \\"yellow\\"}, {\\"text2\\": \\"red\\"}, {\\"text3\\": \\"blue\\"}" ) { id } }`).then(res => { console.log(res) }); I tried also with only one column, still error 500 or nothing at all. I don’t want to make another query and use “change_column_value”. Thank you!
I’m very confused on how to format my file as a multipart request stored in a variable. The current code is invalid syntax, I can get it to post when formatted as one string but the data doesn’t deliver so I get an error response. How do I format it properly? Here is my code: import requests with open('monday_key.txt') as f: apiKey = f.read() apiUrl = "https://api.monday.com/v2/file" headers = {"Authorization": apiKey} file = {'file': open('safety_reviews/jjjj.pdf', 'rb' )} data = {'mutation' { 'add_file_to_column' ['item_id': '3366726997', 'column_id': "files", '$file': file ] { 'id' }}} r = requests.post(url=apiUrl, json=data, headers=headers) print (r.content)
How to send a file to https://api.monday.com/v2/file without having the file locally? I wish to send it as binary file through an API, instead of downloading it locally and then sending it to https://api.monday.com/v2/file.
Today, if you have a workspace template that’s part of a live app, changing the boards in the workspace while the app is a Live version results in changes to the workspace when deployed by end users. This seems counter to having app versions, as it makes it entirely possible to corrupt a template inadvertently after going live (and means development requires duplicating the workspace for the next version to do any work on it.) When an app version changes to live, it should snapshot the workspace someplace outside the dev account, and end-user deployments should be based off the snapshot - not off the workspace the template is based on.
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.