Welcome to the new monday developer community
Discussions category for everything related to app development on top of monday.com
Recently active
Why in the world is the marketplace listing image order different in the public marketplace (monday.com/marketplace/[appid]) vs when viewing the listing when signed in (account_slug.monday.com/apps/marketplace/[appid])? In the public marketplace listing the images show in the order they were submitted through the listing request feature. When you’re signed in they show in reverse, showing the last image first. The first image was submitted as the first image for a reason.
I’m using EnvironmentVariablesManager from the @mondaycom/apps-sdk npm package (latest version 3.0.11). In a Typescript file auth.ts, I’m trying to read environment variables to initialize NextAuth (v5, beta) which I’m using to authenticate the user to my app. import NextAuth from "next-auth"; import { EnvironmentVariablesManager } from "@mondaycom/apps-sdk"; new EnvironmentVariablesManager({ updateProcessEnv: true }); export const { auth, handlers, signIn, signOut } = NextAuth({ ... } This compilation error occurs: ./node_modules/app-root-path/lib/app-root-path.js Critical dependency: the request of a dependency is an expression Import trace for requested module: ./node_modules/app-root-path/lib/app-root-path.js ./node_modules/app-root-path/index.js ./node_modules/@mondaycom/apps-sdk/dist/esm/utils/local-db.js ./node_modules/@mondaycom/apps-sdk/dist/esm/secure-storage/secure-storage.local.js ./node_modules/@mondaycom/apps-sdk/dist/esm/secure-storage/index.js ./node_modules/@mond
Hi friends, I try to update the api.monday.com/v2 with my Power Bi but after put well the Query appears this error: DataSource.Error : Web.Contents avec l’option Content est pris en charge uniquement lors de la connexion anonyme. Détails : DataSourceKind=Web DataSourcePath=https://api.monday.com/v2 I try to fix but, every time that I make the corrections, continues the same mistake, Can somebody help me with this. Thanks. Here the first part of the Query: Thanks 🙂 : let Key = “Personal Key”, Board = “Number”, Source = Web.Contents( “https://api.monday.com/v2”, [ Headers=[ #“Method”=“POST”, #“Content-Type”=“application/json”, #“Authorization”=“Bearer " & Key ], Content=Text.ToBinary(”{““query””: ““query { boards(ids: " & Board & “) { items { name, updated_at, group { title }, columns: column_values { title, text } } } }””}”) ]
Hello everyone, I am working on an app which uses Google’s Drive API, but I am stuck at the last step of the review process by Google - CASA Security Assessment Tier 3. According to what I understood from their documentation, this assessment will require $3600 per year to get the certificate from a third party lab and without it, Google cannot approve the app. This has proved to be a roadblock in my app development journey, as I have worked over the last few months to create and polish my app and complete all the review steps on monday.com’s side already, but I am unable to proceed due to this CASA Assessment requirement. Does anyone have any experience in getting this certification? Is there any way to do this free of cost? As this is my first app and I am not generating any revenue as of now, it is not at all feasible for me to pay this much for a security certification. And without this, it is likely that I’ll have to unfortunately abandon the app, which is pretty frustrating. Appre
Hello, I was reading through the monetization docs and wanted to clarify some things. Do I understand correctly, that when user trial plan ends, access is automatically blocked for any view app (board view, dashboard widget, etc.) by monday and no checks have to be performed inside the code? So basically the only thing the dev team has to worry about is blocking/allowing features based on the subscribtion information and not the app itself, is that correct? Thank you.
If I have this code below to fetch data from the Monday API from a specific board ID XXXX180027 and then passes the fetched data to an autocomplete function, how would I alter it so it only fetches data from the groups on this board with ids: topics, new_group34305 and new_group67377? var allHospitalNames = []; function fetchData() { // Define your API key and board ID const apiKey = 'MY_API_KEY'; const boardId = 'XXXX180027'; //create an empty clients object to store the data returned from Monday: var clients = {}; //set up a query to the api and fetch the needed data let query = query { boards(ids: ${boardId}) { items_page(limit: 500) { cursor items { id name column_values { column { title } text value
Is the only way to get the current board ID via the URL when you’re using an IFRAME app for a Board View feature? Just couldn’t find an official way to know which board your view is running within other than parsing the boardId from the IFRAME app’s URI. Just asking bc if I’m parsing boardId and it’s not official means to get the current board ID, then it could possibly change one day and break my app. Thanks
Hello, is there any way that I can update a certain columns for a few items at once without inserting the Item ID in query mutation?
Hello! 3 days ago my tool was working perfectly, when I uploaded the image to it, it used my own API that is connected to Monday, to send the image to a Monday table. It fetches automatically the ID of the table, and the ID of the column is always the same. I am running it like this, on my API: app.post('/upload-file', upload.single('file'), async (req, res) => { if (!req.file) { return res.status(400).send('No file uploaded.'); } // Extract partId from the query string const partId = req.query.peca; // This is the board / table ID, it is available on the URL if (!partId) { return res.status(400).send('Part ID is missing.'); } const formData = new FormData(); // GraphQL mutation with a variable for the file const mutation = ` mutation ($file: File!) { add_file_to_column (item_id: ${partId}, column_id: "arquivos", file: $file) { id } } `; // Append the mutation and
Is it common to use the Monday storage api exposed by the sdk as the only data persistence mechanism for an app? As far as I understand this would allow for seamless authentication, which is great, but having a key value “database” solution that I’d have effectively zero visibility into doesn’t seem practical for a production/commercialized app unless the storage needs are super simple. If it is common, are people just using stringify’d JSON objects to store data with some sort of clever key naming scheme to keep data organized and unique?
Not sure I understand how this can yield a complexity that blocks my access to the API… boards (limit: 5) { id name groups { title items_page (limit: 2) { items { name id url } } } } } The response error: { "errors": [ { "message": "Query has complexity of 15095070, which exceeds max complexity of 5000000", "extensions": { "code": "maxComplexityExceeded", "complexity": 15095070, "maxComplexity": 5000000 } } ] } I have a developer plan account so that I can deploy my app on Monday but I run into complexity limits so often, it’s becoming essentially impossible to do actual testing for my app. My account has only 4 or 5 boards and each board only has a couple test groups and a max of 3 items in each group. However, to actually test my app so I can execute queries that return do
Hi all I’m seeking assistance with updating a PowerBI query that integrates with the Monday.com API. , I need to update it to ensure it works with the latest API standards without changing the structure of the output, as all my PowerBI reports depend on it. Here is the query that worked previously: Content=Text.ToDate(“{”“query”“: “”{ boards (ids: 3796729499) { items { id name column_values { title text } parent_item {id} } } }”“}”) Source = Web.Contents(“https://api.monday.com/” & “v2”, [ Headers=[ #“Method”=“POST”, #“Content-Type”=“application/json”, #“Authorization”=“” ], Content=Text.ToBinary(“{”“query”“: “”{ boards (ids: “”) { items { id name column_values { title text } } } }”“}”) ] ), #“JSON” = Json.Document(Source,65001), data = JSON[data], boards = data[boards], boards1 = boards{0}, items = boards1[items], and Content=Text.ToDate(“{”“query”“: “”{ boards (ids: 3796729499) { items { id name column_values { title text } parent_item {id} } } }”“}”) Thank you so much
My locale is en-GB My browser timezone is Europe/London My MDC user timezone is set to (GMT+00:00) Edinburgh. When I save a date in a date column, we get the following happening… It is displayed as a Europe/London date “23 Jul, 12:00” It is accessible from graphQL as a value of { "date": "2024-07-23", "time": "11:00:00", ... } and text as 2024-07-23 12:00 When I change my MDC user timezone to (GMT-09:00) Alaska things start getting weird: It continues to be displayed as a Europe/London date “23 Jul, 12:00” though I’d expect “23 Jul, 03:00” It is now accessible from graphQL as a value of { "date": "2024-07-23", "time": "11:00:00", ... } but with a different text as 2024-07-23 03:00 Is this a bug or expected behaviour? Should the displayed date be based on the browser timezone, or the MDC user timezone? Also, when programmatically saving dates to date columns, should developers save the date in UTC+0 timezone and let MDC do the rest? Cc: @Matias.Monday
My Monday.com app is successfully authenticating users as described in the documentation. The resulting JWT token is passed to a .NET API application in the Authorization HTTP header. I’m having some trouble to decrypt the JWT token. When I look at the Monday.com app definition on the tab called ‘Basic Information’, there’s a ‘Signing Secret’ value. Is that signing secret used to sign the JWT token or not? Since the JWT token is not containing ‘iss’ (issuer) and ‘aud’ (audience) claims, I need to write some custom C# code to decrypt the JWT token in the .NET API.
Hi, I am building monday.com app using next js i ma getting below error .next/server/vendor-chunks/lib/worker.js when i import apps-sdk in server side. Can you please help me how do i reolve it
Anyone get this working in any way shape or form with Azure, Azure Data Factory, Azure SQL? I need to get data from azure to Monday in bulk or 1:1 I don’t care just automated. I could get the API to work in postman but never got azure to authenticate with my key.
I am not getting any view returned in api response other than form. As per documentation, kanban board, gantt view, timeline view etc are supported. Can you give me list of supported views?
Surfacing this here bc it was buried in another thread… Hi, I’m proceeding with OAuth testing. Not sure what the problem is but I get a response from the token service with the error {“error”:“invalid_request”,“error_description”:“Missing client_id param”} (log) ControllerMonday: sending request to get token with - {"client_id":"NNNNN","client_secret":"NNNNN","redirect_uri":"MY_REDIRECT_URI","code":"NNNN"} (log) ControllerMonday: token response, getting access token (log) ControllerMonday: token response, body is - {"error":"invalid_request","error_description":"Missing client_id param"} I’m receiving the redirect callback with the access code just fine. But, then I set all the values including “client_id” and calling https://auth.monday.com/oauth2/token and I get the response that “client_id” is missing… I had a similar error when I first started testing OAuth for Monday apps and it was because my app settings had changed and I had to redeploy the app so that my OAuth settings
I’m attempting to write an items_page query that will return names of location codes only where all instances of a location code are in billing status. In a simplified example, the desired result of my query would return CD34 and EF56 Location Name Location code Location Section Status AB12 AL1 AB12 1 in progress AB12 AL2 AB12 2 billing CD34 TN1 CD34 1 billing CD34 TN2 CD34 2 billing EF56 TN1 EF56 1 in progress EF56 TN2 EF56 2 in progress GH78 GA1 GH78 1 billing GH78 GA2 GH78 2 billing query GetAllInBillingLC { boards(ids: 1234567890) { items_page( query_params: {rules: [{column_id: "locationcode", compare_value: [Is left blank], operator: any_of}, {column_id: "status", compare_value: [2]}] } ) { cursor items { name } } } } This is an example of my best guess as to how to structure the query. It doesn’t have my real information since that’s
I’ve seen a number of posts asking the same thing, but want to know what is the definitive way of querying/updating columns across multiple boards that have the same COLUMN NAME, but because of changing circumstances during setup have different Column IDs? e.g. Column ‘My Column Name’ in board 1 had ColumnID ‘text_1’, but in board2 has ColumnID ‘text2’. We cannot rename ColumnID after creation. I cannot seem to pull ColumnName using the API. e.g. function fetchMondayData(boardId, limit) { const query = `{ boards(ids: ${boardId}) { items_page(limit: ${limit}) { items { id column_values { title text } } } } }`; the API always returns an error that ‘title’ doesn’t exist. I’m obviously not alone in wanting to create a function that queries and updates columns in multiple boards. So what is the solution if we can’t rely on ColumnID? I look forward to anyone’s help. Many thanks.
Hi there 👋, After 2 years of operation and thousands of users, we decided to stop pushing our monday.com Item tracking App in the Marketplace. It is too far away from our core business, and we don’t have the ressources to make the improvements it deserves in the future (and believe me, the potential is high). @dipro suggested that some of you could be interested to take it over. Do not hesitate to contact me if it is the case, I will be very happy to discuss it with you. Cheers!
I am running some API requests and keep getting this response (error message): "“GraphQL API is turned off temporarily” I started noticing this at around 11:40 BST and it is persisting both in API calls and the API Playground now, 10 mins later. Do we know what is going on and do others have the same issue?
Hi, new Monday dev here. My app is a Custom URL (IFRAME hosted) app. Just want to confirm that the only way to do authentication for this type of app is OAuth? (i.e. Seamless auth is obviously not an option in my use case, correct?) Along these same lines, just want to clarify the basic process I need to implement: Setup my WebHook for lifecycle events Configure my OAuth / Redirect URI settings Configure my scopes I need to request User installs/trial my app I will get a WebHook notification at this point, possibly with some basic user info User launches my app OAuth flow starts, user authorizes the scopes I request Once approved I get the user’s API token (store in my backend) The WebHook lifecycle events are the only integration requests I’ll get from Monday as my users manage my app’s install/delete/cancel/renew/subscribe/etc And, with the Monday SDK I’ll do auth/login/init using the user’s OAuth token. At that point, all requests I make via the initialized SDK will be for tha
Can I integrate the code that I build into the entire UI instead of just embedding it within the boards
Hi Gurus, I don’t know what has been updated from monday, but from today morning, my integration using monday API started hitting error saying that “HTTP header is larger than 8192 bytes”. It seems like it cannot handle the header more than 8KB. Anyone knows how to suppress or make monday API not returning header data? I tried in postman, and noticed that the custom parameter “content-security-policy” is quite large. Is there anyway to make API not returning this parameter? Thanks and Regards, Leo Li
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.