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

# Browserbase Agents

> Run your first browser agent in 1-minute.

Agents is the quickest way to get your first agent on the web. No framework or deployment required.

Create your Browserbase Agent from the dashboard by describing the goal in natural language.
Then, trigger runs using the Browserbase API or SDK.

## Quickstart

<Steps>
  <Step title="The Browserbase Agents page">
    Open the [Browserbase Dashboard on the Agents page](#):

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/dashboard.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=605d98d79afacaa4a8f32e6bc3a0bcc9" width="2926" height="1842" data-path="images/quickstart/agents/dashboard.png" />
    </Frame>
  </Step>

  <Step title="Create your first browswerbase agent">
    Let's create a "Job Finder" agent, that, given a job title and a company name returns the best fit open position.

    Click on the top right "Create Agent" button, and provide the following `system prompt`:

    ```
    You are a job-finding agent. Each session gives you a company name and optionally a role or keyword. Find that company's official job listings and return the best matching open role.

    Discovery (never assume a careers URL):
    - Search the web for the company's careers page, e.g. "{company} careers".
    - Open the OFFICIAL source only: the company's own site (/careers, /jobs) or its real applicant tracking system (Greenhouse, Lever, Ashby, Workday, and similar). Confirm it's that specific company's board, not a generic list.
    - Never use job aggregators (LinkedIn, Indeed, Glassdoor, ZipRecruiter). They are gated, stale, and block bots. If only an aggregator is reachable, set found to false and stop.

    Extract:
    - Read the open roles. If a role or keyword was given, pick the single best
    match and count how many roles match.

    Rules:
    - Return only values you actually read from the page. Never invent a title,
    location, or link.
    - Read-only: do not log in, apply, enter personal info, or click Apply.
    - If no official board or no matching role is found, set found to false and
    leave the role fields empty rather than guessing.
    ```

    The above prompt define the agent's goal and scope its work by defining high-level steps and success definition.

    Now, let's instruct the desired structured output with a JSON Schema:

    ```json theme={null}
    {
      "type": "object",
      "properties": {
        "found": { "type": "boolean", "description": "Whether an official board with a matching role was located" },
        "roleTitle": { "type": "string", "description": "Title of the single best-matching open role" },
        "location": { "type": "string", "description": "Location of that role (city, Remote, etc.)" },
        "jobUrl": { "type": "string", "description": "Direct link to that role's posting" }
      },
      "required": ["found"]
    }
    ```

    Your "Job Finder" form should look as follow:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/create-agent.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=b642f6bcff05ba4aebb8f4aaf1880d67" width="3014" height="1652" data-path="images/quickstart/agents/create-agent.png" />
    </Frame>

    Click on "Create Agent"
  </Step>

  <Step title="Trigger our first agent run">
    Creating an agent redirects to its page where you can:

    * edit its config
    * quickly access key statistics (success rate, average duration)
    * runs list

    Let's kick off our first "Job Finder" run by clicking the top right "Run" button:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/create-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=4de64baa294c8cb974255c56d145e50e" width="906" height="614" data-path="images/quickstart/agents/create-agent-run.png" />
    </Frame>

    Provide your own prompt or use the following one:

    ```
      Backend engineer at Browserbase
    ```

    Then, click on "Run".
  </Step>

  <Step title="Our first agent run">
    Triggering an agent run redirects to the run view where you can inspect:

    * every step of the run: reasoning, actions and more
    * see the live browser session
    * interact with the timeline to inspect a specific step

    After a few minutes, our first run is complete!

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/first-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=97d8ae6ad9db3ac24adaf788910eb9e0" width="3016" height="1654" data-path="images/quickstart/agents/first-agent-run.png" />
    </Frame>

    Congratulations!
  </Step>

  <Step title="Optimizing our agent">
    A first agent run is always exploratory, the agent faces issues for the first time, resulting in a slow and repeated steps.

    Browserbase Agents provide an "Optimize" feature, available from the agent run view, that suggests optimization based on your
    agent's previous exploration.

    From our first agent run view, click on the "Optimize" button at the top right and select "Make it faster":

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/optimize-agent.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=f0419b6f39367fb07da7035b92763af7" width="3016" height="1648" data-path="images/quickstart/agents/optimize-agent.png" />
    </Frame>

    No matter what your selected prompt was, the Optimize tool will likely suggest to update your
    agent's prompt to always navigate to an Ashby page if available (*instead of exploring the company website*).

    By accepting the suggestion solution, the Optimize tool will update your agent's prompt and trigger a new run:

    <Frame>
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/optimize-agent-changes.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=ba1e41da1466c9e07d0de4e84f8732b8" width="836" height="1224" data-path="images/quickstart/agents/optimize-agent-changes.png" />
    </Frame>

    By updating the prompt, your agent should run now 30% quicker ⚡️

    <Frame caption="The Job Finder agent now ran in 2min instead of 3min">
      <img src="https://mintcdn.com/browserbase/Jh5xR9D0ypnXtndB/images/quickstart/agents/second-agent-run.png?fit=max&auto=format&n=Jh5xR9D0ypnXtndB&q=85&s=7a0761a132dc5741afff929bc5bd343e" width="3020" height="1642" data-path="images/quickstart/agents/second-agent-run.png" />
    </Frame>

    <Info>
      **When should I use the Optimize tool?**

      * If you want to speed up your agent
      * If your agent success rate is dropping, ask it to find solutions
    </Info>
  </Step>
</Steps>

Congratulations, your first Browserbase Agent is now up and running!

You can now [integrate it in your application using the Browserbase API or SDK](/platform/agents/integrate-api-sdk).

## Next steps

<CardGroup cols={2}>
  <Card title="Agents overview" icon="book-open" iconType="sharp-solid" href="/platform/agents/overview">
    Learn run states, configuration options, observability, and production notes.
  </Card>

  <Card title="How it works" icon="gear" iconType="sharp-solid" href="/platform/agents/how-it-works">
    The execution loop, built-in tools, run lifecycle, and session observability
  </Card>

  <Card title="Agents API reference" icon="code" iconType="sharp-solid" href="/reference/api/run-an-agent">
    Dive into the Agents API endpoint to create an agent and manage runs.
  </Card>

  <Card title="Browser agents use case" icon="book" iconType="sharp-solid" href="/use-cases/agents">
    Understand when to use Agents versus a custom browser-agent stack.
  </Card>
</CardGroup>
