Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
bf3e531
Refactor Monday column value handling and add List Columns action
Priyadharshan-Pdm Aug 24, 2026
2e9055d
Merge branch 'master' of https://github.com/PipedreamHQ/pipedream int…
Priyadharshan-Pdm Aug 25, 2026
68531ed
version bump
Priyadharshan-Pdm Aug 25, 2026
8c2cabc
chore: update @pipedream/monday dependency to version 0.12.1
Priyadharshan-Pdm Aug 25, 2026
38b325d
chore: bump version for multiple Monday actions and sources
Priyadharshan-Pdm Aug 25, 2026
2c5c09b
Move monday_oauth changes to ref/issue-21740-monday-oauth
Priyadharshan-Pdm Aug 25, 2026
f242ac0
feat: add Claude PR review workflow for automated pull request reviews
Priyadharshan-Pdm Aug 27, 2026
06d5410
fix: enhance Claude PR review workflow for better security and clarity
Priyadharshan-Pdm Aug 27, 2026
c608977
fix: add id-token permission for Claude workflow to ensure token minting
Priyadharshan-Pdm Aug 27, 2026
e4fb8e2
fix: remove obsolete Claude PR review workflow file
Priyadharshan-Pdm Aug 27, 2026
870c996
fix: update getItemsByColumnValue query structure and enhance item co…
Priyadharshan-Pdm Aug 27, 2026
6a450fd
fix: update destructiveHint to false and enhance listItems query for …
Priyadharshan-Pdm Aug 27, 2026
1e5c4bb
fix: refactor column type checks to use constants for improved mainta…
Priyadharshan-Pdm Aug 27, 2026
50638c5
fix: refactor GraphQL request handling and remove unused dependencies…
Priyadharshan-Pdm Aug 28, 2026
289c46e
Merge branch 'master' of https://github.com/PipedreamHQ/pipedream int…
Priyadharshan-Pdm Aug 28, 2026
6b47711
lock file changes
Priyadharshan-Pdm Aug 28, 2026
ecfa822
fix: update Monday API integration to use the latest version and refa…
Priyadharshan-Pdm Aug 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 6 additions & 58 deletions components/monday/actions/common/common-create-item.mjs
Original file line number Diff line number Diff line change
@@ -1,59 +1,16 @@
import {
capitalizeWord, getColumnOptions,
} from "../../common/utils.mjs";
import { parseColumnValues } from "../../common/utils.mjs";
import monday from "../../monday.app.mjs";

export default {
props: {
columns: {
columnValues: {
propDefinition: [
monday,
"column",
(c) => ({
boardId: c.boardId,
}),
"columnValues",
],
label: "Columns",
type: "string[]",
description: "Which item columns to set values for (array or comma-separated string)",
reloadProps: true,
},
},
async additionalProps() {
const props = {};
if (!this.columns) {
return props;
}
const columns = Array.isArray(this.columns)
? this.columns
: this.columns.split(",").map((c) => c.trim())
.filter(Boolean);
const columnData = await this.monday.listColumns({
boardId: +this.boardId,
});
for (const column of columns) {
let description, options;
options = getColumnOptions(columnData, column);
if (column === "person") {
description = "The ID of a person/user";
} else if (column === "date4") {
description = "A date string in `YYYY-MM-DD` format, e.g. `2022-09-02`";
} else if (options) {
description = `Select a value from the list for column "${column}".`;
} else {
description = `Value for column "${column}". See the [Column Type Reference](https://developer.monday.com/api-reference/reference/column-types-reference) to learn more about entering column type values.`;
}
props[column] = {
type: "string",
label: capitalizeWord(column),
description,
options,
};
}
return props;
},
methods: {
capitalizeWord,
getEmailValue(value) {
let email = value;
if (typeof value === "string") {
Expand All @@ -70,18 +27,9 @@ export default {
},
},
async run({ $ }) {
const columnValues = {};
const columns = Array.isArray(this.columns)
? this.columns
: this.columns?.split(",").map((c) => c.trim()) ?? [];
if (columns.length > 0) {
for (const column of columns) {
if (column === "email") {
columnValues[column] = this.getEmailValue(this[column]);
continue;
}
columnValues[column] = this[column];
}
const columnValues = parseColumnValues(this.columnValues) ?? {};
if (columnValues.email) {
columnValues.email = this.getEmailValue(columnValues.email);
}
const {
data,
Expand Down
2 changes: 1 addition & 1 deletion components/monday/actions/create-board/create-board.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
name: "Create Board",
description: "Creates a new board. [See the documentation](https://developer.monday.com/api-reference/reference/boards#create-a-board)",
type: "action",
version: "0.0.13",
version: "0.0.14",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
40 changes: 20 additions & 20 deletions components/monday/actions/create-column/create-column.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@ import constants from "../../common/constants.mjs";
import monday from "../../monday.app.mjs";
import { ConfigurationError } from "@pipedream/platform";

const COLUMN_TYPE_STATUS = "status";
const COLUMN_TYPE_DROPDOWN = "dropdown";
const DEFAULTS_SUPPORTED_COLUMN_TYPES = [
COLUMN_TYPE_STATUS,
COLUMN_TYPE_DROPDOWN,
];

export default {
key: "monday-create-column",
name: "Create Column",
description: "Creates a column. [See the documentation](https://developer.monday.com/api-reference/reference/columns#create-a-column)",
type: "action",
version: "0.1.5",
version: "0.2.1",
Comment thread
Priyadharshan-Pdm marked this conversation as resolved.
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -31,39 +38,32 @@ export default {
label: "Column Type",
description: "The type of the new column",
options: constants.COLUMN_TYPE_OPTIONS,
reloadProps: true,
},
description: {
type: "string",
label: "Description",
description: "The description of the new column",
optional: true,
},
},
async additionalProps() {
const props = {};
if ([
"status",
"dropdown",
].includes(this.columnType)) {
props.defaults = {
type: "string",
label: "Custom Labels (Defaults)",
description: "The new column's custom labels (defaults). For use with column types `status` or `dropdown`. Should be an object in the format `{ \"1\": \"Technology\", \"2\": \"Marketing\" }` where each key is the label ID and each value is the label text. [See the documentation](https://developer.monday.com/api-reference/reference/columns#create-a-status-or-dropdown-column-with-custom-labels) for more information.",
optional: true,
};
}
return props;
defaults: {
type: "string",
label: "Custom Labels (Defaults)",
description: "The new column's custom labels (defaults). Only valid when `Column Type` is `status` or `dropdown` — setting it for any other column type fails. Should be a JSON object in the format `{ \"1\": \"Technology\", \"2\": \"Marketing\" }` where each key is the label ID and each value is the label text. [See the documentation](https://developer.monday.com/api-reference/reference/columns#create-a-status-or-dropdown-column-with-custom-labels) for more information",
optional: true,
},
},
async run({ $ }) {
let { defaults } = this;
if (defaults) {
if (defaults !== undefined) {
if (!DEFAULTS_SUPPORTED_COLUMN_TYPES.includes(this.columnType)) {
throw new ConfigurationError("`Custom Labels (Defaults)` is only supported for `status` and `dropdown` column types.");
}
Comment thread
Priyadharshan-Pdm marked this conversation as resolved.
try {
if (this.columnType === "status") {
if (this.columnType === COLUMN_TYPE_STATUS) {
defaults = JSON.stringify({
labels: JSON.parse(defaults),
});
} else if (this.columnType === "dropdown") {
} else if (this.columnType === COLUMN_TYPE_DROPDOWN) {
const obj = JSON.parse(defaults);
defaults = JSON.stringify({
settings: {
Expand Down
2 changes: 1 addition & 1 deletion components/monday/actions/create-group/create-group.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default {
name: "Create Group",
description: "Creates a new group in a specific board. [See the documentation](https://developer.monday.com/api-reference/reference/groups#create-a-group)",
type: "action",
version: "0.0.14",
version: "0.0.15",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
2 changes: 1 addition & 1 deletion components/monday/actions/create-item/create-item.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default {
name: "Create Item",
description: "Creates an item. [See the documentation](https://developer.monday.com/api-reference/reference/items#create-an-item)",
type: "action",
version: "0.1.6",
version: "0.2.0",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
7 changes: 6 additions & 1 deletion components/monday/actions/create-subitem/create-subitem.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export default {
name: "Create Subitem",
description: "Creates a subitem. [See the documentation](https://developer.monday.com/api-reference/reference/subitems#create-a-subitem)",
type: "action",
version: "0.1.6",
version: "0.2.0",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down Expand Up @@ -41,6 +41,11 @@ export default {
description: "The new subitem's name",
},
...commonCreateItem.props,
columnValues: {
...commonCreateItem.props.columnValues,
label: "Column Values",
description: "The subitem column values to set, as column ID → value pairs. Example: `{ \"status\": \"Done\", \"date4\": \"2026-09-02\" }`. These are the columns of the parent item's **subitems board**, which is a separate board from the one selected above — run **List Columns** against that subitems board to discover its column IDs. See the [Column types reference](https://developer.monday.com/api-reference/reference/column-types-reference) for the value each column type expects",
},
},
methods: {
...commonCreateItem.methods,
Expand Down
2 changes: 1 addition & 1 deletion components/monday/actions/create-update/create-update.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
name: "Create an Update",
description: "Creates a new update. [See the documentation](https://developer.monday.com/api-reference/reference/updates#create-an-update)",
type: "action",
version: "0.0.16",
version: "0.0.17",
annotations: {
destructiveHint: true,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default {
key: "monday-get-board-items-page",
name: "Get Board Items Page",
description: "Retrieves all items from a board. [See the documentation](https://developer.monday.com/api-reference/reference/items-page)",
version: "0.0.4",
version: "0.0.5",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default {
key: "monday-get-column-values",
name: "Get Column Values",
description: "Return values of specific column(s) for a board item. [See the documentation](https://developer.monday.com/api-reference/reference/column-values-v2)",
version: "0.0.11",
version: "0.0.12",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { getColumnOptions } from "../../common/utils.mjs";
import common from "../common/column-values.mjs";

export default {
...common,
key: "monday-get-items-by-column-value",
name: "Get Items By Column Value",
description: "Searches a column for items matching a value. [See the documentation](https://developer.monday.com/api-reference/reference/items-page-by-column-values)",
version: "0.1.5",
version: "0.2.0",
annotations: {
destructiveHint: false,
openWorldHint: true,
Expand All @@ -24,26 +23,12 @@ export default {
}),
],
description: "The column to search",
reloadProps: true,
},
},
async additionalProps() {
const columnData = await this.monday.listColumns({
boardId: +this.boardId,
});

const options = getColumnOptions(columnData, this.columnId, true);

return {
value: {
type: "string",
label: "Value",
description: `The value to search for.${options
? ""
: " [See the documentation](https://developer.monday.com/api-reference/reference/items-page-by-column-values#supported-and-unsupported-columns) for additional information about column values"} `,
options,
},
};
value: {
type: "string",
label: "Value",
description: "The value to search for. For a `status` or `dropdown` column this is the label text rather than its ID (for example, `Done`) — use **List Columns** to see the labels a column accepts. [See the documentation](https://developer.monday.com/api-reference/reference/items-page-by-column-values#supported-and-unsupported-columns) for which column types are searchable and what value each one expects",
},
},
async run({ $ }) {
const response = await this.monday.getItemsByColumnValue({
Expand All @@ -62,7 +47,9 @@ export default {
while (cursor) {
const {
data: {
cursor: nextCursor, items_page_by_column_values: { items: nextItems },
next_items_page: {
cursor: nextCursor, items: nextItems,
},
Comment thread
Priyadharshan-Pdm marked this conversation as resolved.
},
} = await this.monday.getItemsByColumnValue({
cursor,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "monday-list-board-id-options",
name: "List Board ID Options",
description: "Retrieves available options for the Board ID field.",
version: "0.0.1",
version: "0.0.2",
type: "action",
annotations: {
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "monday-list-board-ids-options",
name: "List Board IDs Options",
description: "Retrieves available options for the Board IDs field.",
version: "0.0.1",
version: "0.0.2",
type: "action",
annotations: {
destructiveHint: false,
Expand Down
2 changes: 1 addition & 1 deletion components/monday/actions/list-boards/list-boards.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ export default {
key: "monday-list-boards",
name: "List Boards",
description: "List all boards. [See the documentation](https://developer.monday.com/api-reference/reference/boards)",
version: "0.0.1",
version: "0.0.2",
type: "action",
annotations: {
destructiveHint: false,
Expand Down
49 changes: 49 additions & 0 deletions components/monday/actions/list-columns/list-columns.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { getColumnOptions } from "../../common/utils.mjs";
import monday from "../../monday.app.mjs";

export default {
key: "monday-list-columns",
name: "List Columns",
description: "List the columns of a board, including each column's ID, type, and the labels a `status` or `dropdown` column accepts. Use this to discover the column IDs and values required by **Create Item**, **Update Column Values** and **Get Items By Column Value**. [See the documentation](https://developer.monday.com/api-reference/reference/columns#queries)",
type: "action",
version: "0.0.2",
annotations: {
destructiveHint: false,
openWorldHint: true,
readOnlyHint: true,
},
props: {
monday,
boardId: {
propDefinition: [
monday,
"boardId",
],
},
},
async run({ $ }) {
const columns = await this.monday.listColumns({
boardId: +this.boardId,
});

if (!columns?.length) {
throw new Error(`No columns found for board ${this.boardId}. Check that the board ID is correct and that the connected account can access it.`);
}

const results = columns.map(({
id, title, type,
}) => ({
id,
title,
type,
// Only status/dropdown columns carry labels; undefined for every other type.
labels: getColumnOptions(columns, id, true),
}));

$.export("$summary", `Successfully retrieved ${results.length} column${results.length === 1
? ""
: "s"}`);

return results;
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "monday-list-workspace-id-options",
name: "List Workspace ID Options",
description: "Retrieves available options for the Workspace ID field.",
version: "0.0.1",
version: "0.0.2",
type: "action",
annotations: {
destructiveHint: false,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export default {
key: "monday-list-workspace-ids-options",
name: "List Workspace IDs Options",
description: "Retrieves available options for the Workspace IDs field.",
version: "0.0.1",
version: "0.0.2",
type: "action",
annotations: {
destructiveHint: false,
Expand Down
Loading
Loading