> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cogniscape.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Monday.com

> Set up a Monday.com webhook to capture board items, updates, and status changes in your knowledge graph.

The Monday.com integration captures activity from your boards: items, updates (comments), column value changes, and subitems. Combined with GitHub, Linear, and Claude Code data, this gives Cogniscape a complete picture of **what** your team is working on, **who** is involved, and **how** work progresses from idea to delivery.

This setup needs to be done **once per board** you want to observe. If you add new boards later, just repeat the process for each one. Only a **board owner** or **workspace admin** can add integrations to a board.

## Configure the webhook

<Steps>
  <Step title="Open the board you want to track">
    In Monday.com, open the board and click the **Integrate** button in the top-right corner.
  </Step>

  <Step title="Add a webhook recipe">
    In the Integrations Center, search for **Webhooks** and pick a recipe such as **When an item is created, send a webhook**. Monday.com offers one recipe per trigger type — add one recipe per event you want to capture.
  </Step>

  <Step title="Paste the Webhook URL">
    Use the following URL, replacing `<your-customer-key>` with the key from the [Customer Portal](https://customer.cogniscape.app/):

    ```
    https://api.cogniscape.app/api/v1/events/monday/<your-customer-key>
    ```
  </Step>

  <Step title="Select the triggers to track">
    For the richest insights, add a webhook recipe for each of these triggers:

    * **When an item is created**
    * **When an item's name changes**
    * **When a column value changes** (covers status, person, date, and any custom columns)
    * **When an update is posted** (comments on items)
    * **When a subitem is created**
    * **When an item is moved to a group**

    <Tip>
      At a minimum, enable **item created**, **column value changes**, and **update posted**. These cover the core lifecycle Cogniscape uses to build the project management layer of your knowledge graph.
    </Tip>
  </Step>

  <Step title="Save the recipe">
    On save, Monday.com sends a `challenge` request to the Webhook URL. Cogniscape responds with the matching `challenge` token automatically — no manual confirmation is required. If Monday rejects the recipe with a verification error, double-check the URL and customer key and try again.

    Once the handshake succeeds, events start flowing into your knowledge graph immediately.
  </Step>
</Steps>

## How requests are verified

Board webhook recipes do not use a signing secret. Monday.com authorizes the endpoint **once at creation time** via a challenge/response handshake:

1. Monday sends `POST` with `{ "challenge": "<token>" }` to the Webhook URL.
2. Cogniscape replies with the same `{ "challenge": "<token>" }` payload.
3. Monday saves the recipe and starts delivering events.

Because there is no per-payload signature, the customer key embedded in the URL is what scopes incoming events to your tenant. **Treat the Webhook URL as a secret** — anyone who can read it can post events into your knowledge graph.

<Warning>
  Do not share the Webhook URL outside your workspace. If the URL leaks, rotate your customer key from the [Customer Portal](https://customer.cogniscape.app/) and update every Monday.com recipe with the new URL.
</Warning>

<Note>
  Programmatic webhooks created via the Monday GraphQL `create_webhook` mutation under an integration app token include a JWT in the `Authorization` header. Cogniscape verifies that JWT when present, but the standard board-recipe path covered above does not produce one.
</Note>

## Verify the webhook

After saving, trigger a test by creating or updating an item on the board. Monday surfaces failed deliveries in the recipe's **Activity** log; a `200` response from Cogniscape confirms the event was received.

## Supported events

Cogniscape processes these Monday.com webhook event types:

| Event                            | What it captures                                                         |
| -------------------------------- | ------------------------------------------------------------------------ |
| `create_item`                    | New item created — name, board, group, and creator                       |
| `change_name`                    | Item name changes — previous and new value                               |
| `change_column_value`            | Column updates — status, person, date, text, numbers, and custom columns |
| `change_status_column_value`     | Status column transitions — previous and new label                       |
| `create_update`                  | Comments posted on items — body text and author                          |
| `create_subitem`                 | Subitem creation — parent item, name, and creator                        |
| `item_moved_to_any_group`        | Item moved between groups — source and destination group                 |
| `item_archived` / `item_deleted` | Lifecycle terminal states for items                                      |

<Note>
  Events not listed above are received but silently ignored. Enabling additional triggers is safe — it won't create noise in your knowledge graph.
</Note>

## Multiple boards

Each board needs its own webhook recipe pointing to the same URL. The customer key in the URL ensures all events are routed to the correct knowledge graph regardless of which board sends them.

<Tip>
  For workspaces with many boards, configure the recipes once on a template board and duplicate it — Monday.com copies webhook integrations along with the board structure.
</Tip>
