# monday.com API tokens (/integrations/monday-service-account)

Connect monday.com with a personal API token. It acts as the user who generated it, with that user's board access. Use a dedicated integration user if the workflows should have a separate identity.

## Prerequisites \[#prerequisites]

Admins and members can generate their own API token (guests and viewers cannot) — for production use, create a dedicated integration-user seat first. A token generated from a personal account stops working if that person is deactivated.

Warning:

The token's user must be **active**, **not view-only** (Viewer), and have a **confirmed email address**. Tokens from view-only or unconfirmed users are rejected by the monday.com API with a 403 error even though the token itself is valid.

## Set up the token \[#setting-up-the-token]

### 1. Create a dedicated integration user \[#1-create-a-dedicated-integration-user-recommended]

Have a monday.com admin invite a new member with a shared email like `sim-bot@yourcompany.com` and confirm the email address

Add the integration user to every board your workflows will read or write. The token mirrors the user's board access exactly — a board the user can't see is a board the token can't touch

### 2. Generate the personal API token \[#2-generate-the-personal-api-token]

Log in as the integration user, click your **profile picture** (top-right), and choose **Developers**

In the Developer Center, open the **API token** tab and click **Show** to reveal the token

Copy the token exactly as shown — monday.com doesn't document a fixed token format

Warning:

monday.com issues **one API token per user**. Regenerating it immediately invalidates the old token — every integration using it breaks at once, with no overlap window. Don't regenerate the token to "get a fresh copy"; reveal and copy the existing one instead.

There is no scope picker: personal API tokens carry **all** API permission scopes automatically. What limits the token is the user's own access — board membership, item visibility, and account permissions.

## Add the API token to Sim \[#adding-the-api-token-to-sim]

Open **Integrations** from your workspace sidebar

Search for "Monday" and open it, then click **Add to Sim** and choose **Add API token**

Paste the API token and optionally set a display name and description

Click **Add API token**. Sim verifies the token by querying monday.com's `me` endpoint — if it fails, you'll see a specific error explaining what went wrong.

The token is encrypted before being stored.

## Use the credential in workflows \[#using-the-credential-in-workflows]

Add a monday.com block to your workflow. In the credential dropdown, select the saved monday.com API token. Configure the selected operation.

The block calls monday.com's single global API endpoint (`api.monday.com/v2`) using the token — there's no per-tenant domain to configure. The token acts as the user it was created by, with that user's board access.

## Troubleshooting and rotation \[#troubleshooting-and-rotation]

| Problem | What to check |
| - | - |
| A board action fails | Give the token's user access to the board, column, or item. Writes also need edit permission; adding the credential checks identity, not every board. |
| Authentication fails | Verify that the user is active, is allowed to use the API, has a confirmed email, and that the token was not regenerated. |
| The token needs rotation | Regenerate it under **Developers → API token**, then use **Reconnect** on the saved credential in Sim. Regeneration immediately invalidates the old token, so coordinate the update with running workflows. |

monday.com's documentation does not specify a scheduled expiry for personal tokens. Monitor authentication failures rather than assuming indefinite validity. See [authentication and token regeneration](https://developer.monday.com/api-reference/docs/authentication).
