Skip to content
Docs
Project management

monday.com

Let hires find and read items on your monday.com boards, add and update them, move them between groups and post updates.

Explore 8 actions and their permissionsExact inputs, sign-in scopes, access limits and approval rules.

With monday.com, a hire can:

  • list the boards it can use, with their groups and columns,
  • list a board's items (or one group's) with their column values, and search them by name,
  • read an item with its column values and latest updates,
  • add an item to a board, in the group you want, with column values filled in,
  • change an item's name or column values (a status, a date, a dropdown, text, a link…),
  • move an item to another group, and post an update on it.

1. Get your API token

Straight there: monday.com's API token page (sign in if asked; it opens the Developer Center).

In monday.com, click your avatar → Developers → API token → Show, and copy it. What hires do shows as you, so you may want a monday.com member just for Roster, with access to the boards hires work on.

2. Connect it in Roster

  1. Open Integrations → Tools → Add a tool, search for monday.com and choose it.
  2. API token: paste the token.
  3. Click Connect.

Roster checks the key when you click Connect. Once it's accepted, the connection shows Connected as your monday.com account's name, and whose token it is. If it's refused, Roster says what to fix (a mistyped key, a missing permission) and saves nothing.

3. Give hires access

On the hire's Tools tab, click Give access on monday.com:

  • Read only: it can list boards and items, search and read them, and nothing else.
  • Read and write: it can also add and update items, move them between groups and post updates.
  • Boards: board names or ids (the number in a board's address), one per line. Leave it empty for every board the account can see. Items on any other board are refused.

Hires refer to items by their id (the number after /pulses/ in an item's address), and to groups, columns and status labels by the names you see on the board, so "set Status to Done" works with your own labels.

Watching for changes

A hire's responsibility can watch monday.com: when items on its boards change, the hire is woken with the list. With no boards listed it watches the first 20 it can see, so list the ones that matter.

If something goes wrong

  • "Is a people column, which hires can't set": people, files and formula columns can't be set by a hire yet; change those in monday.com.
  • A status label that doesn't exist: hires use only the labels a column already has. Add the label on the board first.
  • "Complexity budget exhausted": monday.com limits how much an account asks for each minute. The hire waits and tries again.

Tools and permissions reference

This reference is built from the same definitions Roster uses to connect monday.com and give hires access. It updates with each release.

Authentication and requested permissions

The account or app you connect sets the outer limit. Each hire's access can narrow it further. Connecting a tool gives it to no hire until you give access on that hire's Tools tab.

API key or access token

In monday.com: your avatar → Developers → API token → Show, then copy. Hires' work shows as you.

No fixed permission list is declared for this connection. Review the sign-in consent screen, the account's roles, and the service's own documentation before connecting.

Connection fields

monday.com connection fields
FieldWhat to provide
API token
token
Required · sealed secret
In monday.com: your avatar → Developers → API token → Show, then copy. Hires' work shows as you.

Per-hire limits

Read-only hires receive only actions that read. Read-and-write access also allows actions that change things, where the connection itself permits them. An empty resource allowlist usually means everything the connected account can reach; each field below explains its meaning.

monday.com per-hire limits
FieldWhat to provide
Boards
boards
Optional
Board names or ids (the number in a board's address). Leave empty for every board the account can see.

Actions

8 actions: 4 only read and 4 change something. A read action may still need approval when your workspace or hire is set to ask. A locked approval requirement always applies.

8 of 8 actions. Open an action for its arguments and full input schema.

list_boardsRead only

The monday.com boards this hire can use, with their groups and columns.

Approval: Uses your workspace and hire approval settings.

This action takes no arguments.

Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {}
}
list_itemsRead only

A board's items with their column values, optionally only one group's.

Approval: Uses your workspace and hire approval settings.

Arguments for list_items
ArgumentTypeDetails
boardRequiredstringboard name or id
groupOptionalstringa group's title
limitOptionalintegerSee input schema below.Default: 30
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "minLength": 1,
      "description": "board name or id"
    },
    "group": {
      "description": "a group's title",
      "type": "string"
    },
    "limit": {
      "default": 30,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "board"
  ]
}
search_itemsRead only

Find items on a board whose name contains some words.

Approval: Uses your workspace and hire approval settings.

Arguments for search_items
ArgumentTypeDetails
boardRequiredstringboard name or id
textRequiredstringSee input schema below.
limitOptionalintegerSee input schema below.Default: 30
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "minLength": 1,
      "description": "board name or id"
    },
    "text": {
      "type": "string",
      "minLength": 1
    },
    "limit": {
      "default": 30,
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "required": [
    "board",
    "text"
  ]
}
get_itemRead only

An item's column values, group and latest updates.

Approval: Uses your workspace and hire approval settings.

Arguments for get_item
ArgumentTypeDetails
itemRequiredstringitem id
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "item": {
      "type": "string",
      "pattern": "^\\d{1,20}$",
      "description": "item id"
    }
  },
  "required": [
    "item"
  ]
}
create_itemRead and write

Add an item to a board, in a group if given, with column values by column title.

Approval: Uses your workspace and hire approval settings.

Arguments for create_item
ArgumentTypeDetails
boardRequiredstringboard name or id
nameRequiredstringSee input schema below.
groupOptionalstringa group's title; default: the board's top group
columnsOptionalobjectcolumn title → value, e.g. {"Status": "Working on it", "Due": "2026-11-30", "Tags": "a, b"}Default: {}
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "minLength": 1,
      "description": "board name or id"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "group": {
      "description": "a group's title; default: the board's top group",
      "type": "string"
    },
    "columns": {
      "default": {},
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "column title → value, e.g. {\"Status\": \"Working on it\", \"Due\": \"2026-11-30\", \"Tags\": \"a, b\"}"
    }
  },
  "required": [
    "board",
    "name"
  ]
}
update_itemRead and write

Change an item's name or column values (by column title). Only what's given changes.

Approval: Uses your workspace and hire approval settings.

Arguments for update_item
ArgumentTypeDetails
itemRequiredstringitem id
nameOptionalstringSee input schema below.
columnsOptionalobjectcolumn title → value, e.g. {"Status": "Working on it", "Due": "2026-11-30", "Tags": "a, b"}
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "item": {
      "type": "string",
      "pattern": "^\\d{1,20}$",
      "description": "item id"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    },
    "columns": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      },
      "description": "column title → value, e.g. {\"Status\": \"Working on it\", \"Due\": \"2026-11-30\", \"Tags\": \"a, b\"}"
    }
  },
  "required": [
    "item"
  ]
}
move_to_groupRead and write

Move an item to another group of its board, by the group's title.

Approval: Uses your workspace and hire approval settings.

Arguments for move_to_group
ArgumentTypeDetails
itemRequiredstringitem id
groupRequiredstringSee input schema below.
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "item": {
      "type": "string",
      "pattern": "^\\d{1,20}$",
      "description": "item id"
    },
    "group": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "item",
    "group"
  ]
}
commentRead and write

Post an update (a comment) on an item.

Approval: Uses your workspace and hire approval settings.

Arguments for comment
ArgumentTypeDetails
itemRequiredstringitem id
textRequiredstringplain text
Full input schema (JSON)
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "item": {
      "type": "string",
      "pattern": "^\\d{1,20}$",
      "description": "item id"
    },
    "text": {
      "type": "string",
      "minLength": 1,
      "description": "plain text"
    }
  },
  "required": [
    "item",
    "text"
  ]
}

Watches and incoming events

  • This integration supports a responsibility that watches for changes. The guide above explains what it checks and how to limit it.
  • No incoming webhook handler is declared for this integration.

Limits and troubleshooting

  • Permission errors: check both the connected account's rights and the hire's resource and read/write limits.
  • Expired or revoked access: reconnect or replace the key on the connection.
  • Rate limits and unavailable services can interrupt work. The hire's timecard records the outcome.
  • The action schema describes accepted inputs. It does not grant additional access or bypass approvals.

Service documentation · Integration source reference

On this page