Plans and pricing

After creating your app, you must define the number of plans you want to offer, the difference between each tier, the pricing model they follow, and the price of each tier.

Check out our pricing report for a deeper look into selecting plan types, pricing your plans, selecting plan tiers, and how to measure success.

Types of plans

Your app can support different types of plans, including feature- or seat-based, trial, and free (optional) plans. One plan will be used as the recommended option.

Feature or seat-based plans

Your plans can follow two different pricing models: feature-based and seat-based. The number of supported plans varies for each.

The UI will intuitively display pricing information in different formats based on your app's pricing model.

Feature-based

Plan limit: Up to 15 plans per app

Feature-based pricing lets you define plan tiers based on feature access or usage limits. This model is ideal for apps that offer multiple features or that measure user activity and consumption.

With this model, customers can choose a plan tier that fits their needs, only paying for the functionality or usage they require. This flexibility creates opportunities for upselling as accounts grow. However, creating effective bundles can be challenging and requires thorough planning.

💡 Examples:
  • An app offers 5 features on the Basic plan, 10 on Intermediate, 15 on Advanced, and 20 on Premium.
  • An app offers up to 50 actions on Basic, 100 on Intermediate, 250 on Advanced, and unlimited on Premium.

Seat-based

Plan limit: Up to 25 plans per app

Seat-based pricing lets you organize users into pricing tiers (or "buckets") based on seat count. This model is ideal for apps that deliver one core capability rather than a set of features.

It is simple, scalable, and easy for customers to understand. However, it may deter large companies or organizations with more seats from subscribing.

❗ Seat-based apps must have a trial plan. Read more below.

How seat count works

When customers subscribe to an app, our UI intuitively recommends the best-fit pricing tier based on the number of seats in their monday.com account (across all products). This logic also applies to accounts still in their monday.com trial period when they start an app subscription.

If an account grows or shrinks, we monitor seat usage and compare it to the selected plan's limits for views, dashboard widgets, or custom objects. If the user count exceeds the plan's limit, the account maintains app access but is prompted to upgrade:

  • A notification appears on the Installed Apps page
  • A pop-up message is shown inside the app’s view
💡 Example:

A monday.com account with 200 seats purchases an app subscription for that size. If they expand to 300 seats, they will be prompted to upgrade their app accordingly in the UI.

If you're building a different type of app or prefer to manage access yourself, you can verify an account's seat count via the apps_monetization_info endpoint. This requires the account:read scope.

query {
  apps_monetization_info {
    seats_count
  }
}

Trial and free plans

Trial plan

After choosing between a feature-based or a seat-based pricing model, you can designate one tier as your trial plan.

For seat-based apps, a trial plan is required, and you must offer a plan with unlimited seats as the designated trial. This allows users to fully explore your app’s capabilities before committing to a subscription.

Trial plans enable customers to evaluate your app, understand its value, and decide if it's a good fit. This can help attract a wider audience, increase engagement, and drive more subscriptions

The default trial period is 14 days. If a customer requests more time, you can manually extend their trial. Once the trial period ends, app admins will receive a notification prompting them to upgrade their plan. They will also see prompts on the Installed Apps page.

For view apps, customer access will be blocked in the app's view, where they will also be prompted to upgrade.

Free plan

Free plans are optional but can be leveraged to attract more app users. With a free plan, users can experience parts of your app and explore its benefits without committing to a paid subscription. They are also a great way to retain trial users after their initial trial subscription ends.

Pricing

Effectively pricing your app is one key to making enough revenue to sustain development. After defining the plan tiers, you need to decide how much each plan costs (in USD). Part of this process involves defining different prices for each plan for both monthly and yearly billing periods.

All of the pricing and plan information will be submitted for approval when you implement monetization. For this, you need to generate the following information for each plan:

Attribute Description Requirements
App plan ID A string that will be sent to your backend as the plan_id
  • 1-255 characters
  • Only letters, digits, dashes, or underscores
  • First character must be a letter or digit
  • Case sensitivity must be consistent across different pricing versions
Name A plan name that users will see in the marketplace
  • 1-255 characters
Description A plan tier description
  • 1-255 characters
Plan features Bullet points that list each plan's features
  • 1-5 bullet points per feature
  • 1-255 characters per bullet point
Monthly price The monthly price
  • In USD
  • Must be a non-negative integer
Yearly price The yearly price divided by 12
  • In USD
  • Must be a non-negative integer
👍 Yearly pricing

Users will see both monthly and yearly pricing options in the marketplace. The yearly plan is shown as a monthly equivalent by dividing the total annual price by 12, making it easier to compare value at a glance.

Example:
If your app costs $10/month or $72/year, the pricing will display as:
  • Monthly: $10/month
  • Yearly: $6/month (billed annually at $72)

Update your pricing

If you need to change your app's pricing, check out this guide!