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 💥

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! 🎊

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... 🚀

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"
  }

We just added the section query parameter that enables you to create a custom URL that opens a specific section of your app listing page. Your custom URL can open directly on the Overview, Pricing, Security & Compliance, or Permissions tab.

Check out our documentation for examples!

We're excited to introduce two new app subscription webhooks:

  • The app_subscription_renewal_attempt_failure webhook will be sent to developers when a subscription renewal attempt fails. The attempt will occur once before the entire renewal operation fails and you receive the app_subscription_renewal_failure webhook.
  • The app_subscription_renewal_failure webhook will be sent to developers when a subscription renewal attempt fails. The failure occurs after one renewal attempt.

You can read more about our available webhooks here!

We're excited to announce that you can now host your applications on monday's servers using monday code!

Releasing this to beta is the first step in making the monday.com development process as easy and self-contained as possible. As an added bonus, marketplace apps hosted on monday code will also be eligible for an advanced security badge in the future.

To use this feature, you'll need to:

You can check out the full guide here!

Marketplace developers - this one is for you!

Starting tomorrow, the minimum threshold for app ratings to appear in the marketplace will increase from 3 to 5! This means that the average rating will not be visible to marketplace users for any apps with less than 5 ratings.

If your app has fewer than 5 ratings, users will still see your app card but it won't have the average score on it. If your app has more than 5 ratings, users will see a star and the average score of all ratings listed on the app card.

Check out our documentation for ways to help increase the number of ratings your app has received!