Welcome to the new monday developer community
Discussions category for everything related to app development on top of monday.com
Recently active
I’m currently working on integrating a custom SDK with the Monday.com API for my project management needs. However, I’ve encountered some challenges and could use some guidance from the community. Here’s the scenario: I’ve developed a custom SDK in [programming language] to interact with the Monday. com API, aiming to streamline various processes within our project management workflows. The SDK is designed to handle authentication, querying, and updating data seamlessly. However, I’m facing the following issues: Authentication Problems: Despite following the authentication process outlined in the Monday. com API documentation, I’m encountering authentication errors. Are there any common pitfalls or best practices I should be aware of when implementing authentication with the Monday. com API using a custom SDK? Data Retrieval Issues: While attempting to retrieve data from our Monday. com boards using the SDK’s query functions, I’m not receiving the expected results. It seems like
Dear Team , I’m making an application in Python to send data via Monday’s API. I’ve read a lot of threads, but I still don’t understand how to do it. Can we create items directly with values? Example : (Creating a new item with column values populated (Python) - #4 by Tri) Other example : (How to post to a form using Monday.com's API?) Where you have to create the item, then update this item, as it says here: REST API - Items are created even if column_values are incorrect monday dev Hi Friends, I’m new to the Monday.com API and I noticed that if my column_values contains a Column Type that does not match what is on the board, the item is still created! Example: vars = { "myItemName": "Hello everyone!", "columnVals": json.dumps( { "status": {"number": "Closed"}, "label": {"text": "CADS"}, } ), } The Status and Label column are not Number or Text types. In this scenario, a new Item with a Title of ‘Hello
Hello, In the api documentation of Monday it is said that to add an item, we can use this GraphQL line: mutation { create_item (board_id: 1234567890, group_id: “group_one”, item_name: “new item”, column_values: “{"date":"2023-05-25"}”) { id } } What do we have to add to this line to create an item with multiple column values ? Best regards,
I’m facing a challenge with uploading PDFs generated from HTML to a column in monday.com. I’ve explored two methods for converting HTML to PDF: Using Chromium: This method seems complex given how monday.com manages Dockerfiles and servers, making it a less viable option(tested) for my scenario. Using an API: This approach successfully generates a PDF and provides a direct URL to the PDF file. However, the Add File to Column mutation appears not to accept a URL string directly, and I don’t receive a file buffer that I could upload. I’m at an impasse where I can’t use Chromium to generate a buffer, and the API method doesn’t fit the Add File to Column query’s requirements. Has anyone encountered a similar issue or can offer a workaround to either convert the HTML to a buffer without Chromium or upload a file using a URL? Any suggestions or guidance would be greatly appreciated. I understand that an easy alternative could be to simply drop the PDF link, but I prefer to keep users within t
Hi Having boards with groups including more than 500 items - I’m looking for the right way to pull all items from a specific group all at once (I know ‘limit’ argument must be 500 maximum). If not possible at once than I should build a loop which is pulling the data as chunks, and I would like to know if ther’s a convenient way to do so without pulling the same items each iteration. Thanks!
Hi everyone, I’ve hit a snag while trying to upload a file to a column using the Monday SDK. Below is the snippet I’m working with: import initMondayClient from 'monday-sdk-js'; import { Logger } from '@mondaycom/apps-sdk'; import path from 'path'; import fs from 'fs'; import FormData from 'form-data'; export async function changeColumnValue(token, itemId, columnId) { const formData = new FormData(); const filePath = path.join(__dirname, 'test.txt'); formData.append('variables[file]', fs.createReadStream(filePath), 'test.txt'); formData.append( 'query', `mutation ($file: File!) { add_file_to_column (item_id: ${itemId}, column_id: "${columnId}", file: $file) { id } }`, ); try { const response = await fetch('https://api.monday.com/v2/file', { method: 'POST', headers: { Authorization: token, ...formData.getHeaders(), }, body: formData, }); const data = await response.json(); console.log(
So far I was using https://api.monday.com/v2/get_schema endpoint to get the GraphQL schema. Currently this URL returns empty value (screenshot attached) Is this the wrong source of the schema? If not, is this going to be populated again?
Hello, I tried to implement Google Analytics 4 via Google Tag Manager in my app. But it is sends almost 0 hits to GA4. I’m also using dataLayer to to capture important data about current page. Any advice, solution or recommend way? Thank you.
As a full stack dev with some years of experience, I’m thinking of diving into crafting custom Monday.com apps, doing this freelance or agency-style, aimed at fitting unique client needs beyond what the marketplace currently offers. Curious if there’s a need for this? Would love to hear your thoughts, tips, tricks, or advice you’re willing to share. And also, in the last financial report, I saw that there were about 400-410 apps and 230-something that got payments. Does this mean that more than 50% got a payment, so I can assume 25% currently make money, or let’s say 10%? It sounds too good to be true. Any data on it?
Hi, I am trying to implement a datepicker using vibe framework like the following: <DialogContentContainer className="DatePicker-stories-module_datepickerDialogContentContainer"> <DatePicker data-testid="date-picker" range /> </DialogContentContainer> But it throws an exception saying onPickDate is not a function.
Hi, I am using Vibe for UI for my app. I am using the dropdown component to list users. It is working well for static data but when it comes to dynamic data I can’t make it. I am querying the backend, getting user results and set the fresh data using react’s useState function. Here is my example. const [users, setUsers] = useState([]) <Dropdown insideOverflowContainer={true} className="dropdown-stories-styles_spacing" options={users} placeholder="Select users..." menuPosition={Dropdown.menuPositions.FIXED} multi multiline onKeyDown={function (val) { SearchUsers(val, setUsers) }} import {useEffect} from "react"; import mondaySdk from "monday-sdk-js"; const monday = mondaySdk(); const userTimeouts = [] export function SearchUsers(el, setUsers) { let timeout = setTimeout(function () { let query = `query { users(name: "${el.target.value}"){ id name photo_tiny} }` let users = [] monday.api(query).then(res => { res.da
Hi Expert , I am .Net developer and i want to explore Monday CRM Sales graphql apis (account , contact ,item , deal ,Quotation). I have created a CRM sales account where i can see account /contact api details in post man but i can't see deal api details which also i want to use. can you please share any document or steps where i can see all objects schema or columns are available . Thanks & Regards Surajit Kundu
After setting up mock subscription and updating it, I am able to get the new mock subscription when requesting as graph ql query, but the session token (from item view sent to backend for jwt verification) still has stale (unupdated) mock subscription info. How long does it take for session token to have updated subscription info, and can it be properly relied upon or not for checking if account is on paid subscription plan or not ?
Hi there, I am using the monday.listen(“itemIds”) method on a board view to show items that a user is searching for ( and hide other items ). The api doesn’t return itemIds corresponding to the sub items. Is this is a bug or expected behavior? Thank you.
Hi, I am kind of new to GraphQL. I am trying to create items in my board 6187373144 after the creating a new group in this board. The items that I want to create is the items resulting from a filter column from board 6187370124. I have created the new group and fetched the items that I want to create in the board 6187373144. But I am struggling with the creation of the items on this board. This is the code I have so far. # 1. Execute the CreateGroup mutation to create a new group in board 6187373144 mutation CreateGroup($groupName: String!) { create_group( board_id: 6187373144, group_name: $groupName ) { id title } } # 2. Execute the GetItems query to fetch items based on the filter values in board 6187370124. query GetItems($filter: [String!]!) { items_page_by_column_values ( board_id: 6187370124, columns: [ { column_id: “status4”, column_values: $filter } ] ) { items { id name } } } # 3. For each fetched item into the newly created group - NOT WORKING mutation CopyItemsToGroup($group
Hi guys, I need you to direct me to some quary or link to doc of how to fetch data from a cell, Ive got a monday board and need using Fetch/Axios to get data of some cell given another cell. How can I do it in the best way? In the past I used let query = {items_by_column_values(board_id: XXXXX, column_id: "text", column_value: "${user.app_id}") { column_values(ids: [pm]) { text } } }; Now its not working anymore and I need another solution.
I am trying to get views names and ids for a board. I am trying this query for the same { boards(ids: [1841601504]) { name views { id name } } } In response I am getting this { "data": { "boards": [ { "name": "New Board", "views": [] } ] } } How can I get the views info ? I am trying this from API playground for now.
I’m trying to find all the board views for my app from within my app. For example, if multiple board views have been added for the same app, I want my app to be aware. For a particular board, I can find all the board views using this GraphQL: { boards(ids: [2768573330]) { name id type views { id name type __typename settings_str source_view_id view_specific_data_str } } } It produces: { "data": { "boards": [ { "name": "My Example Board ", "id": "2768573330", "type": "board", "views": [ { "id": "138306178", "name": "Google Calendar Example", "type": "FeatureBoardView", "__typename": "BoardView", "settings_str": "{}", "source_view_id": null, "view_specific_data_str": "{}" }, { "id": "184034674", "name": "Another Example", "type":
Hello, I want to know if there is a way to retrieve the id of an item by giving the values of one or many columns, Thank you in advance,
[1] AI-Powered Automations [2] Automate Send Branded Email [3] Cross-Board Search & Update [4] 2-way sync between Monday and Google Sheets 0 voters Hello Monday Community, I’m Fitri from NewAge, and we’re excited to create apps that enhance your Monday.com experience. We’ve brainstormed a few ideas and would love your input on which ones you’re most excited about: AI-Powered Automations: Utilize AI prompts in your automations. Whether it’s generating values before automatically applying them to a column or preparing customized content for emails or notifications. Say goodbye to mundane tasks of updating columns and generic messages—get personalized tailored content every time. For example: When the status changes to something, run the following prompt: “Create a message inviting ‘People’ to a meeting on the following ‘Date’ & apply it to Column ‘Message’.” Automate Send Branded Email: Send professional branded emails automatically from Monday, with support for H
Hi All, I have a problem with my project with React. I get the following error: This is my App.js in the Server folder: require(‘dotenv’).config(); //require(“@babel/register”)({ presets: [“@babel/preset-react”, “@babel/preset-env”]}); const path = require(‘path’); const express = require(‘express’); const bodyParser = require(‘body-parser’); const routes = require(‘./routes/index’); const itemViewRoutes = require(‘./routes/itemView’); const { PORT: port } = process.env; const app = express(); app.use(bodyParser.json()); app.use(routes); app.use(‘/api/itemView’, itemViewRoutes); app.use(express.static(path.join(__dirname, ‘public’))); app.listen(port, () => { console.log(Server listening on port ${port}); }); // Serve static files from the ‘public’ directory app.use(express.static(path.join(__dirname, ‘…’, ‘client’, ‘public’))); app.use(express.static(path.join(__dirname, ‘…’, ‘client’, ‘src’))); app.use(express.static(path.join(__dirname, ‘…’, ‘client’, ‘node_modules’))); app.use(
My project needs both a UI (with React) and an API (with express), but under one Monday app. I have kind of a monorepo where I have ui/ and api/ dirs at the root of the repo, and then each of these two are separate projects with their own package.json, node_modules, etc. I don’t want to spend days/weeks trying to setup a proper monorepo for now: it’s too time consuming for an MVP. How does that work with Monday code? Can it host/serve both an API and a UI withing a single Monday app?
In case you missed it, monday.com has a native app for iOS and some “native” Electron-based apps for desktop computers. For iOS (and probably Android), the user experience for app developers is simple. Apps are not supported, go to a desktop browser 😢. For the Electron-based apps, the behaviour is subtly different from actual real browsers. 2 important places where Electron-based different are: There is no access to window.open, or rather it just fails You cannot open links in new tabs, e.g. <a target="_blank" ... will fail silently, so be prepared. Actually, as @kolaai points out in the comments, you can and should always be using openLinkInTab: monday.execute("openLinkInTab", { url: "https://google.com" }); If you build your app without these considerations, be prepared to have additional support requirements from you customers that may not be simply to troubleshoot quickly if you don’t ask the right questions. If you are opening links with window.open in a desktop
I’ve been working on developing a custom Monday app to integrate with my workflow, but I’m encountering authentication issues and could use some assistance. Here’s the situation: I’ve followed the documentation provided by Monday. com and successfully set up the basic structure of my custom app. However, when it comes to authenticating the app with Monday’s API, I’m facing difficulties. I’ve generated the necessary API tokens and followed the authentication process outlined in the documentation, including setting up OAuth 2.0 authentication for my app. However, whenever I try to authenticate the app using the provided OAuth flow, I receive an authentication failure message. The error message I’m getting typically includes details such as: {"error":"invalid_grant","error_description":"The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request,
Can I assume account ID, user ID, item ID, board ID to be always fit within long int, will that assumption be correct, or can it change in future like if monday.com make it string or UUID in the future Actually I am building an app and want to enforce constraints on my sql db columns
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.