Recorder (Beta) - Record and Replay Browser Workflows
RECORDER
BETA

Record and Replay Workflows

Record your browser actions once, replay them forever. The recorder captures what you do and creates replayable workflows with self-healing selectors.

Beta Feature

The recorder is functional but still being refined. Some complex workflows may require manual adjustment. Feedback helps us improve it.

How logins persist

Browser Agent uses a persistent browser profile stored at:

~/.rird/browser-profile/

When you log into any site (Gmail, LinkedIn, etc.), that login persists across all future sessions. You don't need to re-login each time - the browser remembers your sessions just like Chrome does.

1.

First time: Run any task that requires login. Browser opens, you log in manually when prompted.

2.

After that: The login is saved. Future tasks (and recordings) use the same session automatically.

3.

Multiple sites: Each site's login is stored independently. Log into LinkedIn once, Gmail once, etc.

How recording works

1
Start recording

Run the record command with a description of your goal.

2
Perform actions manually

A browser opens (already logged in if you've logged in before). Click, type, navigate - do the task yourself.

3
Stop recording

Press Ctrl+C when done. The recording is saved with a unique ID.

4
Replay anytime

Run the replay command with the recording ID. Uses the same persistent login session.

Commands

Start recording
rird record "fill out the contact form on example.com"

Opens browser and starts capturing your actions.

Replay a recording
rird replay "abc123"

Replays the workflow with the given recording ID.

Replay with input data
rird --replay "abc123" --replay-input data.csv

Replays the workflow multiple times with different input values from CSV.

Alternative syntax
rird --record "submit expenses in SAP"

Flag-based syntax works too.

Where recordings are stored

Recordings directory
~/.rird/recordings/

Each recording is saved as a JSON file with the recording ID as the filename. You can view, edit, or delete recordings directly from this folder.

Pre-login to sites

Before recording, you can log into sites using the login command:

Interactive login
rird > login linkedin

Opens browser, you log in manually, then type "done" to save.

Available services
login gmail | linkedin | twitter | facebook | outlook | calendar

After logging in once, all future tasks (including recordings and replays) will use that session.

What gets captured

CAPTURED
  • Clicks (buttons, links, elements)
  • Text input (forms, search boxes)
  • Dropdown selections
  • Page navigations
  • Scrolling (implicit)
  • Element selectors (multiple fallbacks)
AUTO-DETECTED
  • Email fields (becomes variable)
  • Name fields (becomes variable)
  • Phone fields (becomes variable)
  • Date fields (becomes variable)
  • Parameterizable inputs

Self-healing selectors

Recordings don't just capture one selector - they capture multiple ways to find each element:

# Priority order for finding elements:
1. data-mmid attribute (injected unique ID)
2. Element ID (#submit-btn)
3. Name attribute ([name="email"])
4. Text content ("Submit Form")
5. CSS class path (form > .btn-primary)
6. Visual description (vision fallback)

If the site changes and selector #1 fails, the runtime automatically tries #2, #3, etc. This is why recordings survive site updates better than traditional scripts.

Example workflow

# Record filling out a contact form
$ rird record "fill out contact form on acme.com"
[Recorder] Started recording: a1b2c3
[Recorder] Goal: fill out contact form on acme.com
[Recorder] Perform your task in the browser. Press Ctrl+C when done.
# Browser opens - you manually:
# - Navigate to acme.com/contact
# - Fill in name, email, message
# - Click submit
[Recorder] Stopped. Captured 6 actions.
[Recorder] Recording saved: a1b2c3
# Later, replay it:
$ rird replay "a1b2c3"

Variables and batch replay

When the recorder detects form fields (email, name, etc.), it converts them to variables. You can then replay the workflow with different values:

# data.csv
name,email,message
John,john@example.com,Hello there
Jane,jane@example.com,Quick question
# Replay for each row
$ rird --replay "a1b2c3" --replay-input data.csv

The workflow runs once per row, filling in the appropriate values each time.

Current limitations (beta)

-

Complex multi-page flows may need manual adjustment

-

Dynamic content (infinite scroll, lazy load) can be tricky

-

Timing-sensitive actions may require wait adjustments

-

File uploads during recording need special handling

-

iframes may not be fully captured

When to use recorder vs AI

USE RECORDER
  • Repetitive tasks with same steps
  • Internal tools with stable UI
  • Form submissions with variable data
  • Tasks you do daily/weekly
USE AI AGENT
  • Dynamic tasks that vary each time
  • Sites you haven't used before
  • Research and exploration
  • Complex decision-making
R
RIRD

Define the job. Come back to results.

Company

Trust

  • Credentials stay on your machine
  • Full activity logs
  • Air-gapped deployment available

2025 rird.ai - All rights reserved.