Welcome to the new monday developer community
-
Recently active
Hey builders 👋We’ve just published the first monday Marketplace & Developer Monthly Digest of 2026.The goal of this format is simple:Once a month, we’ll recap the most important platform updates for app developers in one quick video.This first one comes with a slight delay, but we’re officially kicking things off. I’d really love your feedback on the format. Watch it here:Here’s what we covered🚀 Build Skills for monday SidekickSidekick is officially out of beta, and developers can now build AI-powered skills for their apps.Read the full announcement here⚠️ Action Required: Migrate Legacy Automation FeaturesLegacy automation features must migrate to the new workflows-based infrastructure by April 30, 2026.Details and migration info here🗄️ monday code Document DB is GAA MongoDB-compatible database hosted entirely on monday infrastructure, built to support more complex business use cases while keeping your app’s data secure inside monday.Learn more here🌍 New monday code Region: Is
Hi everyone,I’m working on an integration where, when a user triggers an API action, my app fetches data from a third-party service and updates multiple columns on a Monday board.The main challenge I’m facing is how to handle column IDs in a clean and scalable way.Currently: I usually rely on column fields in the recipe to get the columnId, which works fine. However, when I need to update many columns (for example 5–10 columns), adding that many column fields makes the recipe sentence very long and not clean. I tried using item values, but they only return the columnId without any clear reference to which column it belongs to. If I use dynamic mapping, I lose access to the actual columnId, which my integration logic still needs. So my question is:Is there any way in Monday to pass multiple columns at once — including both the columnId and some kind of alias / logical name — so that the integration app can handle column updates more easily?I’m looking for a pattern or best practic
Hi there!The docs recommend using change_multiple_column_values when possible but never mention how it reduces complexity cost and by how much.Let’s put the question this way: If we use change_simple_column_value to change 1 column it costs 30k complexity points. So 10 column changes = 300k.Is it that if we use change_multiple_column_values all of 10 changes at once costs only 30k? How does this get calculated?
Hello,I am currently building an automation app for monday.com that allows users to automate workflows within their boards.So far, I have successfully completed authentication and all other required setup. I have also built several custom views and implemented the Integration Sentence Builder feature. The recipe sentence automation builder is working well overall.However, I am currently stuck while building a dynamic recipe sentence UI inside the Integration Sentence Builder. I have already posted in the community and sent an email to monday.com support, but I have not received a response yet. That’s why I’m writing with a detailed explanation of what I’m trying to achieve and where I’m facing difficulties.What I want to buildI want to create a recipe sentence like:When {status} changes to {something}, send {template name} {dynamically loaded inputs based on the template} from {WhatsApp account number} to {phone column of the board}.Here’s what is already working: I can dynamically loa
Hi everyone!I’ve been experimenting with the change_multiple_column_values mutation to update the Files Column with external links (like Google Drive). While the documentation currently lists this as unsupported for this specific mutation, I found that it actually works—with one major catch regarding fileId. The MethodI am using the following mutation:mutation updateFileLink ($columnValues: JSON!) { change_multiple_column_values( item_id: "my_item_id", board_id: "my_board_id", column_values: $columnValues ) { id }}With this JSON as columnValues variable:{ "file_column_id": { "files": [ { "fileId": "file1_id", "fileType": "GOOGLE_DRIVE", "linkToFile": "https://drive.google.com/...", "name": "file1.pdf" } ] }}The Issue: The fileId DependencyThe mutation is successful and the link appears perfectly in the WebUI. However, I’ve run into a significant backend issue: Omitting fileId: If I don't provide a fileId in the mutation, the
Hi there,I am curious to know if you have plans to drop support for settings_str at any point since you have switched to the settings instead?
Hi everyone,Between January 28 and January 29, we identified an issue that caused temporary disruptions to some apps and integrations across a limited number of monday.com accounts.What happenedDuring this time, certain API requests intermittently failed to retrieve user API token scopes, which may have affected: App functionality Integrations Short-lived automation or authentication flows The issue has now been fully resolved, and all systems are operating normally.If you continue to experience any unexpected behavior or have questions, please feel free to reach out.
while connecting developed app with monday getting errors.
Hi everyone,I’d like to ask for feedback and ideas on whether we’re using the SDK Storage method correctly.Our custom app consists of a form-based flow: Form A is used to set up boards and item columns using monday.com’s GraphQL API. After a successful submission of Form A, Form B receives the generated board and column IDs from the GraphQL mutations. These IDs are then used in another mutation to create new items in the board (like a record table). App flow: Fill out Form A and click Submit Run GraphQL mutations to create boards and columns Retrieve the generated board and column IDs Store the IDs in monday Storage Redirect to Form B Form B retrieves the stored IDs For step #4, we are currently using monday-sdk-js(https://developer.monday.com/apps/docs/introduction-to-the-sdk)to store the generated IDs. This is done on the client side only, since there was an announcement that server-side usage will be deprecated soon.However, we may soon introduce an automation that uses
Hello,I am planning to develop a Monday.com automation app that will allow users to send messages to phone numbers stored in a Phone column.The app will work as follows: Users will have access to a list of pre-approved message templates. The user can select one template, and the message editor will automatically populate with the template text. Inside the message editor, users will be able to map values dynamically using suggested column names (Monday automatically suggests columns with the “Message” field type). Once the automation is configured and saved, it will listen for the specified trigger event. When the event occurs, a custom execution API endpoint will capture the event and process the operation (sending the message to the phone number). I would appreciate guidance on the recommended approach, required APIs, and best practices to implement this workflow in a Monday.com automation app.Thank you in advance for your support.
Hello Monday Dev Community. I’m brand new to building apps within Monday (haven’t coded in a long time, but getting back into the game). I’ve followed this Quickstart guide and everything worked up to step 6 which is the following: When I run npm run build, I get an error that the build script does not exist. I checked the package.json file and it does not include the “build” script. I’m thinking that the quickstart guide is out of date, but I don’t like to assume. This is a list of scripts that npm run shows:Am I missing something? Is this quickstart guide out of date? I appreciate any help you might provide.Jeff.
Hi monday devs. We receive daily support request from users reporting that they receive the following error message when they run a General Caster integration: Your automation has failed due to a resource not being found. We discovered that this error is returned by monday when the app is not installed on the workspace where the integration is running on. By design, even if an app (like General Caster, featuring custom integrations) is not installed in a workspace, the user can add and set an integration up in his boards, but when he runs it the error is returned. So if you don’t want to change this behavior and keep showing an app available in the workspace where it’s not installed on, please change the error message with something like: The app is not installed in this workspace. Please enable it in the admin area. cc @Matias.Monday
Hi everyone,I’m building a full-stack app using monday code (React UI + Express backend) and I want to make sure I’m following the correct authentication and authorization best practices.Current architectureUI → Backend authentication From the UI, I fetch monday.get("sessionToken") I send it to my backend in a request header In the backend, I verify/decode the sessionToken using my client_secret This works well for validating that the request comes from monday and from my app When decoding the sessionToken JWT, I noticed that it does not include a short-lived token that can be used to call monday APIs. OAuth & monday API calls I implemented a standard OAuth flow In the OAuth callback, I store the returned OAuth access token in Secure Storage When calling monday APIs from the backend, I retrieve that token and use it like this: import { ApiClient } from "@mondaydotcomorg/api"; const mondayApiClient = new ApiClient({ token: accessToken }); const query = ` query { custom_ac
Hi everyone,I'm building a Monday App using React and Express. I'm using SecureStorage to store the OAuth access_token after the handshake.I have a concern regarding Scope Management and Token Validation.Currently, I define my required scopes in an Environment Variable (e.g., MONDAY_SCOPES="boards:read users:read"). In my authentication middleware, I simply check if an access_token exists in the storage. If it exists, I assume the user is authorized.The Logic: Env: SCOPES="boards:read" User authorizes: I get a token with boards:read and save it to SecureStorage. Later: I update my app features and change Env to SCOPES="boards:read boards:write". The Problem: My middleware still sees the old token in SecureStorage. It returns 200 OK for the auth check, but the API calls fail later because the token lacks the new boards:write permission. Here is a simplified version of my check:TypeScript // Middleware or Auth Check Logicexport async function checkAuth(req, res, next) { const secu
Hi everyone,I am building a React + Express app and deploying it using the Monday CLI (mapps code:push).I am currently implementing the OAuth flow, but I am stuck in a tedious manual loop regarding the Redirect URI.The Scenario: Frontend: I initiate the OAuth flow using window.location.origin to build the redirect URI dynamically. Backend: In my callback function, I use an environment variable (MONDAY_VERSION_URL) to validate the redirect_uri during the token exchange. The Code:Frontend (Initiating Auth):JavaScript const startOAuth = async () => { const { data: context } = await monday.get("context"); const currentOrigin = window.location.origin; // This changes on every deploy const redirectUri = `${currentOrigin}/oauth/callback`; const authUrl = `https://auth.monday.com/oauth2/authorize?client_id=${ context.app.clientId }&redirect_uri=${encodeURIComponent(redirectUri)}`; monday.execute("openLinkInTab", { url: authUrl });};Backend (Callback):TypeScript export async f
The monday.com Foundation Emergency Response Team is seeking a freelance developer to support an existing marketplace integration: KoboToolbox.The app is already built. The scope of work is ongoing technical support and bug fixing as issues arise.High availability during support requests is required. Our team operates in active emergency response contexts, where the stability and reliability of this integration is critical.This role is best suited for someone comfortable working under time-sensitive conditions and responding quickly when issues occur. We are a pro bono initiative from our Philanthropic Foundation, so we are looking for affordable services 🙏
Just thought I’d put this here.You can get the region of the monday account by decoding the shortLivedToken from an automation and getting the value of rgn and extracting the first 2 letters for au, eu, il or us.It contains other information too, but what is aai?Example decoded shortLivedToken:{ "alg": "HS256", "typ": "JWT"}.{ "shortLived": true, "uid": 6......4, // user_id: number "actid": 2......2, // account_id: number "aid": 1......4, // app_id: number "aai": 2....1, // ???????????????????????????????????????? "rgn": "euc1", // region: string "exp": 1768213333, // token expiry: number "iat": 1768213033 // token issued at: number}.[Signature]
Dear Community, I hope this message finds you all in good spirits. I would like to inquire about the fate of account Storage once a user decides to uninstall the app. Are the data wiped out entirely upon uninstallation, or does Monday.com retain any portion of this data for a certain period or under specific circumstances? Thank you all for your contributions and support. I eagerly await your insights and feedback.
Hi everyone,Has anyone found a way to support standard or managed templates in cases when an app stores board related data that should be duplicated when new boards are created from a template?In our case, the app stores column related metadata (in monday storage) used for column views (https://developer.monday.com/apps/docs/column-views). If a user adds our column to a managed template, we would like the app data to be automatically populated for all boards created from that template, so they don’t need to configure it in each boards. New boards created from template should have the app data populated from template as well.So far, we have not found a way to associate boards with the template they were created from. Having something like a parentBoardId or template reference on boards would make this much easier. Also having the app notified when a new board is created from template would allow us to duplicate the configuration straight away.
Hello, I have some questions regarding ability of creation custom Column Views:Will be there some mechanism of conversion of ordinary column to custom one, without losing data and attached automations? Now if application is deleted, custom column becomes unclickable instead of turning to usual column as common sense suggests. Is it a bug? Will custom column views be supported in mobile app?In general it would be good to know roadmap for Custom Column improvements at least for nearest quarter to plan what can be get from platform and for what workarounds should be prepared.
Hi everyone, Quick question about Monday.com app publishing: We built a third-party CRM integration for another platform. Our Monday.com app is OAuth-only - no UI, no features within Monday.com. Users authenticate via OAuth to allow syncing CRM data to Monday boards. Current issue: OAuth only works for our organization (dev mode). External users can't authenticate. Question: Must we publish to Monday.com Marketplace just for OAuth, even though the app has no standalone features in Monday.com? Is there an alternative for production OAuth access? All user interaction happens in the external platform. The Monday app just enables API access. Thanks for any guidance!
Hey everyone! 👋 I'm building a custom Monday.com app and running into an issue with custom field dependencies. Hoping someone here has encountered this before! The Problem I have two custom field types with a dependency relationship: - Boardz (parent field) - Lists boards ✅ Working - Viewz (dependent field) - Should list views from selected board ❌ Not working When I select a board and then click on the view dropdown, no network request is made at all. The field just shows "Please select a board first" even though a board IS selected. My Setup Field Type 1 - "Boardz": Type: List (Remote Options) Remote Options URL: https://...app/integrations/remote-options/boards Default field key: boardId Dependencies: None Status: ✅ Works perfectly - returns board list Field Type 2 - "Viewz": Type: List (Remote Options) Remote Options URL: https://...app/integrations/remote-options/views Default field key: viewId Dependencies: Boardz (Field key: boardId) Status: ❌ No network req
My automation has been successfully running the following mutation daily for weeks:```mutation updateItem($board_id: ID!, $item_id: ID!, $column_values: JSON!) { change_multiple_column_values( board_id: $board_id item_id: $item_id column_values: $column_values ) { id }}```With the following variables:```{ "board_id": 8767955035, "group_id": "topics", "column_values": "{\"date4\":\"2026-07-24 00:00:00\"}", "item_id": "8954255421"}```The `group_id` variable is set, but not used, so this is just a red herring.Today when it ran, I got the following response:```{ "data": {}, "errors": [ { "message": "Unauthorized field or type", "path": [ "change_multiple_column_values" ], "extensions": { "code": "UNAUTHORIZED_FIELD_OR_TYPE" } } ], "extensions": { "request_id": "601955a7-20fb-9f36-badf-826dbf31145e" }}```Nothing has changed on the app, automation, or board, but today it failed.Running the same mutation in the GraphQL pl
I am working on a Custom Widget. And I am adding a Field, of type Column and only allowing Timeline-type columns. When I go to Settings in my implemented Custom Widget, it’s only showing the item columns, but no the subitem columns that mach with this criteriaI want to be able of selecting also which subitem column, of type Timeline, I want to use.
Hello everyone.I see monday recently added support for API Key Authentication in Credential Feature for workflow blocks, is there something similar for sentence recipe automations?But more importantly, would an app using API Key Authentication be accepted in the marketplace?I know OAuth is the recommended method and that’s what I’ve used for my other apps, but there are some third party services that don’t have OAuth.
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.