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

# Reflect Integration for AI Agents & Workflows

> Note-taking and knowledge management via the Reflect API

{/* Self-hosted logo — build-time vendored from modulex.json / Iconify (see scripts/lib/logo.js). */}

<img src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/reflect.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=546963af44c352b0e93b322265e4fbd7" alt="Reflect logo" width="72" height="72" data-path="logos/reflect.svg" />

## Overview

Add **Reflect** to any ModuleX agent or workflow. Note-taking and knowledge management via the Reflect API (`reflect.app/api`).

<Info>
  **Categories**: Productivity & Collaboration · Note Taking · Knowledge Management · **Auth**: OAuth2 · **Actions**: 5
</Info>

## Authentication

### OAuth2 Authentication

Connect using Reflect OAuth (recommended)

#### Required Credentials

| Field         | Description                     | Required | Format |
| ------------- | ------------------------------- | -------- | ------ |
| Client ID     | Reflect OAuth App Client ID     | Yes      | `-`    |
| Client Secret | Reflect OAuth App Client Secret | Yes      | `-`    |

#### OAuth Configuration

* **Authorization URL**: `https://reflect.app/oauth`
* **Token URL**: `https://reflect.app/api/oauth/token`
* **Scopes**: `read:graph`, `write:graph`

## Available Actions

<AccordionGroup>
  <Accordion title="append_daily_note — Append to a daily note">
    ### Parameters

    <ResponseField name="graph_id" type="string" required>
      The graph identifier
    </ResponseField>

    <ResponseField name="text" type="string" required>
      Text to append to the daily note
    </ResponseField>

    <ResponseField name="list_name" type="string">
      Name of the list to append to
    </ResponseField>

    <ResponseField name="date" type="string">
      Date of the daily note in ISO 8601 format. Defaults to today.
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        }
      },
      "required": [
        "success"
      ],
      "title": "AppendDailyNoteOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="create_link — Create a new link">
    ### Parameters

    <ResponseField name="graph_id" type="string" required>
      The graph identifier
    </ResponseField>

    <ResponseField name="url" type="string" required>
      The URL of the link to create
    </ResponseField>

    <ResponseField name="title" type="string">
      The link title
    </ResponseField>

    <ResponseField name="description" type="string">
      The link description
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Id"
        }
      },
      "required": [
        "success"
      ],
      "title": "CreateLinkOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="get_user — Retieves information about the authenticated user">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "uid": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Uid"
        },
        "graph_ids": {
          "items": {
            "type": "string"
          },
          "title": "Graph Ids",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "GetUserOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_graph_id_options — Retrieves available options for the GraphId field">
    ### Response

    ```json theme={null}
    {
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "graph_ids": {
          "items": {
            "type": "string"
          },
          "title": "Graph Ids",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListGraphIdOptionsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_links — Retieve all links for a graph">
    ### Parameters

    <ResponseField name="graph_id" type="string" required>
      The graph identifier
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "LinkItem": {
          "additionalProperties": false,
          "description": "A link object returned by the Reflect API.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "url": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Url"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "description": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Description"
            },
            "updated_at": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Updated At"
            }
          },
          "title": "LinkItem",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "links": {
          "items": {
            "$ref": "#/$defs/LinkItem"
          },
          "title": "Links",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListLinksOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* No documented rate limits from the Reflect API.
* Error model: non-2xx responses and timeouts are caught and returned as `success=False` + `error` rather than raising.

## Related integrations

<CardGroup cols={3}>
  <Card title="Grain" href="/integrations/tools/grain" />

  <Card title="Granola" href="/integrations/tools/granola" />

  <Card title="Obsidian" href="/integrations/tools/obsidian" />
</CardGroup>

## Links

* [Reflect](https://reflect.app)
