We recently added the selectedPlanId parameter to the openPlanSelection to specify which plan to open the page on. To use this parameter successfully, the isInPlanSelection parameter must also be true. You can read more about this SDK method here.

monday.execute('openPlanSelection', {isInPlanSelection: true, selectedPlanId: "123456"});

In the next few weeks, we will stop supporting major and minor app versioning and only offer one app version.

This new version functions like a minor version and will automatically be pushed to users, but it allows you to do everything you previously could in major versions (e.g., changing scopes, deleting features, etc.).

The main changes include:

  • App feature deprecation and un-deprecation
  • User approval for updated permissions
  • App view banners to communicate with users

This new versioning mechanism will be available for new apps starting January 31st, 2024. Existing apps will continue versioning with major and minor versions until February 11th, 2024, and at that point, they will be automatically migrated to the new versioning mechanism.

Existing app developers are not required to create a new version as part of this migration. All previous app version numbering will remain the same, but the next version you create will utilize sequential numbering.

You can read more about versioning here.

Starting today, we have a new support form to open a technical ticket with our team! This new form helps us to route your requests and gather useful information about the issues you are experiencing. This will allow us to address your concerns more effectively and provide you with a faster resolution.

The [email protected] email address will no longer be valid. It is set to auto-close and will become a no-reply email address. Moving forward, we encourage all developers to utilize our new support form. App users should reach out via the monday.com support center as usual.

This transition is aimed at improving the support process and enhancing your overall developer experience with our API and app marketplace!

We're excited to introduce workspace app features!

These new app features enable developers to build apps that work on a workspace level to compile the workspace's data in one place! We currently support one workspace app feature called a workspace view.

These apps will live in the left-side menu under the Workspace apps dropdown. If the user doesn't have any workspace apps installed, the dropdown will not appear. When a user opens the app, it will open a separate view in the main window.

You can read more about the feature in our documentation!

2024 is just around the corner, and we have some very exciting changes planned for the year...

As part of those updates, the Workflow app feature will be renamed to Integration templates, and it will now fall under the Automation Builder label instead of Integration :boom:

These changes are effective immediately and apply to both new and existing app features, but don't worry - this update requires no action from you.

Happy new year! :confetti-ball:

We've recently added seven new commands to make your monday.com app development experience easier:

  • mapps tunnel:create to create a networking tunnel to publicly expose code running on the local machine
  • mapps app-features:build to create a new app feature build
  • mapps app-features:list to list all features for a specific app version
  • mapps app-version:builds to list all builds for a specific app version
  • mapps app:list to list all apps for a specific user
  • mapps storage:search to search keys and values stored on monday for a specific customer account
  • mapps storage: export to export all keys and values stored on monday for a specific customer account

You can read more about each command and see examples in our documentation!

We're back with more exciting news... :rocket:

We just released sales analytics for apps that are monetized through monday! Here, you will find useful information about your app's ARR, MRR, and subscriptions to provide more data to help make informed decisions.

You can find this data in the Sales tab on the left-side menu of the Developer Center, and you can also read more about it here!

You may have noticed something new in the context of all view-based app features (or you can check it out here)...

We recently added the themeConfig property to provide insight into the current custom theme applied within the monday.com platform. This information enables you to align your app's color scheme with that of the platform's custom theme.

Using the ThemeProvider in our Vibe design system, you can maintain visual coherence with the platform and provide an overall better user experience!

{
  "themeConfig": { // defines the color scheme and styling configuration for the app, may be "undefined" if the default theme is used
    "name": "crm-product-theme", 
    "colors": {
      "light": {
        "primary-color": "#007f9b",
        "primary-hover-color": "#006278",
        "primary-selected-color": "#bee3e8",
        "primary-selected-hover-color": "#d4ebef",
        "brand-colors": {
          "brand-color": "#007f9b",
          "brand-hover-color": "#006278",
          "text-color-on-brand": "#ffffff"
        }
      },
      "dark": {
        "primary-color": "#007f9b",
        "primary-hover-color": "#006278",
        "primary-selected-color": "#004858",
        "primary-selected-hover-color": "#003844",
        "brand-colors": {
          "brand-color": "#007f9b",
          "brand-hover-color": "#006278",
          "text-color-on-brand": "#ffffff"
        }
      },
      "black": {
        "primary-color": "#007f9b",
        "primary-hover-color": "#006278",
        "primary-selected-color": "#004858",
        "primary-selected-hover-color": "#003844",
        "brand-colors": {
          "brand-color": "#007f9b",
          "brand-hover-color": "#006278",
          "text-color-on-brand": "#ffffff"
        }
      }
    }
  },
  "boardId": 4213911112, // unique board ID 
  "boardIds": [4213911112], // list of connected boards
  "boardViewId": 122234064, // unique board view ID
  "viewMode": "fullScreen", // or "split" or "widget"
  "instanceId": 122234064, // unique instance ID for the feature on the board
  "instanceType": "board_view", // app feature type
  "workspaceId": 2581779,
  "theme": "light", // or "dark" or "black"
  "account": { "id": "1233" },
  "user": {
    "id": "28659824",
    "isAdmin": false, // or true
    "isGuest": false, // or true
    "isViewOnly": false, // or true
    "countryCode": "IL",
    "currentLanguage": "en",
    "timeFormat": "12H", // or "24H" 
    "timeZoneOffset": 2 // timezone offset based on GMT
  },
  "region": "use1", // availability zone ID
  "app": { "id": 10089476, "clientId": "78643ruyagduyg743tyr812uygd74" },
  "appVersion": {
    "id": 10124592,
    "name": "context printer",
    "status": "draft",
    "type": "major",
    "versionData": { "major": 1, "minor": 0, "patch": 0, "type": "major" }
  },
  "appFeature": {
    "type": "AppFeatureBoardView",
    "name": "context printer - v1.0.0"
  }
}

Webhooks will now return the current pricing version ID in the pricing_version field for free plans. Previously, the field would return null.

Check out the sample payload below, and you also can read more about webhooks in our documentation!

  type: "install",
  data: {
    app_id: 1000000000,
    user_id: 2,
    user_email: "[email protected]",
    user_name: "User 1",
    user_cluster: "other",
    account_tier: "free",
    account_max_users: 10000,
    account_id: 777777,
    account_name: "Demo Account",
    account_slug: "test",
    version_data: { major: 4, minor: 5, patch: 0, type: "minor" },
    timestamp: "2023-06-26T00:00:00.000+00:00",
    subscription: {
      plan_id: "5",
      renewal_date: "2023-07-10T00:00:00+00:00",
      is_trial: false,
      billing_period: "monthly",
      days_left: 14,
      pricing_version: 5
    },
    user_country: "IL"
  }