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 level 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.
Argument | Description |
---|---|
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. Only available in API versions 2025-10 and later. | ||
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. Only available in API versions 2025-10 and later. | ||
created_at Date | The app's creation date. | ||
created_by ID | The unique identifier of the user who created the app. Only available in API versions 2025-10 and later. | ||
description String | The app's description. Only available in API versions 2025-10 and later. | ||
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. Only available in API versions 2025-10 and later. | ||
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. Only available in API versions 2025-10 and later. | ||
state String | The app's state (active/inactive). | ||
status AppStatus | The app's status. Only available in API versions 2025-10 and later. | 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. Only available in API versions 2025-10 and later. |
Mutations
You can create and update apps via the API using the following mutations.
Create app
The create_app
mutation creates a new app via the API. You can specify which fields to return from the new app 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 from the updated app 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 |