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

# Verify Your Corbado Observe Integration

> Confirm that Corbado Observe events arrive with the expected payload using debug mode, the Corbado Observe Debugger extension and the management console.

Before you consider an integration finished, confirm that events actually arrive and carry the payload you expect.

## 1. The three tools

| Tool                                                                            | Use it for                                                                                                                                                                                    |
| ------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Debug mode**                                                                  | Set `debug: true` at initialization and Observe logs every tracked event to the console. Fastest check that a call site fires at all.                                                         |
| **[Corbado Observe Debugger](/corbado-observe/tools/devtools-extension)**       | A Chrome DevTools extension with a filterable live stream of what actually leaves the browser, plus the current session ID and user references. Works for both Autocapture and custom events. |
| **[Management console](https://app.corbado.com/observe/debugging/integration)** | Confirms events were accepted and modeled correctly. Use the events view for the raw stream and user search to reconstruct one journey end to end.                                            |

## 2. Walkthrough

<Steps>
  <Step title="Walk each journey">
    Complete a login, a sign-up, a recovery and an enrollment, whichever exist in your product.
  </Step>

  <Step title="Confirm the events">
    With debug mode or the Observe Debugger extension open, check that each journey produces exactly one flow start, one decision per presented screen, the expected steps and a finish event. Duplicates from re-renders and a missing finish before a redirect are the two most common defects. Compare against the [journey catalog](/corbado-observe/tracking/modeling#6-journey-catalog).
  </Step>

  <Step title="Check one journey in the console">
    Find a test journey via user search and confirm the flow, subflows and decisions look the way you expect.
  </Step>

  <Step title="Check a failure">
    Cancel a passkey dialog and confirm it appears as an incomplete journey rather than disappearing. Silent failures produce no backend request at all, so this is the case worth checking explicitly.
  </Step>
</Steps>

## 3. When data appears

Data appears in stages. Raw events are visible in the console's events view right after ingestion. Flows, decisions and subflows appear after the next classification run, which happens about a minute later. Funnels and charts refresh with the next pre-calculation run, a few minutes after that. If a journey is missing from a chart but present in the events view, wait before debugging.

## 4. Common issues

| Symptom                                                                        | Likely cause                                                                                                                                                                                                                                       |
| ------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| No events at all                                                               | Script not loaded, wrong `Project ID` or `API Base URL` or a Content Security Policy blocking the script or the API endpoint                                                                                                                       |
| Events arrive but no WebAuthn detail                                           | A password manager with locked WebAuthn accessors, or the SDK is not running in the frame that performs the ceremony. See [Constraints](/corbado-observe/overview/constraints#5-autocapture-limitations)                                           |
| Journeys break in the middle                                                   | The SDK initializes too late, pages use different project IDs, or a reload starts a new session after inactivity. Check [session lifetime](/corbado-observe/overview/constraints#7-storage-and-consent) and the project’s continuity configuration |
| Journeys from different environments mixed                                     | Production and staging share a project. Use [separate projects per environment](/corbado-observe/overview/constraints#8-projects-environments-and-hosting)                                                                                         |
| Events arrive, but the whole session has no flows                              | A `flowFinished()` or `flowDecided()` fired without an open flow. That invalidates the session's classification. See [ordering](/corbado-observe/tracking/flows#3-ordering)                                                                        |
| A nested sign-up or recovery shows as incomplete although the user finished it | The outer flow's `flowStarted()` fired again while the nested flow was open, for example from a remounted route. See [flows](/corbado-observe/tracking/flows#2-1-flowstarted)                                                                      |
| A decision is missing although both events fired                               | The `explicitDecisionValue` is not one of the declared `options`, or `finished` carried a different options array. See [decisions](/corbado-observe/tracking/decisions#3-decision-events)                                                          |
| A passkey attempt is missing                                                   | No `explicitSpecType` arrived on any of its events. See [spec types](/corbado-observe/tracking/subflows#1-3-spec-types)                                                                                                                            |

## 5. Next steps

<CardGroup cols={2}>
  <Card title="Corbado Observe Debugger" icon="chrome" href="/corbado-observe/tools/devtools-extension">
    Live event inspection in Chrome DevTools.
  </Card>

  <Card title="Tracking reference" icon="diagram-project" href="/corbado-observe/tracking/overview">
    What the event names and fields mean.
  </Card>
</CardGroup>
