App

Learn how to query apps built with the monday.com apps framework

Using the apps framework, you can build apps on top of the monday.com platform. These apps extend the platform's core functionality by bridging gaps and enabling you to customize your workflows.

Apps can be shared directly with select accounts, listed in the app marketplace for all monday.com users, or kept private within the account. They are created and managed in the Developer Center.

Queries

You can use the app query to retrieve app data via the API.

  • Returns an object containing metadata about an app
  • Can be queried directly at the root or nested within a daily_analytics query
query {
  platform_api {
    daily_analytics {
      by_app {
        app {
          name
          features {
            type
            name
          }
          id
          api_app_id
          state
        }
        usage
      }
    }
  }
}
import { ApiClient } from "@mondaydotcomorg/api";
const mondayApiClient = new ApiClient({ token: myToken });

const query = `query ($appId: ID!) { app (id: $appId) { features { id type } } }`;
const variables = {
  appId: 1234567890,
};
const response = await mondayApiClient.request(query, variables);

Arguments

You can use the following argument to reduce the number of results returned in your app query.

ArgumentDescription
id ID!The app's unique identifier.

Fields

You can use the following fields to specify what information your app query will return. Some fields support their own subfields.

Field

Description

Enum Values

Supported Subfields

account_id ID

The app's account ID.

api_app_id ID

The app's unique API consumer identifier.

client_id String

The app's unique API consumer identifier.

collaborators [User!]

The app's collaborators.

created_at Date

The app's creation date.

created_by ID

The unique identifier of the user who created the app.

description String

The app's description.

features [AppFeatureType!]

The app's features.

app_id ID
created_at Date
data JSON
id ID!
name String
type String
updated_at Date

id ID!

The app's unique identifier.

kind String

The app's kind.

name String

The app's name.

permissions [String!]

The app's permissions.

photo_url String

The URL of the app's photo.

photo_url_small String

The URL of the app's photo in a small size.

slug String

The app's slug.

state String

The app's state (active/inactive).

status AppStatus

The app's status.

DRAFT
LIVE

updated_at Date

The date the app was last updated.

user_id ID

The unique identifier of the user who created the app.

version_type String

The app's latest version type.

webhook_url String

The app's webhook endpoint URL.

Mutations

The API allows you to create and update apps using the following mutations.

Create app

The create_app mutation creates a new app via the API. You can specify which fields to return in the mutation response.

mutation {
  create_app(
    input: {
      collaborators: [54321, 12345],
      description: "The updated app description.",
      name: "The updated app name.",
      kind: PUBLIC,
      permissions: ["docs:write", "me:read"]
    }
  ) {
    description
    name
    kind
    permissions
    collaborators {
      id
    }
  }
}

Arguments

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

Argument

Description

Supported Fields

input CreateAppInput!

An object containing the new app's configuration data.

collaborators [ID!]
description String
kind AppKind
name String!
permissions [String!]
slug String
webhook_url String

Update app

The update_app mutation allows an app collaborator to update an app via the API. You can specify which fields to return in the mutation response.

mutation {
  update_app(
    id: 123456,
    input: {
      collaborators: [54321, 12345],
      description: "The updated app description.",
      name: "The updated app name."
    }
  ) {
    description
    name
    collaborators {
      id
    }
  }
}	

Arguments

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

Argument

Description

Supported Fields

id ID!

The unique identifier of the app to update.

input UpdateAppInput!

An object containing the updated app's configuration data.

collaborators [ID!]
description String
kind AppKind
name String!
permissions [String!]
slug String
webhook_url String