Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to Monday.com

Scalekit connector
Open markdown

The Monday.com connector lets your AI agent act in each user's Monday.com account. Each user signs in to Monday.com once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 73 tools.

Tools
73
What they doRead · write · destructive
14 · 49 · 1014 read49 write10 destructive
Users sign in with
OAuth app
Your own Monday.com app

What you can do

  • Manage boards: create, update, archive, duplicate, and delete boards across workspaces
  • Manage items: create, update, move, duplicate, archive, and delete items (rows) on any board
  • Update column values: set single or multiple column values including status, date, people, and custom types
  • Manage groups: create, rename, reorder, duplicate, archive, and delete groups within a board
  • Post updates: add, edit, and delete comments and activity updates on items
  • Manage structure: create and delete columns, manage subitems, webhooks, workspaces, teams, and tags

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Monday.com connection

    In AgentKit > Connections, create a Monday.com connection and copy its redirect URI. The name you give it is the connection_name your code passes. See Configure connections.

  4. Register an OAuth app

    Monday.com connections use your own OAuth app. Register one with Monday.com and add the redirect URI you copied.

    Then enter the app's Client ID and Client Secret on the Monday.com connection.

    Console steps with screenshots

    Register your Scalekit environment with the Monday.com connector so Scalekit handles the authentication flow and token lifecycle for you. The connection name you create will be used to identify and invoke the connection programmatically. You’ll need your app credentials from the Monday.com Developer Center.

    1. Set up auth redirects

      • In Scalekit dashboard, go to AgentKit > Connections > Create Connection.

      • Find Monday.com from the list of providers and click Create. Copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

        Copy redirect URI from Scalekit dashboard

      • In the Monday.com Developer Center, open your app and go to the OAuth tab.

      • Add the copied URI under Redirect URLs and save.

        Add redirect URL in Monday.com Developer Center

    2. Get client credentials

      • In the Monday.com Developer Center, open your app and go to the Basic Information tab:
        • Client ID — listed under Client ID
        • Client Secret — listed under Client Secret
    3. Add credentials in Scalekit

      • In Scalekit dashboard, go to AgentKit > Connections and open the connection you created.

      • Enter your credentials:

        • Client ID (from your Monday.com app)
        • Client Secret (from your Monday.com app)
        • Permissions — select the scopes your app needs (see Monday.com OAuth scopes)

        Add credentials in Scalekit dashboard

      • Click Save.

  5. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'monday'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Monday:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first API call through the proxy
    const result = await actions.request({
    connectionName: connector,
    identifier,
    path: '/v2',
    method: 'POST',
    body: JSON.stringify({ query: '{ boards (limit: 5) { id name } }' }),
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Most Monday.com tools require one or more resource IDs. Run list/read tools first to discover real IDs — never guess them.

ResourceTool to get IDField in response
Board IDmonday_boards_listdata.boards[].id
Item IDmonday_items_list (requires board_id)data.boards[].items_page.items[].id
Group IDmonday_items_listdata.boards[].items_page.items[].group.id
Column IDmonday_items_listdata.boards[].items_page.items[].column_values[].id
User IDmonday_users_list or monday_me_getdata.users[].id / data.me.id
Workspace IDmonday_workspaces_listdata.workspaces[].id
Update IDmonday_updates_listdata.updates[].id
Tag IDmonday_tags_listdata.tags[].id
Team IDmonday_teams_listdata.teams[].id
Webhook IDmonday_webhooks_list (requires board_id)data.webhooks[].id
Doc IDmonday_docs_listdata.docs[].id
Subitem IDmonday_subitem_create responsedata.create_subitem.id

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • monday_board_activity_logs_listQuery a board's activity log: who changed what column, item, or group and when.Read-only

    List Board Activity Logs

    Query a board's activity log: who changed what column, item, or group and when. Filterable by user, item, column, group, and time range. Maximum 10,000 records; narrow with filters or a date range for large boards.

    Inputs

    board_idstringrequired
    ID of the board to fetch activity logs for
    column_idsarray
    Filter to activity on these column IDs
    fromstring
    Only return activity at or after this ISO 8601 timestamp
    group_idsarray
    Filter to activity on these group IDs
    item_idsarray
    Filter to activity on these item IDs
    limitinteger
    Maximum number of activity log entries to return (default 25)
    pageinteger
    Page number for pagination
    tostring
    Only return activity at or before this ISO 8601 timestamp
    user_idsarray
    Filter to activity performed by these user IDs
  • monday_boards_listRetrieve a list of boards from your Monday.com account with optional filtering.Read-only

    List Boards

    Retrieve a list of boards from your Monday.com account with optional filtering.

    Inputs

    board_kindstring
    Filter by kind: public, private, share
    limitinteger
    Number of boards to return (default 10)
    order_bystring
    Sort order: created_at or used_at
    pageinteger
    Page number for pagination
    statestring
    Filter by state: active, archived, deleted, all
    workspace_idsarray
    Filter by workspace IDs
  • monday_docs_listList documents (monday Docs) in your account.Read-only

    List Docs

    List documents (monday Docs) in your account.

    Inputs

    idsarray
    Filter by specific doc IDs
    limitinteger
    Number of docs to return
    pageinteger
    Page number for pagination
    workspace_idsarray
    Filter by workspace IDs
  • monday_items_getFetch one or more items directly by ID, without going through their board.Read-only

    Get Items By ID

    Fetch one or more items directly by ID, without going through their board. Returns item metadata and column values.

    Inputs

    idsarrayrequired
    IDs of the items to fetch
    exclude_nonactiveboolean
    Exclude archived/deleted items
    limitinteger
    Maximum number of items to return (default 25)
    newest_firstboolean
    Return newest items first
    pageinteger
    Page number to fetch (1-indexed)
  • monday_items_listRetrieve items from a Monday.com board.Read-only

    List Items

    Retrieve items from a Monday.com board. Returns items with their column values, group, and creator details.

    Inputs

    board_idstringrequired
    ID of the board to list items from
    cursorstring
    Pagination cursor from a previous response
    group_idstring
    Filter by group ID
    limitinteger
    Number of items to return per page (max 500)
  • monday_me_getRetrieve the profile of the currently authenticated Monday.com user.Read-only

    Get Current User

    Retrieve the profile of the currently authenticated Monday.com user.

    Inputs

    This tool takes no inputs.

Workflows

Proxy API call
const result = await actions.request({
connectionName: 'monday',
identifier: 'user_123',
path: '/v2',
method: 'POST',
body: JSON.stringify({ query: '{ boards (limit: 5) { id name } }' }),
});
console.log(result);
Execute a tool
const result = await actions.executeTool({
connector: 'monday',
identifier: 'user_123',
toolName: 'monday_boards_list',
toolInput: {},
});
console.log(result);