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

# notion

> Pages, databases, and blocks

**Server path:** `/notion` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                        | Description                                                                                        |
| ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| [`notion_create_page`](#notion_create_page)                 | Create a new page in Notion                                                                        |
| [`notion_update_page`](#notion_update_page)                 | Update an existing Notion page                                                                     |
| [`notion_retrieve_page`](#notion_retrieve_page)             | Retrieve a Notion page by ID                                                                       |
| [`notion_query_database`](#notion_query_database)           | Query a Notion database with filters and sorting                                                   |
| [`notion_create_database`](#notion_create_database)         | Create a new database in Notion                                                                    |
| [`notion_retrieve_database`](#notion_retrieve_database)     | Retrieve a Notion database by ID                                                                   |
| [`notion_update_database`](#notion_update_database)         | Update a Notion database                                                                           |
| [`notion_append_block`](#notion_append_block)               | Append content blocks to a Notion page                                                             |
| [`notion_retrieve_block`](#notion_retrieve_block)           | Retrieve a Notion block by ID                                                                      |
| [`notion_list_block_children`](#notion_list_block_children) | List all child blocks of a page or block. Use this to get page content.                            |
| [`notion_update_block`](#notion_update_block)               | Update a Notion block                                                                              |
| [`notion_delete_block`](#notion_delete_block)               | Delete a Notion block                                                                              |
| [`notion_search`](#notion_search)                           | Search across Notion workspace for pages and databases. Use this to find content by title or text. |
| [`notion_create_comment`](#notion_create_comment)           | Create a comment on a Notion page or block                                                         |
| [`notion_list_users`](#notion_list_users)                   | List all users in the Notion workspace                                                             |
| [`notion_retrieve_user`](#notion_retrieve_user)             | Retrieve a specific Notion user by ID                                                              |
| [`notion_get_current_user`](#notion_get_current_user)       | Get information about the current authenticated user                                               |

***

## notion\_create\_page

Create a new page in Notion

**Parameters:**

| Parameter    | Type   | Required | Default | Description                          |
| ------------ | ------ | -------- | ------- | ------------------------------------ |
| `parent`     | object | Yes      | —       | Parent database or page              |
| `title`      | string | Yes      | —       | Page title                           |
| `content`    | any\[] | No       | —       | Page content blocks                  |
| `properties` | object | No       | —       | Page properties (for database pages) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "parent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "database_id",
              "page_id"
            ],
            "description": "Parent type"
          },
          "id": {
            "type": "string",
            "description": "Parent database or page ID"
          }
        },
        "description": "Parent database or page"
      },
      "title": {
        "type": "string",
        "description": "Page title"
      },
      "content": {
        "type": "array",
        "items": {
          "type": "any"
        },
        "description": "Page content blocks"
      },
      "properties": {
        "type": "object",
        "additionalProperties": true,
        "description": "Page properties (for database pages)"
      }
    },
    "required": [
      "PCID",
      "parent",
      "title"
    ]
  }
  ```
</Expandable>

***

## notion\_update\_page

Update an existing Notion page

**Parameters:**

| Parameter    | Type    | Required | Default | Description                 |
| ------------ | ------- | -------- | ------- | --------------------------- |
| `pageId`     | string  | Yes      | —       | Page ID to update           |
| `title`      | string  | No       | —       | Updated page title          |
| `properties` | object  | No       | —       | Updated page properties     |
| `archived`   | boolean | No       | —       | Whether to archive the page |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Page ID to update"
      },
      "title": {
        "type": "string",
        "description": "Updated page title"
      },
      "properties": {
        "type": "object",
        "additionalProperties": true,
        "description": "Updated page properties"
      },
      "archived": {
        "type": "boolean",
        "description": "Whether to archive the page"
      }
    },
    "required": [
      "PCID",
      "pageId"
    ]
  }
  ```
</Expandable>

***

## notion\_retrieve\_page

Retrieve a Notion page by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description         |
| --------- | ------ | -------- | ------- | ------------------- |
| `pageId`  | string | Yes      | —       | Page ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "pageId": {
        "type": "string",
        "description": "Page ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "pageId"
    ]
  }
  ```
</Expandable>

***

## notion\_query\_database

Query a Notion database with filters and sorting

**Parameters:**

| Parameter     | Type   | Required | Default | Description                     |
| ------------- | ------ | -------- | ------- | ------------------------------- |
| `databaseId`  | string | Yes      | —       | Database ID to query            |
| `filter`      | any    | No       | —       | Filter conditions for the query |
| `sorts`       | any\[] | No       | —       | Sort conditions for results     |
| `pageSize`    | number | No       | `100`   | Number of results to return     |
| `startCursor` | string | No       | —       | Cursor for pagination           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "databaseId": {
        "type": "string",
        "description": "Database ID to query"
      },
      "filter": {
        "type": "any",
        "description": "Filter conditions for the query"
      },
      "sorts": {
        "type": "array",
        "items": {
          "type": "any"
        },
        "description": "Sort conditions for results"
      },
      "pageSize": {
        "type": "number",
        "default": 100,
        "description": "Number of results to return"
      },
      "startCursor": {
        "type": "string",
        "description": "Cursor for pagination"
      }
    },
    "required": [
      "PCID",
      "databaseId"
    ]
  }
  ```
</Expandable>

***

## notion\_create\_database

Create a new database in Notion

**Parameters:**

| Parameter     | Type   | Required | Default | Description                  |
| ------------- | ------ | -------- | ------- | ---------------------------- |
| `parent`      | object | Yes      | —       | Parent page for the database |
| `title`       | string | Yes      | —       | Database title               |
| `properties`  | object | Yes      | —       | Database schema properties   |
| `description` | string | No       | —       | Database description         |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "parent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_id"
            ],
            "description": "Parent type"
          },
          "pageId": {
            "type": "string",
            "description": "Parent page ID"
          }
        },
        "description": "Parent page for the database"
      },
      "title": {
        "type": "string",
        "description": "Database title"
      },
      "properties": {
        "type": "object",
        "additionalProperties": true,
        "description": "Database schema properties"
      },
      "description": {
        "type": "string",
        "description": "Database description"
      }
    },
    "required": [
      "PCID",
      "parent",
      "title",
      "properties"
    ]
  }
  ```
</Expandable>

***

## notion\_retrieve\_database

Retrieve a Notion database by ID

**Parameters:**

| Parameter    | Type   | Required | Default | Description             |
| ------------ | ------ | -------- | ------- | ----------------------- |
| `databaseId` | string | Yes      | —       | Database ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "databaseId": {
        "type": "string",
        "description": "Database ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "databaseId"
    ]
  }
  ```
</Expandable>

***

## notion\_update\_database

Update a Notion database

**Parameters:**

| Parameter     | Type   | Required | Default | Description                  |
| ------------- | ------ | -------- | ------- | ---------------------------- |
| `databaseId`  | string | Yes      | —       | Database ID to update        |
| `title`       | string | No       | —       | Updated database title       |
| `description` | string | No       | —       | Updated database description |
| `properties`  | object | No       | —       | Updated database properties  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "databaseId": {
        "type": "string",
        "description": "Database ID to update"
      },
      "title": {
        "type": "string",
        "description": "Updated database title"
      },
      "description": {
        "type": "string",
        "description": "Updated database description"
      },
      "properties": {
        "type": "object",
        "additionalProperties": true,
        "description": "Updated database properties"
      }
    },
    "required": [
      "PCID",
      "databaseId"
    ]
  }
  ```
</Expandable>

***

## notion\_append\_block

Append content blocks to a Notion page

**Parameters:**

| Parameter  | Type   | Required | Default | Description                             |
| ---------- | ------ | -------- | ------- | --------------------------------------- |
| `blockId`  | string | Yes      | —       | Block ID to append to (usually page ID) |
| `children` | any\[] | Yes      | —       | Array of block objects to append        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "blockId": {
        "type": "string",
        "description": "Block ID to append to (usually page ID)"
      },
      "children": {
        "type": "array",
        "items": {
          "type": "any"
        },
        "description": "Array of block objects to append"
      }
    },
    "required": [
      "PCID",
      "blockId",
      "children"
    ]
  }
  ```
</Expandable>

***

## notion\_retrieve\_block

Retrieve a Notion block by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description          |
| --------- | ------ | -------- | ------- | -------------------- |
| `blockId` | string | Yes      | —       | Block ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "blockId": {
        "type": "string",
        "description": "Block ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "blockId"
    ]
  }
  ```
</Expandable>

***

## notion\_list\_block\_children

List all child blocks of a page or block. Use this to get page content.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                          |
| ------------- | ------ | -------- | ------- | ------------------------------------ |
| `blockId`     | string | Yes      | —       | Block or page ID to get children for |
| `pageSize`    | number | No       | `100`   | Number of blocks to return           |
| `startCursor` | string | No       | —       | Cursor for pagination                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "blockId": {
        "type": "string",
        "description": "Block or page ID to get children for"
      },
      "pageSize": {
        "type": "number",
        "default": 100,
        "description": "Number of blocks to return"
      },
      "startCursor": {
        "type": "string",
        "description": "Cursor for pagination"
      }
    },
    "required": [
      "PCID",
      "blockId"
    ]
  }
  ```
</Expandable>

***

## notion\_update\_block

Update a Notion block

**Parameters:**

| Parameter  | Type    | Required | Default | Description                  |
| ---------- | ------- | -------- | ------- | ---------------------------- |
| `blockId`  | string  | Yes      | —       | Block ID to update           |
| `content`  | any     | Yes      | —       | Updated block content        |
| `archived` | boolean | No       | —       | Whether to archive the block |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "blockId": {
        "type": "string",
        "description": "Block ID to update"
      },
      "content": {
        "type": "any",
        "description": "Updated block content"
      },
      "archived": {
        "type": "boolean",
        "description": "Whether to archive the block"
      }
    },
    "required": [
      "PCID",
      "blockId",
      "content"
    ]
  }
  ```
</Expandable>

***

## notion\_delete\_block

Delete a Notion block

**Parameters:**

| Parameter | Type   | Required | Default | Description        |
| --------- | ------ | -------- | ------- | ------------------ |
| `blockId` | string | Yes      | —       | Block ID to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "blockId": {
        "type": "string",
        "description": "Block ID to delete"
      }
    },
    "required": [
      "PCID",
      "blockId"
    ]
  }
  ```
</Expandable>

***

## notion\_search

Search across Notion workspace for pages and databases. Use this to find content by title or text.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                 |
| ---------- | ------ | -------- | ------- | --------------------------- |
| `query`    | string | No       | —       | Search query text           |
| `filter`   | object | No       | —       | Filter by content type      |
| `sort`     | object | No       | —       | Sort configuration          |
| `pageSize` | number | No       | `100`   | Number of results to return |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "string",
        "description": "Search query text"
      },
      "filter": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "enum": [
              "page",
              "database"
            ],
            "description": "Type of content to search"
          },
          "property": {
            "type": "string",
            "const": "object",
            "description": "Property to filter on"
          }
        },
        "description": "Filter by content type"
      },
      "sort": {
        "type": "object",
        "properties": {
          "direction": {
            "type": "string",
            "enum": [
              "ascending",
              "descending"
            ],
            "description": "Sort direction"
          },
          "timestamp": {
            "type": "string",
            "enum": [
              "last_edited_time"
            ],
            "description": "Sort by timestamp"
          }
        },
        "description": "Sort configuration"
      },
      "pageSize": {
        "type": "number",
        "default": 100,
        "description": "Number of results to return"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## notion\_create\_comment

Create a comment on a Notion page or block

**Parameters:**

| Parameter  | Type   | Required | Default | Description                        |
| ---------- | ------ | -------- | ------- | ---------------------------------- |
| `parent`   | object | Yes      | —       | Parent page or block to comment on |
| `richText` | any\[] | Yes      | —       | Rich text content for the comment  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "parent": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_id",
              "block_id"
            ],
            "description": "Parent type"
          },
          "id": {
            "type": "string",
            "description": "Parent page or block ID"
          }
        },
        "description": "Parent page or block to comment on"
      },
      "richText": {
        "type": "array",
        "items": {
          "type": "any"
        },
        "description": "Rich text content for the comment"
      }
    },
    "required": [
      "PCID",
      "parent",
      "richText"
    ]
  }
  ```
</Expandable>

***

## notion\_list\_users

List all users in the Notion workspace

**Parameters:**

| Parameter     | Type   | Required | Default | Description               |
| ------------- | ------ | -------- | ------- | ------------------------- |
| `pageSize`    | number | No       | `100`   | Number of users to return |
| `startCursor` | string | No       | —       | Cursor for pagination     |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "pageSize": {
        "type": "number",
        "default": 100,
        "description": "Number of users to return"
      },
      "startCursor": {
        "type": "string",
        "description": "Cursor for pagination"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## notion\_retrieve\_user

Retrieve a specific Notion user by ID

**Parameters:**

| Parameter | Type   | Required | Default | Description         |
| --------- | ------ | -------- | ------- | ------------------- |
| `userId`  | string | Yes      | —       | User ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "userId": {
        "type": "string",
        "description": "User ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "userId"
    ]
  }
  ```
</Expandable>

***

## notion\_get\_current\_user

Get information about the current authenticated user

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>
