Skip to content

Getting started.

Five steps from nothing to an issue your agent can pick up.

Five steps

  1. 1

    Create a project

    Sign up, name your organisation, and create a project under Settings. Open its Keys tab and create a key; that issues the DSN:

    dsn
    https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123
    • public key, 32-char hex
    • ingest host
    • project id
  2. 2

    Install the SDK and give it the DSN

    Laravel

    shell
    composer require sentry/sentry-laravel
    .env
    SENTRY_LARAVEL_DSN=https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123

    On Laravel 11 and newer, add Integration::handles($exceptions) inside withExceptions() in bootstrap/app.php so unhandled exceptions reach the reporter. Queue workers are covered by the same call.

    PHP, no framework

    shell
    composer require sentry/sentry
    bootstrap.php
    \Sentry\init(['dsn' => 'https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123']);

    Node

    shell
    npm install @sentry/node
    instrument.mjs
    import * as Sentry from '@sentry/node';
    
    Sentry.init({ dsn: 'https://9f2c1a7b4e6d8054a3f1c9b27e0d5a83@ingest.parsemend.com/4507123' });

    Load it before the rest of your app so the instrumentation is in place first: node --import ./instrument.mjs server.mjs.

  3. 3

    Send one event

    Laravel: shell
    php artisan sentry:test
    PHP, no framework: php
    \Sentry\captureException(new \RuntimeException('hello parsemend'));
    \Sentry\flush();
    Node: node
    Sentry.captureException(new Error('hello parsemend'));
    await Sentry.flush(2000);

    Nothing arriving usually means the DSN is unset in that environment.

  4. 4

    Add an alert rule

    In the dashboard, add a rule for new issues and regressions and send it to email, Slack, Discord, or a webhook that starts your agent.

  5. 5

    Connect your agentDeveloper

    shell
    npm install -g @parsemend/cli
    parsemend login
    shell
    claude mcp add parsemend -- parsemend mcp
    shell
    codex mcp add parsemend -- parsemend mcp
    ~/.cursor/mcp.json
    {
      "mcpServers": {
        "parsemend": {
          "command": "parsemend",
          "args": ["mcp"]
        }
      }
    }
    mcp config
    {
      "mcpServers": {
        "parsemend": {
          "command": "parsemend",
          "args": ["mcp"]
        }
      }
    }

    To run it on every alert, see agents and automation.

SDK compatibility

verified: run end to end. expected: same protocol, not yet run by us.

Which SDKs we have actually run
SDKTested versionStatus
sentry/sentry (PHP)4.29.0verified
@sentry/node10.64.0verified
@sentry/browser—expected
sentry-python—expected
sentry-ruby—expected
sentry-go—expected

Ingest limits

Retention follows your plan: 30 days on Free, 90 on Developer.

Envelope endpoint
POST /api/{project_id}/envelope
Legacy endpoint
POST /api/{project_id}/store
Content-Encoding
gzip, deflate, identity
Max compressed body
20 MiB
Max decompressed body
200 MiB
Max item size
1 MiB
Default rate limit
300 events / 60s per key

Every flag and edge case is in the customer docs.