monday.com
Let an agent keep your boards current without the run of your account. It reads boards and items, creates items, sets column values, moves items between groups and posts updates, and archiving or deleting an item can wait for a person.
- host
- api.monday.com
- connect
- API key, per user
Create item
monday-create-item
Set column value
monday-set-column-value
Change column values
monday-change-column-values
Move item to group
monday-move-item-to-group
Reads and writes in monday.com. Writes are off until you switch them on.
Each one is a named operation from the pack. Reads change nothing.
Writes
Create item
read backmonday-create-item
Create one item on a board, in a group or in the board's top group. column_values optionally sets columns at creation, as a JSON object written as a string and keyed by column id, for example {"status":{"label":"Done"},"date4":{"date":"2026-11-02"},"text_mkx1abcd":"Call before kickoff"}. It travels as a GraphQL variable, so it never changes the query.
Set column value
read backmonday-set-column-value
Set one column of an item from a plain string: a status label's text (Done), a date as YYYY-MM-DD, a text, a number. monday refuses a status label the column does not have; get-board lists the labels.
Change column values
read backmonday-change-column-values
Set several columns of one item in one call. column_values is a JSON object written as a string, keyed by column id (from get-board), for example {"status":{"label":"Stuck"},"date4":{"date":"2026-11-09"},"text_mkx1abcd":"Waiting on legal"}. It travels as a GraphQL variable, so it never changes the query. monday refuses a status label the column does not have.
Move item to group
read backmonday-move-item-to-group
Move one item to another group on the same board.
Add update
read backmonday-add-update
Add an update (a comment) to one item. The body is text or simple HTML. Everyone who can see the item sees it, and monday notifies the item's subscribers and anyone mentioned.
Archive item
read backmonday-archive-item
Archive one item. It leaves the board and can be restored from the board's archive in monday.
Delete item
read backmonday-delete-item
Delete one item. monday moves it to the account's trash, where it can be restored for a time.
Reads
List boards
monday-list-boards
List the boards the token's user can reach, 25 a page, in the order monday returns them. Returns each board's id, name, description, kind (public, private or share), workspace id, item count, last update and url. Archived and deleted boards are left out. Page with page (1 is the start); a page with fewer than 25 boards is the last. Changes nothing.
Get board
monday-get-board
Get one board with its columns and groups. Returns each column's id, title, type and settings (a status column's settings hold its labels), and each group's id, title, color and position. Use the column ids with get-item, set-column-value and change-column-values, and the group ids with create-item, move-item-to-group and list-group-items. Changes nothing.
List items
monday-list-items
List the items (rows) on a board, 20 a page, with each item's id, name, state, last update, group and the text of its column values. When items_page.cursor is not null, pass it to next-items-page for the next page; the cursor expires 60 minutes after this call. Name column_ids on a wide board to keep the response small. Changes nothing.
List group items
monday-list-group-items
List the items in one group of a board, 20 a page, with each item's id, name, state, last update, group and the text of its column values. When items_page.cursor is not null, pass it to next-items-page for the next page; the cursor expires 60 minutes after this call. Changes nothing.
Search items
monday-search-items
Find the items on a board whose column holds a value, for example an email, a status label or a date (YYYY-MM-DD). The match is exact. monday supports this for some column types, listed in its docs; others are refused. Returns 20 a page; when cursor is not null, pass it to next-items-page. Changes nothing.
Next items page
monday-next-items-page
Get the next 20 items after a cursor from list-items, list-group-items, search-items or an earlier next-items-page. Returns the same fields and a new cursor; a null cursor means there are no more. A cursor expires 60 minutes after the call that started the listing. Changes nothing.
Get item
monday-get-item
Get one item with its board, group, state (active, archived or deleted), creation and last update, url, and every column value: its id, type, text and raw value (a JSON string). Name column_ids to read a few columns. Changes nothing.
List updates
monday-list-updates
List the updates (comments) on one item, 20 a page. Returns each update's id, plain text, creation time and creator (id and name). Page with page (1 is the start); a page with fewer than 20 updates is the last. Changes nothing.
How do users connect? Each one brings their own monday.com.
- 1.Call for the userYour server invokes the action for the signed-in user. Without a monday.com connection, the SDK throws EndUserNotConnectedError with a connect link.
- 2.The user pastes a keyThe link opens a form that shows where in monday.com's settings to create the key. The link lasts 10 minutes and works once.
- 3.Anlyon checks itThe key is checked with monday.com before it is kept, and bound to api.monday.com. It is never shown back.
- 4.Your server confirmsYour server confirms the connection for the user who is signed in, and the call goes through.
Guardrails. Suggested limits and approvals, for you to review.
Suggested limits
- 100 items created a day
- 300 single column changes a day
- 200 multiple column changes a day
- 200 items moved between groups a day
- 200 updates posted a day
- 50 items archived a day
- 20 items deleted a day
Suggested approvals
- A person approves deleting an item
- A person approves archiving an item
- A person approves posting an update
What the key must allow
- Your personal API token
- It acts as you in every board you can reach
Good to know
- Copy the token from an account that is a member of only the boards your agent should work in.
- monday.com has no idempotency key for a create. Anlyon sends it once and never repeats it.
For your own account
- 1.In monday.com, open your profile picture, Developers, My access tokens, and copy your token.
- 2.In Anlyon, open Actions, then Integrations, choose monday.com and paste the token.
- 3.Anlyon checks the token with monday.com before storing it. It becomes a secret named MONDAY, bound to api.monday.com.
monday.com in your code. For one of your users, or for your own account.
Act for one of your users from your server, or connect your company's own monday.com with the CLI.
import { Client, EndUserNotConnectedError } from "@anlyonhq/sdk";const anlyon = new Client({ apiKey: process.env.ANLYON_API_KEY! });try { const { data } = await anlyon .forUser(session.userId) .actions.invoke("monday-create-item", { board_id: "1234567890", item_name: "Follow up with Acme" }); return { status: "done", grade: data.grade };} catch (error) { if (error instanceof EndUserNotConnectedError) { // The user connects their own monday.com, then you call again. return { status: "connect_required", url: error.connectUrl }; } throw error;}Other integrations. Under the same limits, approvals and receipts.
Available
Stripe
Payments · API key
Refunds under a money ceiling, and every customer, payment and invoice to read.
Available
GitHub
Code · API key
Issues, pull requests and code, in the repositories you choose.
Available
HubSpot
CRM · Sign in
Contacts, companies and deals: search them and change them.
- Anlyon app
- Available
- Your own app
- Recommended for production
