Welcome to the new monday developer community
Discussions category for everything related to app development on top of monday.com
Recently active
Hi everyone,I’m currently building an app using Vibe AI in monday.com and I have a question about connecting additional boards.When creating the app initially, I understand that we can connect up to 5 boards during the setup stage. However, my app is already in progress and I now need to connect another board to it.The problem is that I cannot find any option to do this. I have looked everywhere but there is no “+ Add Board” or “Connect Board” button in the app settings or interface.My question is:Is it possible to add another board after the Vibe app has already been created?If yes, where can I find the option to connect an additional board?Any guidance would be greatly appreciated. Thank you!
Hello! Following the API deprecation we ran into a few breaking changes - I believe I’ve resolved most of these now but there’s one I don’t seem to be able to find a solution for so was looking to see if I’m (hopefully) missing something obvious, or if there’s a different way around this.Previously on the old API as part of our query we received changed_at for certain column types as part of the value field within column_values for items. This now always returns null for the subtask column, as documented with the change, but the documentation advises using fragments to return the missing fields, showing the board_relation type and linked_items with name and updated_at as an example (https://developer.monday.com/api-reference/changelog/value-field-now-returns-null-on-connect-boards-dependency-and-subtasks-columns).I’ve tried to replicate this with SubtasksValue instead, but nothing seems to be an accepted field. I can get the updated_at field at the item level, and then at the subitem l
Hi,I created and use a credential app in my workflows. The user has to provide the credentials (on-promise). When I connect to the oauth server, it works up to the provider unique identifier. It calls my endpoint, I return a JSON as described. But after that, I can not use the Credential feature. I have to start from the beginning. What is missing to complete the process?Thanks and best regards, Marcus
Hi,I’m using the new Credentials app feature (under Build → Features → Credentials, not the legacy credentials field) to authenticate with a third‑party service in monday workflows. Behavior I’m seeing: User installs the app and connects an account via the Credentials feature. User then uninstalls the app. Later, the same user reinstalls the app. When they go to connect again, they still see the old credentials available to select, which makes it look like we didn’t delete anything on uninstall. From the docs, I understand that: Credentials are securely stored and scoped to the app, and can be reused across workflow features. Privacy & security requirements say that when an app is de‑authorized/uninstalled, app data should be deleted within 10 days unless there is explicit consent to retain it. However, I couldn’t find any documentation that explains: Whether credentials created via the Credentials app feature are supposed to persist across uninstall/reinstall. Whether the
SDK SDK SDK. So many SDKs! Help me understand if I’m wrong. Software development kit https://developer.monday.com/apps/docs/introduction-to-the-sdk - Last commit: 1 month ago JavaScript SDK https://developer.monday.com/apps/docs/monday-code-javascript-sdk - Last commit: 9 months ago API SDK https://developer.monday.com/api-reference/docs/api-sdk - Last commit: 1 week ago Seems like the last one is the most actively maintained but I still cannot trust it because there are so many SDKs! Which one should be my go to and how do I know a new one is not going to be created without me knowing? Are these for different purposes and all are actively maintained (serously doubt it)?
Hi everyone,I'm encountering a persistent quota issue while trying to deploy a new server-side app to monday code.The Issue: When running mapps code:push -i <APP_ID>, the build succeeds but the deployment fails with: ✖ You've reached the maximum allowed number of apps connected to monday-code.Context: I am working on an Organization account. I previously had few private test apps. Some were using Client-side hosting, and I was attempting to set up this new one on Server-side (monday code). I am aware of the 5-app limit for private apps on monday code. Steps Taken to Resolve: App Cleanup: I have already deleted the previous private test apps that were using the hosting slots. Disconnecting: I searched for a manual "Disconnect" option in the Developer Center but found only the "Delete" option for these apps. Verification: Despite having fewer than 5 active apps in my Developer Center, the CLI still reports that the maximum number has been reached. Question: Does deleting an
Hey all! Welcome to the fresh-from-the-oven, new developers community hub!This place was built all for you, you can find here the latest apps framework and API updates, a space to request features and share ideas, community support for app development and the GraphQL API and info about our community webinars, workshops, and developer events.Before you start, important note: if you already had a user name for the community.monday.com, we probably migrated your username and all your contribution history to the new platform, please reset your password here (also, check if the mail went to spam) and login to your existing user!If you can’t reset your password, please let us know here with your details and we’ll reset it for youAlso, we would like to get your feedback! please tell us what you think here!
In the example above, the contact, Sam Jones <sam@apple.com> has emailed someone. The avatar and heading are for Sam.If I was to add an activity on the contact’s behalf, I’d want to add the contact’s avatar & name rather than my own (which is what would happen by default).Is there a way to add that the Contact as the person who performed the activity rather than the person who added it using the API?So far, this seems to be a limitation of the create_timeline_item mutation. Dev Sidekick says:Looking at the available arguments for create_timeline_item, there is no parameter to specify a different user as the activity performer. The mutation's arguments are:item_id, custom_activity_id, title, timestamp (required) content, summary, time_range, url, phone, location (optional)[create_timeline_item]None of these allow you to attribute the activity to a specific contact or user other than the API caller. The knowledge sources do not mention any way to override the author/performer
Hello,In order to report an action block result, the documentation mentions:“This JWT is then sent in the Authorization header as a Bearer token. It should include your appId in the payload.”While the example shows no mention of “Bearer”:# The `callbackUrl` received from monday in the initial POST request bodyPOST https://callback-to-monday.com/callbacks/12345678 HTTP/1.1Content-Type: application/jsonAuthorization: <SIGNED_JWT_TOKEN>The example is the way to go. A token sent as Bearer will not work.Thank you,
I’m trying to create a dynamic field mapping for my automations/workflows using object fields.While I’m able to list the fields correctly, all of them are flagged as required, which doesn’t match my expectations. In the payload, the fields are marked as nullable (as described in the documentation):body = { name: { title: 'User name', type: 'primitive', primitiveType: 'string', isNullable: true, isArray: true, }, email: { title: 'Email', type: 'primitive', primitiveType: 'string', isNullable: true, isArray: false, },}; Is the documenation outdated, the code wrong or is there a bug?
Hey,Is anyone currently able to register create_subitem webhooks via the API? I’ve started getting 5xx errors — this was working fine earlier.
HI, I am using the API version 2024-01 and since recently the value field returns null on connect boards.As an example { boards(ids: my-id) { items_page(limit: 1) { items { column_values (ids: "boards_verbinden__1") { id type value text } } } }}returns{ "data": { "boards": [ { "items_page": { "items": [ { "column_values": [ { "id": "boards_verbinden__1", "type": "board_relation", "value": null, "text": null } ] } ] } } ] }, "extensions": { "request_id": "aea63278-8d4a-9aa6-a460-25fc93191820" }} I also tried with API version 2025-01 and get the same result. What is the reason for this?Any support on this is highly appreciated!
Hi,due to migration of my app to workflows I try to use the credential feature to initiate OAuth to a Mattermost server. Unfortunately, Mattermost only accepts a length of 1024 characters for the state field. The state that the credential feature sends is about 1152 character long and so the request is rejected. Is there a chance to set a limit of the state field in the feature?Thanks and best regards, Marcus
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.
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
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.