Skip to main content
In this quickstart, an agent summarizes a short product update in exactly two bullet points. A separate grader checks the summary against your rubric and sends it back until it passes. You’ll do each step in the console or with code, and finish with a verdict you can read.

Before you begin

  • An account. The first time you sign in, Recursion creates your tenant and its Default organization, and makes you the primary owner, so you can do everything on this page. See Organizations and roles.
  • For the code path: Node.js with @labelbox/recursion-sdk, or curl and jq. See Install the SDK. From Python, send the cURL requests with your HTTP client; see Python and other languages.

1. Sign in

  1. Open the Recursion console.
  2. Tick the box to agree to the Terms of Service, Privacy Policy, and Release Agreement.
  3. Click Continue with Google, and sign in with a verified email address.
The console opens on Agents. If you see Sign-in is limited to approved accounts., the email address you used isn’t approved to sign in.

2. Create an API key

Skip this step if you’ll use only the console.
  1. In the sidebar, click API keys, then Create key.
  2. Enter quickstart in Name.
  3. Choose 7 days in Expires.
  4. In Scope, choose Default instead of Tenant. This makes an organization-scoped key, which needs no extra headers.
  5. Click Create key, then copy the key. It starts with rma_ and is shown only once.
Export it in the shell where you’ll run the code:
The TypeScript samples below assume the rl client from Client setup. Keep the key out of source files and chat messages. See API keys.

3. Create an environment

An environment is where the agent’s sandbox runs. This task needs no extra software and no internet access.
  1. In the sidebar, click Environments, then Create environment.
  2. Enter Quickstart sandbox in Name.
  3. Choose Agent runner in Runtime.
  4. Leave Internet access set to No access, and leave the setup script empty.
  5. Click Create environment.
The response is the saved environment. With no setup script, it needs no verification run. Some of its fields:

4. Create an agent

An agent is the model and instructions. Use a modelId from listModels; anthropic/claude-sonnet-5 is an example.
  1. In the sidebar, click Agents, then Create agent.
  2. Click the Blank card.
  3. Enter Update summarizer in Name.
  4. Choose a model in Model.
  5. Enter this System prompt:
  6. Click Create agent.
The response is the saved agent. These are the fields the next step uses:

5. Start a graded session

The task and the facts to summarize go straight into the outcome, so there’s nothing to upload. The rubric tells the grader what “done” means.
  1. Open Update summarizer under Agents, then click Start session.
  2. Choose Quickstart sandbox in Environment.
  3. Under Task, tick Grade this session against a rubric.
  4. Replace the text in Rubric with:
  5. Enter this in Opening message:
  6. Click Launch session. The console opens the session while the sandbox starts.
The start returns 202 Accepted right away. The agent works in the background.
The code samples cap grading at three passes with max_iterations. The console sends no cap, so the agent revises until the grader is satisfied.

6. Read the verdict

The work is done when the newest outcome’s status is terminal. It passed when terminal_result is satisfied. This usually takes a minute or two.
  1. Watch the transcript: the agent’s two bullet points appear as it works.
  2. Click Outcome above the transcript.
  3. Confirm the result is satisfied and that each criterion shows pass with the grader’s rationale.
A passing result includes these fields. The first grading pass is iteration 0.

What happened

  • The session froze the agent version and the environment, so editing either now won’t change this run.
  • The agent worked in its own sandbox and answered in the transcript. Every step was recorded as an event.
  • After the agent’s turn, the grader checked each rubric criterion. A failing criterion would have sent the grader’s rationale back to the agent for another attempt.
  • satisfied means no criterion failed in the final grading pass. The session’s execution_state is now completed, with stop_reason: "outcome_satisfied".
To continue, send a follow-up message from the console composer or with sendSessionEvents. The session resumes in the same sandbox if it still exists.

What can go wrong

See Troubleshooting and Errors for more, and Limits for every limit.

Next steps

How it works

See how sessions, credentials, and grading fit together.

Define outcomes

Write rubrics that grade reliably, and read every grading pass.

Give your agent tools

Add web search, MCP servers, and skills.

Store credentials

Give agents tokens and secrets without putting them in a prompt.