Monday
Query and create monday.com work items via the monday.com
GraphQL API (https://api.monday.com/v2). Standard-library Python only — no
external dependencies.
What it does
monday.com is a Work OS organized into boards (tables) that hold items (rows), each with column values. This tool reads boards/items and writes new items or column updates through a single GraphQL endpoint.
The endpoint always returns HTTP 200; GraphQL-level problems come back in an
errors array. The tool detects that and fails the step with the error message
so automations don't silently succeed on a bad request.
Operations
| operation | reads/writes | required inputs | what it does |
|---|---|---|---|
viewer |
read | — | Returns the authenticated user (me) and account — handy to confirm the token works. |
list-boards |
read | — | Lists boards (id, name, state, board_kind), up to limit. |
list-items |
read | boardId |
Lists a board's items via items_page (id, name, state, column_values), up to limit. |
create-item |
write | boardId, itemName (columnValues optional) |
Creates a new item on the board, optionally setting column values. |
change-column-values |
write | boardId, itemId, columnValues |
Updates one or more column values on an existing item. |
Inputs
- apiKey (required) — your monday.com personal API token (see below).
- operation (required) — one of the operations above.
- boardId — numeric board id. Discover it with
list-boards. - itemId — numeric item id (for
change-column-values). - itemName — name of the item to create (for
create-item). - columnValues — a JSON string matching monday's column-values format,
e.g.
{"status":{"label":"Done"},"text":"hello"}. Optional forcreate-item, required forchange-column-values. - limit — max boards/items to return (1–100, default 25).
Outputs
- result — the GraphQL
dataobject, serialized as a JSON string. - status — the HTTP status code as a string (normally
200).
How to get the apiKey
- In monday.com, click your profile picture (top right).
- Choose Developers to open the Developer Center.
- Open API token and click Show, then copy the token.
(Admins can also retrieve it under Administration → Connections → Personal API
token.) The token mirrors your monday.com permissions and is sent verbatim in
the Authorization header — no Bearer prefix.
Examples
1. List your boards to find a board id
monday apiKey=<token> operation=list-boards limit=10
result contains an array like [{"id":"1234567890","name":"Tasks","state":"active",...}].
2. Create an item on a board with a status column set
monday apiKey=<token> operation=create-item boardId=1234567890 \
itemName="Ship release notes" \
columnValues={"status":{"label":"Working on it"}}
result contains the new item: {"create_item":{"id":"...","name":"Ship release notes"}}.
Notes
- Pins the schema to
API-Version: 2024-10. - Response bodies are capped at ~5 MB.
- Grounded in the official docs: https://developer.monday.com/api-reference/docs