Skip to main content

Quick Start

Install the plugin:
pnpm install @corsair-dev/monday
Add the Monday.com plugin to your Corsair instance:
corsair.ts
import { createCorsair } from "corsair";
import { monday } from "@corsair-dev/monday";

export const corsair = createCorsair({
    plugins: [monday()],
    database: db,
    kek: process.env.CORSAIR_KEK!,
});

Authentication

Supported Auth Types

  • api_key (default) - Personal API token

API Key Setup

Store credentials with the CLI:
pnpm corsair setup --monday api_key=your-api-token
Verify it was saved:
pnpm corsair auth --plugin=monday --credentials
See Get Credentials for step-by-step instructions.

Webhook Secret

pnpm corsair setup --monday webhook_signature=your-webhook-secret

Options

OptionTypeDescription
authType'api_key'Authentication method (defaults to 'api_key')
keystringAPI token (optional, uses database if not provided)
webhookSecretstringWebhook signing secret (optional)
hooksobjectEndpoint hooks for custom logic
webhookHooksobjectWebhook hooks for event handling
errorHandlersobjectCustom error handlers

Usage

// List boards
const boards = await corsair.monday.api.boards.list({});

// Get board items
const items = await corsair.monday.api.items.list({
    boardId: "board-id",
});

// Create an item
await corsair.monday.api.items.create({
    boardId: "board-id",
    groupId: "group-id",
    itemName: "New Task",
});

// Add an update (comment) to an item
await corsair.monday.api.updates.create({
    itemId: "item-id",
    body: "Status updated",
});

Query cached data

const items = await corsair.monday.db.items.search({
    data: { boardId: "board-id" },
});

Multi-Tenancy

const tenant = corsair.withTenant("org-123");

const boards = await tenant.monday.api.boards.list({});