Get started
Learn how to enable monday code on your account, deploy your first app, and manage your app deployments
If you're ready to get started with monday code, this guide will help you set up and deploy your app, manage it after deployment, and optimize your usage. It also covers key features to enhance your monday code usage.
Set up and deploy
Enable the feature
To begin, you must enable monday code on your account. Only admins can do this:
- Create a new app or open an existing one.
- Navigate to
- the Hosting page.
- Click Connect monday code and accept the terms & conditions.
Install the CLI and SDK
To use monday code, you'll need to install the monday apps CLI (command line interface) and either the JavaScript or Python SDK.
Command line interface
- You can install the CLI globally through npm by running
npm install -g @mondaycom/apps-cli
. - Run
mapps help
to test that it worked. You should receive a list of supported commands. - Once installed, run
mapps init
and add your API token once prompted. Follow these steps if you don't know how to get your API token.
Software development kit
To add monday code to an existing app, navigate to your app's directory and run the following command to add the JavaScript SDK:
npm i @mondaycom/apps-sdk
Deploy your app for the first time
Once you're ready to deploy your app:
- Use the
mapps code:push
command to deploy it to monday's infrastructure. - If you haven't built an app but want to test the deployment process, use our Github Integration built for monday code to test it.
After deployment
Connect your features from the hosting page
The hosting page gives you quick access to connect your features to monday code. There, you'll see all your app features. When you click New Build, you can select an endpoint to connect the feature to:

Get your deployment URL
Once you deploy your app, you'll see the deployment URL on the hosting page. You can use this URL to point to any external services that need to connect to your app:

Check your deployment's status
Check the status of your app's deployments with the following command:
$ mapps code:status -i <APP_VERSION_ID>
Check logs
All logs using the CLI mapps code:logs
command can be found using:
$ mapps code:logs -i <APP_VERSION_ID>
Use monday code's features
monday code offers several features that simplify your development process, with built-in security being one of its key benefits. To ensure your app meets our security standards, it's important to use the storage, logging, and environment management tools provided within the SDK.
For example, integrating with an external database for customer data storage will not provide the same level of security as using monday code's secure, bundled storage solutions.
Store data
We provide two key-value storage APIs for your app to persist data on behalf of a customer. To use these APIs, you need an access token for a given user (either an OAuth token or an integration shortLivedToken).
Storage API
Here's an example of how to use the storage API in your app:
import { Storage } from '@mondaycom/apps-sdk';
const storage = new Storage('<ACCESS_TOKEN>');
// set value
const { version } = await storage.set(key, value, { previousVersion, shared });
// retrieve value
const storedValue = await storage.get(key, { shared });
// delete value
await storage.delete(key, { shared });
Secure storage API
The secure storage API is similar to the regular storage API, but it provides encryption for sensitive information such as API keys or PII. Here's an example:
import { SecureStorage } from '@mondaycom/apps-sdk';
const secureStorage = new SecureStorage();
// set value
await secureStorage.set(key, value);
// retrieve value
const storedValue = await secureStorage.get(key);
// delete value
await secureStorage.delete(key);
Declare environment variables
You can also declare environment variables in the CLI and then use them in your app. Here's an example:
- Using the CLI, run the command
mapps code:env
. - Follow the steps to add a new environment variable. You will need to provide your app's version ID, the variable's key (eg
SIGNING_SECRET
) and the value (eg12345abcd
). - Once you've added a variable, your app can access it with the following code:
import { EnvironmentVariablesManager } from '@mondaycom/apps-sdk';
// Initialize the environment variables manager without injecting env into `process.env`
let envManager = new EnvironmentVariablesManager();
// Initialize the environment variables manager and inject env into `process.env`
envManager = new EnvironmentVariablesManager({ updateProcessEnv: true });
// Get cached environment variable
const cachedValue = envManager.get(key, { invalidate: false });
// Get the latest version of environment variable
const latestValue = envManager.get(key);
Use the logger
monday code ships with a logger to store application logs. You can view these logs from the CLI and use them to troubleshoot with customers.
Send logs from your app
You can start logging in your app using these methods:
import { Logger } from '@mondaycom/apps-sdk';
const tag = 'app-2322-user-12344';
// tag will be added to every logged message
const logger = new Logger(tag);
logger.info('POST request at /routes/run');
logger.warn('Complexity limit reached. Retrying...');
logger.debug(`account_info: ${JSON.stringify(account_data)}`);
logger.error('Something went wrong', { error: new Error('error') }); // will include stack trace
Access logs through the CLI
You can access logs through the CLI in several ways. For example, you can filter for a specific date range, search term, or logs of a certain type (e.g., info, debug, error).
mapps code:logs [--verbose] [--print-command] [-i <value>] [-t <value>] [-s <value>] [-f <value>] [-e <value>] [-r <value>]
Updated 19 days ago
Done? Check out how to get ready for listing in the app marketplace.