> ## 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.

# Sentry Integration for AI Agents & Workflows

> Error tracking and performance monitoring platform

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

<img className="block dark:hidden" src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/sentry-light.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=3b8a1f61c67f3f56af450e0ef7cd88c7" alt="Sentry logo" width="72" height="72" data-path="logos/sentry-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/modulexaillc/df8MOr-hXotYLTh5/logos/sentry-dark.svg?fit=max&auto=format&n=df8MOr-hXotYLTh5&q=85&s=f5820622d8fe16b3174a4f6ca770a2d4" alt="Sentry logo" width="72" height="72" data-path="logos/sentry-dark.svg" />

## Overview

Add **Sentry** to any ModuleX agent or workflow. Error tracking and performance monitoring platform integration against the Sentry REST API (`sentry.io/api/0`).

<Info>
  **Categories**: Monitoring & Observability · Developer Tools & Infrastructure · Monitoring · Error Tracking · **Auth**: Auth Token · **Actions**: 4
</Info>

## Authentication

### Auth Token

Use your Sentry Auth Token (internal integration token or user auth token)

<Steps>
  <Step title="Step 1">
    Go to Sentry Settings -> Developer Settings -> Internal Integrations
  </Step>

  <Step title="Step 2">
    Create a new internal integration or use an existing one
  </Step>

  <Step title="Step 3">
    Copy the token from the integration's credentials
  </Step>
</Steps>

#### Required Credentials

| Field           | Description                                                                                                                                                                           | Required | Format                                                |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------- |
| Auth Token      | Your Sentry Auth Token                                                                                                                                                                | Yes      | `sntrys_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
| Sentry Base URL | Sentry API base URL. Use [https://sentry.io](https://sentry.io) for US SaaS (default), [https://de.sentry.io](https://de.sentry.io) for Germany SaaS, or your self-hosted Sentry URL. | Yes      | `https://sentry.io`                                   |

## Available Actions

<AccordionGroup>
  <Accordion title="list_issue_events — Return a list of events bound to an issue">
    ### Parameters

    <ResponseField name="issue_id" type="string" required>
      The ID of the issue whose events to list
    </ResponseField>

    <ResponseField name="full" type="boolean">
      If true, include the full event body including the stacktrace
    </ResponseField>

    <ResponseField name="max_results" type="integer">
      Maximum number of results to return (Default: `100`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "EventSummary": {
          "additionalProperties": false,
          "description": "A Sentry event object.",
          "properties": {
            "event_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Event Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "message": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Message"
            },
            "platform": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Platform"
            },
            "date_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Date Created"
            },
            "date_received": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Date Received"
            },
            "tags": {
              "items": {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "object"
              },
              "title": "Tags",
              "type": "array"
            }
          },
          "title": "EventSummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "events": {
          "items": {
            "$ref": "#/$defs/EventSummary"
          },
          "title": "Events",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListIssueEventsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_project_events — Return a list of events bound to a project">
    ### Parameters

    <ResponseField name="organization_slug" type="string" required>
      The slug of the organization
    </ResponseField>

    <ResponseField name="project_slug" type="string" required>
      The slug of the project
    </ResponseField>

    <ResponseField name="full" type="boolean">
      If true, include the full event body including the stacktrace
    </ResponseField>

    <ResponseField name="max_results" type="integer">
      Maximum number of results to return (Default: `100`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "EventSummary": {
          "additionalProperties": false,
          "description": "A Sentry event object.",
          "properties": {
            "event_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Event Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "message": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Message"
            },
            "platform": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Platform"
            },
            "date_created": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Date Created"
            },
            "date_received": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Date Received"
            },
            "tags": {
              "items": {
                "additionalProperties": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": "object"
              },
              "title": "Tags",
              "type": "array"
            }
          },
          "title": "EventSummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "events": {
          "items": {
            "$ref": "#/$defs/EventSummary"
          },
          "title": "Events",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListProjectEventsOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="list_project_issues — Return a list of issues bound to a project">
    ### Parameters

    <ResponseField name="organization_slug" type="string" required>
      The slug of the organization
    </ResponseField>

    <ResponseField name="project_slug" type="string" required>
      The slug of the project
    </ResponseField>

    <ResponseField name="query" type="string">
      A Sentry structured search query. If not provided an implied 'is:unresolved' is assumed
    </ResponseField>

    <ResponseField name="stats_period" type="string">
      An optional stat period (e.g. '24h', '14d')
    </ResponseField>

    <ResponseField name="short_id_lookup" type="boolean">
      If true, short IDs are also looked up by this function
    </ResponseField>

    <ResponseField name="max_results" type="integer">
      Maximum number of results to return (Default: `100`)
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "IssueSummary": {
          "additionalProperties": false,
          "description": "A Sentry issue object.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "short_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Short Id"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "level": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Level"
            },
            "permalink": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Permalink"
            },
            "assigned_to": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Assigned To"
            },
            "has_seen": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Has Seen"
            },
            "is_bookmarked": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Is Bookmarked"
            },
            "is_public": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Is Public"
            },
            "count": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Count"
            },
            "first_seen": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "First Seen"
            },
            "last_seen": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Last Seen"
            }
          },
          "title": "IssueSummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "issues": {
          "items": {
            "$ref": "#/$defs/IssueSummary"
          },
          "title": "Issues",
          "type": "array"
        }
      },
      "required": [
        "success"
      ],
      "title": "ListProjectIssuesOutput",
      "type": "object"
    }
    ```
  </Accordion>

  <Accordion title="update_issue — Update an individual issue's attributes">
    ### Parameters

    <ResponseField name="issue_id" type="string" required>
      The ID of the issue to update
    </ResponseField>

    <ResponseField name="status" type="string">
      New status for the issue: resolved, resolvedInNextRelease, unresolved, ignored
    </ResponseField>

    <ResponseField name="assigned_to" type="string">
      The actor ID or username to assign to this issue
    </ResponseField>

    <ResponseField name="has_seen" type="boolean">
      Changes the flag indicating if the user has seen the event
    </ResponseField>

    <ResponseField name="is_bookmarked" type="boolean">
      Changes the bookmark flag
    </ResponseField>

    <ResponseField name="is_public" type="boolean">
      Sets the issue to public or private
    </ResponseField>

    ### Response

    ```json theme={null}
    {
      "$defs": {
        "IssueSummary": {
          "additionalProperties": false,
          "description": "A Sentry issue object.",
          "properties": {
            "id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Id"
            },
            "title": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Title"
            },
            "short_id": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Short Id"
            },
            "status": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Status"
            },
            "level": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Level"
            },
            "permalink": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Permalink"
            },
            "assigned_to": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Assigned To"
            },
            "has_seen": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Has Seen"
            },
            "is_bookmarked": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Is Bookmarked"
            },
            "is_public": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Is Public"
            },
            "count": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Count"
            },
            "first_seen": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "First Seen"
            },
            "last_seen": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Last Seen"
            }
          },
          "title": "IssueSummary",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "success": {
          "title": "Success",
          "type": "boolean"
        },
        "error": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Error"
        },
        "issue": {
          "anyOf": [
            {
              "$ref": "#/$defs/IssueSummary"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "required": [
        "success"
      ],
      "title": "UpdateIssueOutput",
      "type": "object"
    }
    ```
  </Accordion>
</AccordionGroup>

## Limits & Quotas

* **Rate limits**: Sentry applies per-organization rate limits. Typical limits are \~100 requests/second for the events API.
* **Pagination**: List endpoints use cursor-based pagination; the integration follows cursors up to `max_results`.
* **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="Datadog" href="/integrations/tools/datadog" />

  <Card title="Grafana" href="/integrations/tools/grafana" />

  <Card title="New Relic" href="/integrations/tools/new-relic" />
</CardGroup>

## Links

* [Sentry](https://sentry.io)
