Integrations / monday.com
monday.com
Work management: boards, items, column values and updates (GraphQL API).
10 actions
OAuth 2
5 read4 write1 destructive
Calls api.monday.com
Connect
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "monday" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();Permissions requested
| Scope | Why it is requested |
|---|---|
me:read | Identify the connected monday.com account |
boards:read | Read your boards, groups, columns and items |
boards:write | Create, change, archive and delete items on your boards |
updates:read | Read updates (comments) on items |
updates:write | Post updates (comments) on items |
Actions
Archive itemwritemonday.archive_itemArchive an item and its subitems (hides it from the board; monday.com keeps archived items).
Needs scope: boards:write
| Input | Type | Description | |
|---|---|---|---|
item_id | string | Required | Item ID |
await setu.execute({
userId: "user_1",
action: "monday.archive_item",
input: {
"item_id": "<item_id>"
},
});Create itemwritemonday.create_itemCreate an item on a board, optionally in a group and with initial column values given as a JSON string keyed by column ID (see get_board).
Needs scope: boards:write
| Input | Type | Description | |
|---|---|---|---|
board_id | string | Required | Board ID |
group_id | string | Optional | Group ID from get_board (default: the first group) |
item_name | string | Required | Item name |
column_values | string | Optional | JSON object string keyed by column ID, e.g. {"status": {"label": "Done"}, "date4": {"date": "2023-05-25"}} |
await setu.execute({
userId: "user_1",
action: "monday.create_item",
input: {
"board_id": "<board_id>",
"item_name": "<item_name>"
},
});Post update on itemwritemonday.create_updatePost an update (a comment) on an item.
Needs scope: updates:write
| Input | Type | Description | |
|---|---|---|---|
item_id | string | Required | Item ID |
body | string | Required | Update text (HTML allowed) |
await setu.execute({
userId: "user_1",
action: "monday.create_update",
input: {
"item_id": "<item_id>",
"body": "<body>"
},
});Delete itemdestructivemonday.delete_itemDelete an item and its subitems from a board.
Needs scope: boards:write
| Input | Type | Description | |
|---|---|---|---|
item_id | string | Required | Item ID |
await setu.execute({
userId: "user_1",
action: "monday.delete_item",
input: {
"item_id": "<item_id>"
},
confirm: true,
});Get board structurereadmonday.get_boardGet a board's columns (IDs, titles, types) and groups. Use it to learn the column IDs needed to create or update items.
Needs scope: boards:read
| Input | Type | Description | |
|---|---|---|---|
board_id | string | Required | Board ID from list_boards |
await setu.execute({
userId: "user_1",
action: "monday.get_board",
input: {
"board_id": "<board_id>"
},
});Get items by IDreadmonday.get_itemsGet up to 100 specific items by ID, including their board, group, URL and column values as text.
Needs scope: boards:read
| Input | Type | Description | |
|---|---|---|---|
ids | array of string | Required | Item IDs (up to 100) |
await setu.execute({
userId: "user_1",
action: "monday.get_items",
input: {
"ids": []
},
});List boardsreadmonday.list_boardsList the boards the user can access (most recently used first) with their IDs, names and state.
Needs scope: boards:read
| Input | Type | Description | |
|---|---|---|---|
limit | integer | Optional | How many boards to return (default 25) |
page | integer | Optional | Page number, starting at 1 |
await setu.execute({
userId: "user_1",
action: "monday.list_boards",
input: {},
});List items on a boardreadmonday.list_itemsList items on a board with their group and column values as text. Returns one page and a cursor; pass the cursor back to get the next page.
Needs scope: boards:read
| Input | Type | Description | |
|---|---|---|---|
board_id | string | Required | Board ID from list_boards |
limit | integer | Optional | Items per page (default 25, maximum 500) |
cursor | string | Optional | Cursor from the previous page |
await setu.execute({
userId: "user_1",
action: "monday.list_items",
input: {
"board_id": "<board_id>"
},
});List item updatesreadmonday.list_updatesList the updates (comments) on an item, newest first, as plain text with author and time.
Needs scope: updates:read
| Input | Type | Description | |
|---|---|---|---|
item_id | string | Required | Item ID |
limit | integer | Optional | How many updates to return (default 25, maximum 100) |
await setu.execute({
userId: "user_1",
action: "monday.list_updates",
input: {
"item_id": "<item_id>"
},
});Update item columnswritemonday.update_item_columnsChange several column values of an item at once. column_values is a JSON string keyed by column ID, e.g. {"status": {"index": 1}}.
Needs scope: boards:write
| Input | Type | Description | |
|---|---|---|---|
board_id | string | Required | ID of the board that contains the item |
item_id | string | Required | Item ID |
column_values | string | Required | JSON object string keyed by column ID, e.g. {"status":{"index":1},"date4":{"date":"2021-01-01"}} |
await setu.execute({
userId: "user_1",
action: "monday.update_item_columns",
input: {
"board_id": "<board_id>",
"item_id": "<item_id>",
"column_values": "<column_values>"
},
});