The SDK provides a toolset for application developers to build features and solutions on top of the Work OS platform. You'll find this SDK useful if you want to:

  • Access account data from your application by utilizing the GraphQL client

  • Build board views and dashboard widgets that extend the UI

  • Build integrations and automations using your own external services and business logic

The SDK contains methods for server-side and client-side application development. Client-side capabilities assume a valid user session is present and can seamlessly act on behalf of that user. At the same time, you can use server-side methods to access features using explicit credentials without any client-side code.

# Usage

## Using as an `npm` module

Install the SDK as a module:

`npm install monday-sdk-js --save`

Then import into your project:

## As a `<script>` tag directly in your HTML code

Load the SDK directly into your HTML code by adding the following:

Then, initialize the SDK anywhere on the page by declaring:

`const monday = window.mondaySdk()`

# Seamless authentication

When used for client-side development, SDK methods that require acting on behalf of the connected user will work out-of-the-box by communicating with the parent running application. You're not required to initialize the SDK client with any explicit credentials.

Methods that use seamless authentication (including `monday.api` and ``) offer capabilities that are scoped based on the permissions of the logged-in user and the scopes you have configured in your app.

# SDK capabilities

The SDK exposes the following capabilities:

SDK ObjectCapability
<a href="" target="_blank">`monday.api`</a>Performing queries against the API on behalf of the connected user
<a href="" target="_blank">`monday.listen`</a>Listen to client-side events on the client running this app
<a href="" target="_blank">`monday.get`</a>Retrieve information from the client running this app
<a href="" target="_blank">`monday.execute`</a>Call an action on the client running this app
<a href="" target="_blank">``</a>Read/write to the Storage API, a key-value storage service for apps
<a href="" target="_blank">`monday.set`</a>Setup data inside an app

# Typescript support

The SDK supports TypeScript, a superset of JavaScript, to help provide an overall better developer experience. Our SDK uses type definitions to distinguish between correct and incorrect code before running it so you can identify errors in the code earlier in your development process.

You can find the type declaration for each SDK method in the `types/index.d.ts` <a href="" target="_blank" rel="_nofollow">file</a>. TypeScript support is only available in SDK versions 0.3.0 and later.

Join our developer community!

We've created a <a href="" target="_blank"> community</a> specifically for our devs where you can search through previous topics to find solutions, ask new questions, hear about new features and updates, and learn tips and tricks from other devs. Come join in on the fun! 😎