Skip to main content
monday icon

Monday Connector

SourceAPI DocsAPI ChangelogConnector Changelog

Description

Monday is a cloud-based platform that allows companies to create their own applications and work management software. The Monday component allows managing boards and items within a Monday account.

API Documentation

This component was built using the Monday GraphQL API, currently utilizing version 2026-01.

Monday offers a GraphQL-based API and was built using the Monday API Reference Version 2026-01. This provides flexibility and control over what data is sent to Monday, and what data is requested back.

While this component offers some actions that wrap common GraphQL queries and mutations, there are many more queries and mutations for which there aren't dedicated actions. To run a query or mutation that is not represented by an action, use the Generic GraphQL Request action.

Connections

API Key

key: apiKey

For testing purposes, an API Key connection can be used to authenticate requests to the Monday GraphQL API.

Prerequisites

  • A Monday account with access to personal API token settings
  • For production integrations, OAuth 2.0 is recommended over API key authentication

Setup Steps

  1. Log in to Monday and navigate to the user profile menu in the top-right corner
  2. Select Administration or open the user profile and go to Developers > My Access Tokens
  3. Copy the personal API token displayed on the page
  4. For more information, refer to the Monday authentication documentation

Configure the Connection

Create a connection of type API Key and enter:

  • API Key: The personal API token copied from the Monday account settings
InputNotesExample
API Key

The Monday.com API key used for authentication. Generate one from the Monday.com account settings.

OAuth 2.0

key: oauth

To use OAuth 2.0 authentication with Monday, register a Monday app in the Monday developer portal.

Prerequisites

Setup Steps

  1. Navigate to the Monday Developer Center and create a new app
  2. In the app settings, select OAuth and configure the OAuth settings:
    • Add https://oauth2.prismatic.io/callback as the Redirect URL in the app's OAuth configuration
  3. Under Permissions, select the required OAuth scopes for the integration
  4. Copy the Client ID and Client Secret from the app's OAuth section
  5. For scope reference, see Monday's OAuth 2.0 documentation

Configure the Connection

Create a connection of type OAuth 2.0 and enter:

  • Client ID: The Client ID from the Monday app
  • Client Secret: The Client Secret from the Monday app
  • Scopes: The OAuth permission scopes required for the integration (space-separated). Refer to Monday's OAuth 2.0 documentation for available scopes
InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for Monday.

https://auth.monday.com/oauth2/authorize
Client ID

The Client ID from the Monday.com OAuth application credentials.

Client Secret

The Client Secret from the Monday.com OAuth application credentials.

Scopes

Space-separated list of OAuth 2.0 permission scopes for Monday. See Monday.com OAuth scopes.

me:read boards:read
Token URL

The OAuth 2.0 Token URL for Monday.

https://auth.monday.com/oauth2/token

Triggers

New and Updated Items

Polls a Monday.com board for items created or updated since the last execution, separated into new and updated buckets. | key: pollChangesTrigger

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Show New Records

When true, newly created items are included in the trigger output.

true
Show Updated Records

When true, items updated since the last poll are included in the trigger output.

true

This trigger polls a Monday.com board on a configurable schedule and surfaces items created or updated since the last execution. Each run compares item timestamps against the timestamp persisted from the previous poll and emits two separate buckets — new items and updated items — so downstream steps can react to each change type independently.

How It Works

On each scheduled execution:

  • The trigger reads the lastPolledAt timestamp persisted by the previous run. On the very first execution, this timestamp defaults to the current time, so the initial poll establishes a baseline and emits no results.
  • Items on the configured board with updated_at greater than lastPolledAt are fetched (paginated automatically) from the Monday GraphQL API.
  • Returned items are partitioned by comparing created_at against lastPolledAt: items whose created_at falls within the polling window are classified as new, while items whose created_at precedes the window but whose updated_at falls within it are classified as updated.
  • The current execution time is persisted as the new lastPolledAt, becoming the lower bound for the next poll.
  • When both buckets are empty, the trigger short-circuits with polledNoChanges: true so the flow does not execute.

Returned Data

Example Payload
{
"data": {
"created": [
{
"id": "4277581982",
"name": "Task 5",
"created_at": "2026-01-27T11:55:00Z",
"updated_at": "2026-01-27T11:55:00Z",
"state": "active"
}
],
"updated": [
{
"id": "4277581981",
"name": "Task 1",
"created_at": "2026-01-20T09:12:33Z",
"updated_at": "2026-01-27T11:58:42Z",
"state": "active"
}
]
}
}

Fields shown are representative. The full response object includes additional properties.

Notes

  • The polling interval is controlled by the schedule configured on the flow, not by the trigger itself.
  • Item ordering within each bucket follows the order returned by the Monday GraphQL API and is not guaranteed to be chronological.
  • Both created and updated buckets are always present in the payload. When Show New Records or Show Updated Records is disabled, the corresponding bucket is returned as an empty array.
  • Refer to the Monday items API documentation for the complete item field reference.
Example Payload for New and Updated Items
Loading…

Webhook

Receive webhook events from Monday. Automatically creates and manages webhook subscriptions on instance deploy and removes them on instance delete. | key: webhook

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Signing Secret

The Signing Secret from the Monday.com app. When provided, webhook payloads are verified against this secret. See Monday.com Authorization docs for details.

Config

Optional event-specific configuration as a JSON object. For example, {"columnId": "status"} for change_specific_column_value events.

{
  "columnId": "status"
}
Event

The type of board event to subscribe to.

Monday.com webhooks deliver real-time notifications when board events occur. This trigger automatically manages the webhook subscription lifecycle — creating a webhook endpoint in Monday.com when the instance is deployed and removing it when the instance is deleted.

How It Works

When this trigger is used in a flow:

  • On Instance Deploy: The trigger automatically creates a webhook subscription in Monday.com pointing to the instance's unique webhook URL, subscribed to the configured board event. If a webhook for this instance already exists from a previous deploy, it is replaced with a fresh one.
  • On Instance Deletion: The trigger automatically removes the webhook subscription from Monday.com.

Each incoming request is routed to one of two branches:

  • Challenge Verification branch: Handles the initial URL verification challenge that Monday.com sends when a webhook subscription is first registered. The trigger automatically responds with the required challenge token.
  • Notification branch: Handles all subsequent event notifications from Monday.com after verification is complete.

Configuration

Configure the following inputs:

  • Connection: The Monday.com connection (API Key or OAuth 2.0) to use for managing the webhook subscription.
  • Board ID: The ID of the Monday.com board to monitor for events. Use the Select Board data source to choose from available boards.
  • Event: The type of board event to subscribe to. Select from the available event types listed below.
  • Config: An optional JSON object for event-specific configuration (e.g., {"columnId": "status"} for change_specific_column_value events).

Event Types

Available Events (21)
EventDescription
change_column_valueFires when any column value is changed on an item
change_status_column_valueFires when a status column value is changed
change_subitem_column_valueFires when a column value is changed on a subitem
change_specific_column_valueFires when a specific column value is changed (requires columnId in Config)
change_nameFires when an item's name is changed
create_itemFires when a new item is created on the board
item_archivedFires when an item is archived
item_deletedFires when an item is deleted
item_moved_to_any_groupFires when an item is moved to any group
item_moved_to_specific_groupFires when an item is moved to a specific group
item_restoredFires when an archived or deleted item is restored
create_subitemFires when a subitem is created
change_subitem_nameFires when a subitem's name is changed
move_subitemFires when a subitem is moved
subitem_archivedFires when a subitem is archived
subitem_deletedFires when a subitem is deleted
create_columnFires when a new column is created on the board
create_updateFires when an update (comment) is posted on an item
edit_updateFires when an update (comment) is edited
delete_updateFires when an update (comment) is deleted
create_subitem_updateFires when an update is posted on a subitem

Refer to Monday.com's webhook documentation for the complete and up-to-date list of supported events.

Returned Data

Example Payload
{
"event": {
"userId": 12345678,
"originalTriggerUuid": null,
"boardId": 2924980809,
"groupId": "topics",
"pulseId": 4277581981,
"pulseName": "Task 1",
"columnId": "status",
"columnType": "color",
"columnTitle": "Status",
"value": {
"label": {
"index": 1,
"text": "Done",
"style": {
"color": "#00c875",
"border": "#00b461",
"var_name": "done-green"
},
"is_done": true
}
},
"previousValue": {
"label": {
"index": 0,
"text": "Working on it",
"style": {
"color": "#fdab3d",
"border": "#e99729",
"var_name": "working-orange"
},
"is_done": false
}
},
"changedAt": 1737993600.123456,
"isTopGroup": true,
"type": "update_column_value",
"triggerTime": "2025-01-27T12:00:00.000Z",
"subscriptionId": 147295839,
"triggerUuid": "abc123def456"
}
}

Notes

  • The Challenge Verification branch fires only once per webhook registration and does not contain board event data. Route all business logic through the Notification branch.
  • The change_specific_column_value event requires a columnId value in the Config input to identify which column to monitor.
  • Monday.com webhook payloads vary in structure depending on the event type. Refer to Monday.com's webhook event payload documentation for field definitions per event type.
Example Payload for Webhook
Loading…

Data Sources

Select Board

Select a board from the list of boards. | key: selectBoard | type: picklist

InputNotesExample
Connection

The Monday.com connection to use.


Select Webhook

Select a webhook from the board's webhook subscriptions. | key: selectWebhook | type: picklist

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.


Actions

Archive Board

Archives a board by ID. | key: archiveBoard

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Example Payload for Archive Board
Loading…

Create Board

Creates a new board in Monday. | key: createBoard

InputNotesExample
Board Kind

The visibility level of the board. Public boards are visible to all team members; private boards are restricted to invited members; shareable boards can be shared with guests.

public
Board Name

The display name of the Monday.com board to create.

Project Tracker
Connection

The Monday.com connection to use.

Folder ID

The unique identifier of the folder in which the board will be created.

9876543
Template ID

The unique identifier of the Monday.com template the board is based on.

1122334
Workspace ID

The unique identifier of the workspace where the board will be created.

5566778
Example Payload for Create Board
Loading…

Create Webhook

Creates a webhook subscription for a board event. | key: createWebhook

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Config

Optional event-specific configuration as a JSON object. For example, {"columnId": "status"} for change_specific_column_value events.

{
  "columnId": "status"
}
Event

The type of board event to subscribe to.

Webhook URL

The URL to receive webhook events. Must be a publicly accessible HTTPS endpoint (255 character limit).

https://hooks.example.com/monday/events
Example Payload for Create Webhook
Loading…

Delete Webhook

Deletes an existing webhook subscription by ID. | key: deleteWebhook

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Webhook ID

The unique identifier of the Monday.com webhook.

123456789
Example Payload for Delete Webhook
Loading…

Generic GraphQL Request

Issues any GraphQL query or mutation with variables. | key: genericRequest

InputNotesExample
API Version

The Monday.com API version to use. If not provided, the default 2026-01 version will be used.

2026-01
Connection

The Monday.com connection to use.

Query or Mutation

The GraphQL query or mutation to execute against the Monday.com API.

{
me {
id
email
}
}
Variables

Key-value pairs of variables to pass to the GraphQL query or mutation. Use this for simple variable input.

Variables Object

A JSON object of variables to pass to the GraphQL query or mutation. Use this for structured variable input.

{
  "boardId": 1234567890,
  "limit": 50
}

Get Board

Gets the information and metadata of a board by ID. | key: getBoard

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Example Payload for Get Board
Loading…

Get Items By Column Value

Fetches items that have a certain column value. | key: getItemsByColumnValueNew

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Column ID

The ID of the column to filter by. For possible values see the Monday.com column types reference.

status
Column Value

The value to match against the specified column when searching for items.

Done
Connection

The Monday.com connection to use.

Get All Items

When true, automatically fetches all pages of items matching the column value. When false, a maximum of 500 items will be returned.

false
Example Payload for Get Items By Column Value
Loading…

Get Items By Column Value (Deprecated)

Fetches items that have a certain column value. This version of the action is deprecated. Please use Get Items By Column Value instead. | key: getItemsByColumnValue

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Column ID

The ID of the column to filter by. For possible values see the Monday.com column types reference.

status
Column Value

The value to match against the specified column when searching for items.

Done
Connection

The Monday.com connection to use.

Example Payload for Get Items By Column Value (Deprecated)
Loading…

List Boards

Lists all available boards in the Monday account. | key: listBoards

InputNotesExample
Connection

The Monday.com connection to use.

Fetch All

When true, automatically fetches all pages of results using pagination. Ignores the Result Limit and Page Offset inputs.

false
Result Limit

The maximum number of results to return. Accepts a value from 1 to 500.

20
Page Offset

The page number to retrieve from paginated results. Uses 1-based indexing.

3
Example Payload for List Boards
Loading…

List Webhooks

Lists all webhook subscriptions for a board. | key: listWebhooks

InputNotesExample
Board ID

The unique identifier for the Monday.com board that the action targets.

1234567890
Connection

The Monday.com connection to use.

Example Payload for List Webhooks
Loading…

Changelog

2026-05-26

Added the New and Updated Items polling trigger for Monday.com boards. The trigger filters items via the __last_updated__ column using GraphQL items_page (cursor pagination) and partitions records into created and updated buckets based on each item's created_at and updated_at timestamps

2026-04-30

Various modernizations and documentation updates

2026-03-19

Added webhook support and quality of life updates:

  • Updated to Monday API version 2026-01
  • Improved input field documentation with formatted URL links for better readability
  • Webhook trigger that automatically manages webhook subscriptions on instance deploy and removal
  • Create Webhook action to create a webhook subscription for a specified board
  • Delete Webhook action to delete an existing webhook subscription by ID
  • List Webhooks action to list all webhook subscriptions for a board
  • Select Webhook data source for selecting a webhook in configuration
  • Updated OAuth 2.0 connection to support webhook permissions

2025-08-19

Updated API version configuration across all Monday actions to use version 2025-07

2025-07-22

Updated to Monday API version 2025-07

2025-07-11

Added inline data source for board selection and GraphQL fragment support for advanced queries

2025-04-01

Updated to Monday API version 2025-04 with enhanced board and item management capabilities