# Start a Run

> Invoke a deployed Agent through a canonical event with a stable session and JSON input.

## Before you begin {#before-you-begin}

Deploy an Agent and ensure its Resource bindings resolve for the authenticated tenant, customer, or principal. Choose a stable session identifier that represents the conversation, workflow, or customer-owned durable history. Prepare JSON input that the Agent understands.

## Steps {#steps}

1. Open **Runs** and choose **Start Run**.
2. Select the deployed Agent.
3. Enter the stable session identifier.
4. Provide canonical JSON event data.
5. Choose **Queue** for durable asynchronous acceptance or **Live** when streaming authority is available.
6. Submit the event and wait for the accepted Run identity.
7. Open the Run detail page.

Constal authorizes the same resolved execution snapshot it persists. A queued event may wait behind an existing top-level Run in the session, but its acceptance identity remains explicit.

## Verify {#verify}

Confirm the result contains a Run id and that the detail page shows the chosen Agent, session, status, budget, and journal. Copy the full Run address when using the API; the serial Run id alone is not sufficient context.

## Next steps {#next-steps}

Continue with [Operate Runs](/docs/runs/operate.md) or configure authenticated ingress through [Channels](/docs/channels.md).
