Skip to content

Projects

A Project is the fundamental unit of work in RTILA X. Think of it as a complete blueprint for a web automation task. Each project contains everything needed to tell RTILA exactly what to do: which pages to visit, which buttons to click, what data to collect, and where to send the results.

Every automation you build — whether it scrapes product prices, fills out forms, or monitors a website — lives inside a project. Understanding how projects work is the first step to mastering RTILA X.

Project list showing multiple automation projects with names, folders, and browser profiles


Every project in RTILA X contains the following components:

Component Type Description
name String A human-readable display name for the project. Auto-generated if not provided.
settings Object Configuration options that control how the automation runs (URLs, timeouts, browser behavior, logging).
commands Array An ordered list of actions the automation will perform (click, fill, navigate, extract, etc.).
datasets Object Definitions of what data to extract from web pages, including selectors and property mappings.
triggers Array Post-execution actions that send your scraped data to external destinations (databases, APIs, email, etc.).
remote Object Configuration for remote execution via API (enabled flag, API key).
folder String The workspace folder this project belongs to. Defaults to “Default”.

The settings object inside a project controls the runtime behavior:

Field Type Default Description
urls Array of strings ["https://rtila.net/pub/onboarding"] Starting URLs the browser will visit. One URL per entry.
headless Boolean false If true, the browser runs without a visible window.
ai_self_correction Boolean false When enabled, failed scripts are automatically repaired by the AI and retried.
network_interception_enabled Boolean false Intercepts API responses to auto-build datasets when the project has no commands/datasets.
navigation_timeout Number (ms) 30000 Maximum time to wait for a page to load before giving up.
max_concurrent_workers Number 1 Number of parallel browser tabs to use.
user_agent String or null null Custom browser user-agent string. null uses the browser default.
get_urls_from_sitemap Object {enabled: false, include: [], exclude: []} Sitemap URL discovery settings.
respect_robots_txt Boolean false If true, RTILA will not visit URLs disallowed by the site’s robots.txt.
block_resources Object {enabled: false, types: []} Resource blocking settings to speed up page loads.
logging Object {level: 2, filename: null} Logging level and optional file output.
variables Array [] Project-scoped variables available in commands.
browserProfileId String or null null ID of the Browser Profile to use. null uses default settings.
skip_initial_navigation Boolean false Skips the initial page navigation on start.
proxyEnabled Boolean false Enables proxy routing.
proxyList String "" Newline-separated list of proxy URLs.
proxyLevel String "context" Proxy scope: "context" or "browser".
matchTimezoneAndLocale Boolean false Aligns browser timezone/locale with proxy location.
captchaEnabled Boolean false Enables automatic CAPTCHA solving.
captchaProvider String "2captcha" CAPTCHA solving service.
captchaApiKey String "" API key for the CAPTCHA service.
humanoidEnabled Boolean true Enables human-like mouse movements and typing.
humanoidSensitivity String "medium" Sensitivity level: "low", "medium", or "high".

The commands array holds the step-by-step instructions. Each command object has:

Field Type Description
command String The command type (e.g., "goto", "click", "extract_data").
name String A human-readable display name for this step.
params Object Command-specific parameters.
then Array Optional nested commands that run after this command completes.

The datasets object maps dataset names to extraction configurations:

Field Type Description
item_selector String CSS/XPath selector for the repeating parent container.
properties Array List of fields to extract from each item.
required_fields Array Field names that must have values for a record to be valid.
parent String or null Name of a parent dataset for inheritance.
Field Type Description
enabled Boolean Whether remote execution is enabled.
api_key String or null The API key for authenticating remote triggers.

There are four ways to create a new project in RTILA X:

  1. Navigate to Automation Projects in the sidebar.
  2. Click New in the ribbon toolbar.
  3. The Project Settings modal opens automatically.
  4. Enter a project name (or keep the auto-generated spider name).
  5. Add your starting URL(s).
  6. Configure any additional settings.
  7. Click Save.

The project is now created and ready for you to add commands and datasets.

  1. Navigate to Automation Projects.
  2. Click Record in the ribbon toolbar.
  3. A new project is created and the Visual Builder browser opens with recording active.
  4. Perform your actions in the browser — RTILA records every click, fill, and navigation.
  5. Press Alt+Shift+X (Windows/Linux) or Option+Shift+X (Mac) to stop recording.
  6. Return to RTILA X to review and edit the recorded commands.
  1. Navigate to AI Assistant in the sidebar.
  2. Describe what you want to automate in plain English. For example:

“Go to https://example.com/products and extract all product names and prices.”

  1. The AI analyzes the page, generates commands and datasets, and creates the project.
  2. Click Run Project to execute it immediately.
  1. Navigate to Automation Projects.
  2. Click Import in the ribbon toolbar.
  3. Select a .json file exported from another RTILA X installation.
  4. The project is imported. If a project with the same name exists, it is renamed automatically.
  1. On the AI Assistant welcome screen, click Explore Templates.
  2. Browse available templates organized by platform.
  3. Click a template to import it as a new project.

The Project Settings modal is where you configure every aspect of how your automation runs. Access it by selecting a project and clicking Settings in the ribbon.

Project Settings modal showing the General tab with project name and starting URLs

Property Details
Field Project Name
Type Text input
Required Yes
Default Auto-generated spider name (e.g., “Agile Tarantula - Data Extractor”)
Description The display name for your project. Shown in the project list, logs, and notifications.

RTILA X auto-generates creative spider-themed names when you create a new project. The name is composed of three parts:

  • Adjective: Agile, Apex, Astral, Atomic, Bionic, Cobalt, Crimson, Cyber, Dark, Echo, Electric, Emerald, Ghost, Glitch, Hyper, Iron, Luminous, Lunar, Mecha, Neon, Ninja, Nocturnal, Onyx, Phantom, Predatory, Quantum, Shadow, Silent, Solar, Sonic, Stealthy, Stellar, Swift, Titan, Toxic, Velvet, Venomous, Void
  • Species: Tarantula, Orb-Weaver, Huntsman, Wolf Spider, Jumping Spider, Widow, Recluse, Trapdoor Spider, Net-Caster, Crab Spider, Lynx Spider, Funnel-Web, Cellar Spider, Wandering Spider, Bolas Spider, Diving Spider, Weaver, Spinner, Crawler
  • Capability: Data Extractor, DOM Navigator, Web Scraper, Pixel Crawler, Link Stalker, Net Spinner, Code Weaver, Site Hunter, Data Miner, Grid Walker

You can rename the project at any time.

Property Details
Field Starting URLs
Type Multi-line textarea
Required No (defaults to onboarding page)
Default https://rtila.net/pub/onboarding
Description The URLs your automation will visit. Enter one URL per line.

When you have multiple URLs and multiple workers enabled, RTILA distributes URLs across workers for parallel processing.

Tip: Leave this field blank if you want to start with the default onboarding page. You can also use variables here: https://example.com/search?q=${search_term}.

Property Details
Field User Agent
Type Text input
Required No
Default null (uses browser default)
Description Custom browser user-agent string. Some websites check this to determine if you’re a real browser.

Warning: Changing the user agent can make your automation more or less detectable. Only change this if you know what you’re doing.

Property Details
Field Navigation Timeout
Type Number (milliseconds)
Required No
Default 30000 (30 seconds)
Description Maximum time RTILA will wait for a page to load before moving on or failing.

Increase this value for slow websites. Decrease it if you want RTILA to fail faster on unresponsive pages.

Property Details
Field Max Concurrent Workers
Type Number
Required No
Default 1
Description Number of browser tabs that run in parallel. Each worker processes a different URL from your Starting URLs list.

Tip: More workers means faster processing but uses more RAM. Start with 1–2 workers and increase if your computer can handle it.

Property Details
Field Run in headless mode
Type Checkbox
Required No
Default Unchecked (browser is visible)
Description When enabled, the browser runs without a visible window. Useful for scheduled/background runs.

Warning: Some websites detect headless browsers more easily. If your automation fails in headless mode, try disabling it.

Property Details
Field Respect robots.txt
Type Checkbox
Required No
Default Unchecked
Description When enabled, RTILA will check the website’s robots.txt file and skip any URLs that are disallowed for crawling.

Variables let you create reusable values that can be referenced anywhere in your commands and datasets. Think of them as placeholders that get filled in at runtime.

Variables tab showing a list of defined variables with edit and remove buttons

Each variable has the following properties:

Property Type Required Default Description
Name Text Yes — The variable identifier. Used as ${name} in commands. Must be unique within the project.
Value Text (multi-line) Yes — The default value. Can contain multiple lines for list variables.
Description Text No — Optional note explaining what this variable is for.
Required Checkbox No Unchecked If checked, the user must provide a value before the project can run.
Secure Checkbox No Unchecked Masks the value in the UI (shown as dots). Use for passwords and API keys.
List Checkbox No Unchecked Treats the value as multiple items (one per line) for iterative loops.
  1. Open the Variables tab in Project Settings.
  2. Click Add Variable.
  3. Fill in the Name and Value fields.
  4. Optionally add a Description.
  5. Toggle Required, Secure, or List as needed.
  6. Click Save.

Reference variables using the ${variable_name} syntax:

${search_term}
${target_url}
${api_key}

You can also use JavaScript expressions inside the curly braces:

${item.split(';')[0].trim()}
${price * 1.2}
${target_url.split('/')[0]}

When you enable the List checkbox, the value field accepts multiple items — one per line:

john;admin;user1
jane;editor;user2
bob;viewer;user3

Each line becomes a separate iteration when used in a for_each loop. If your values contain multiple columns separated by semicolons (;), you can access individual columns using JavaScript:

  • ${item.split(';')[0].trim()} → john
  • ${item.split(';')[1].trim()} → admin
  • ${item.split(';')[2].trim()} → user1

Tip: The right-click context menu in the Visual Builder automatically detects CSV columns and offers them as insertion options.

RTILA X supports Global Variables (defined in Preferences → Global Variables). If a project variable has the exact same name as a global variable, RTILA automatically fills the project variable with the global variable’s value at runtime.

Example:

  • Global variable: api_key = "sk-abc123"
  • Project variable: api_key = "" (empty)

At runtime, the project variable api_key is automatically populated with "sk-abc123".

This is useful for sharing credentials across multiple projects without re-entering them.


The Advanced tab contains settings for AI features, network interception, sitemap discovery, resource blocking, and logging.

Advanced tab showing AI Self-Correction toggle, Network Interception toggle, Sitemap Discovery section, Resource Blocking section, and Logging section

Property Details
Field AI Self-Correction
Type Checkbox
Required No
Default Unchecked
Description When enabled, if a script command fails during execution, RTILA sends the error to the AI, which rewrites the script and retries it (up to 3 attempts).

Tip: Enable this for automations that interact with dynamic websites where selectors might change frequently.

Property Details
Field Smart Network API Interception
Type Checkbox
Required No
Default Unchecked
Description When enabled and the project has 0 datasets and 0 commands, RTILA intercepts XHR/Fetch API responses and auto-builds datasets from the JSON data.

This is useful for modern single-page applications (SPAs) that load data via API calls rather than rendering it in the HTML.

Property Type Required Default Description
Discover URLs from sitemap.xml Checkbox No Unchecked Automatically discovers URLs from the site’s sitemap.xml file.
Include URLs (regex) Multi-line text No Empty Only include sitemap URLs matching these regex patterns (one per line).
Exclude URLs (regex) Multi-line text No Empty Exclude sitemap URLs matching these regex patterns (one per line).

When enabled, RTILA fetches the robots.txt file for your starting URL, finds all declared sitemaps, downloads them, and adds matching URLs to your project’s URL queue.

Example Include pattern: /products/ Example Exclude pattern: /login|/admin

Property Type Required Default Description
Enable Resource Blocking Checkbox No Unchecked Blocks specific resource types from loading to speed up page loads.
Resource types to block Multi-select No None selected Which resource types to block.

Available resource types to block:

Type Description
document HTML documents
stylesheet CSS stylesheets
image Images
media Audio/video files
font Web fonts
script JavaScript files
texttrack Text tracks
xhr XMLHttpRequest calls
fetch Fetch API calls
eventsource Server-sent events
websocket WebSocket connections
manifest Web app manifests
other Other resource types

Tip: Blocking images and stylesheets can dramatically speed up scraping if you only need text data. But be careful — some websites require JavaScript to render content.

Property Type Required Default Description
Logging Level Dropdown No INFO (level 2) Minimum severity level to record.
Log to file Text input No Empty (console only) File path for log output. Leave empty for console-only logging.

Available logging levels:

Level Value Description
CONSOLE 0 All messages including debug output
DEBUG 1 Detailed diagnostic information
INFO 2 General informational messages (default)
WARN 3 Warning messages only
ERROR 4 Error messages only
CRITICAL 5 Critical failures only

Cloning creates an exact copy of a project, useful when you want to create variations without modifying the original.

  1. Select the project in the project list.
  2. Click Clone in the ribbon toolbar.
  3. A copy is created with “ (Copy)” appended to the name.
  4. The clone’s remote execution settings are reset (disabled, no API key).

Note: The clone gets a new unique ID. It is a completely independent project.


Every time you save changes to a project, RTILA automatically creates a snapshot. You can view, restore, or delete any previous version.

History modal showing a list of versions with radio buttons, timestamps, and Restore/Delete buttons

  1. Select the project.
  2. Click History in the ribbon toolbar.
  3. A modal shows all saved versions with timestamps.
  1. Open the History modal.
  2. Select the version you want to restore (radio button).
  3. Click Restore.
  4. The project’s commands, datasets, and settings are reverted to that version.

Warning: Restoring a version overwrites the current project configuration. Make sure you want to revert before confirming.

  1. Open the History modal.
  2. Click the Delete button next to the version you want to remove.
  3. Confirm the deletion.

Note: Deleting a version is permanent and cannot be undone.


Exporting saves your project as a .json file that can be shared or imported on another machine.

  1. Select the project.
  2. Click Export in the ribbon toolbar.
  3. Choose a save location.
  4. The project is saved as ProjectName.json.

The exported file contains the complete project configuration: name, settings, commands, datasets, and folder assignment.


  1. Click Import in the ribbon toolbar.
  2. Select a .json file.
  3. The project is imported.
  4. If a project with the same name already exists, the imported project is renamed with a numeric suffix (e.g., “Project Name (1)”).

  1. Select the project.
  2. Click Delete in the ribbon toolbar.
  3. A confirmation dialog appears.
  4. Click Delete to confirm.

Warning: Deleting a project permanently removes:

  • The project configuration
  • All associated sessions (run history)
  • All execution logs
  • All scraped data collections
  • All project history versions

This action cannot be undone.


Projects can be organized into folders for easier management. See Project Folders for detailed documentation.