Features

Learn how to read, create, update, and delete app features using the platform API

All apps built on the monday.com apps framework are comprised of features. These features determine where the app appears in the UI, the methods required to build it, and its functionality. They are created and managed through the Developer Center, but you can also retrieve certain data by querying the features object.

Queries

To retrieve app data, you can query the features endpoint as follows:

  • Must be nested within an app query
  • Returns an object containing metadata about an app's features
query {
  app (id:123456) {
    features (limit: 2) {
     created_at
      data
      id
      name
    }
  }
}

Arguments

You can use the following argument(s) to reduce the number of results returned in your features query.

ArgumentDescription
limit IntThe number of features to return. The default is 25.
page IntThe page number to return. Starts at 1.

Fields

You can use the following field(s) to specify what information your features query will return.

FieldDescription
app_id IDThe unique identifier of the app the feature belongs to.
created_at DateThe app feature's creation date.
data JSONThe app feature's data.
id ID!The app feature's unique identifier.
name StringThe app's feature's name.
type StringThe app feature's type.
updated_at DateThe app feature's last updated date.

Mutations

The API allows you to create, update, and delete app features using the following mutations.

🚧 The following mutations are only available in API versions 2025-10 and later

Create app feature

The create_app_feature mutation creates an app feature via the API. You can specify which fields to return from the new app feature in the mutation response.

mutation {
  create_app_feature(
    slug: "test-item-view", 
    app_id: 9876543210, 
    type: ITEM_VIEW
  ) {
    id
    name
  }
}

Arguments

You can use the following arguments to define the new app feature's characteristics.

ArgumentDescriptionSupported Fields
app_id ID!The unique identifier of the app to create the new feature for.
app_version_id IDThe unique identifier of the app version to create the new feature for.
data JSONThe app feature's data.
deployment AppFeatureReleaseInputThe new app feature's deployment data.data AppFeatureReleaseDataInput
kind AppFeatureReleaseKind
name StringThe new app feature's name.
slug String!The new app feature's unique slug.
type AppFeatureTypeE!The new app feature's type.

Update app feature

The update_app_feature mutation updates an app feature via the API. You can specify which fields to return from the updated app feature in the mutation response.

mutation {
  update_app_feature(
    id: 12345,
    input: {
       data: {
          name: "Updated App Feature",
          description: "This is an updated app feature description."
        }
      deployment: {
        kind: CLIENT_SIDE_CODE,
        data: {
          url: "/sub-route"
        }
      }
    }
  ) {
    id
    name
    data
  }
}

Arguments

You can use the following arguments to define the updated app feature's characteristics.

ArgumentDescriptionSupported Fields
id ID!The app feature's unique identifier.
input UpdateAppFeatureInput!The input for the updated app feature.data JSON
deployment AppFeatureReleaseInput