Building Standalone Bots
Standalone Bots are one of RTILA X’s most powerful features. They let you package your automation as a self-contained executable file that runs independently — no RTILA X installation needed. You can distribute these bots to clients, deploy them on servers, or sell them as products.
Think of it this way: you build the automation in RTILA X, and then you “bottle it up” into a standalone program that anyone can run, even if they’ve never heard of RTILA X.
Premium Feature: Standalone Bots are available on paid plans. The free community license does not include bot export. See Licensing for details.

Why Build Standalone Bots?
Section titled “Why Build Standalone Bots?”| Use Case | Description |
|---|---|
| Sell to clients | Package your automation and sell it as a product. Clients run it without needing RTILA X. |
| Deploy to servers | Run your automation on a server that doesn’t have RTILA X installed. |
| Distribute to team members | Share your automation with team members who don’t have RTILA X licenses. |
| White-label products | Brand the bot with your own company name using the Credit Label feature. |
| Demo and trials | Give potential clients a working demo of your automation. |
| Freelance deliverables | Deliver a working automation as a standalone file. |
How Standalone Bots Work
Section titled “How Standalone Bots Work”Here’s the high-level flow:
- You build an automation project in RTILA X using the Visual Builder or AI Assistant.
- You create a Standalone Bot from that project, configuring its name, branding, and security.
- RTILA X encrypts the project configuration using AES-GCM encryption and uploads it to the RTILA Snips server.
- RTILA X packages the bot as a compressed archive containing the RTILA engine and a reference to the encrypted configuration.
- You download the archive and distribute it.
- The recipient extracts and runs the bot. The bot fetches its configuration from the RTILA Snips server, decrypts it, and runs the automation.
Bot Configuration
Section titled “Bot Configuration”When you create a standalone bot, you configure the following settings:
| Setting | Type | Required | Description |
|---|---|---|---|
| Bot Name | Text | ✅ Yes | The display name for your bot. This is what recipients will see. |
| Source Project | Dropdown | ✅ Yes | The RTILA X project to package. Select from your existing projects. |
| Credit Label | Text | No | Your branding text (e.g., “Powered by MyCompany”). Shown when the bot runs. |
| Visibility | Select | ✅ Yes | Who can run the bot: public (anyone) or password (password required). |
| Password | Text | If password | The password required to run the bot. Only used when visibility is “password”. |
| Active | Toggle | No | Whether the bot is active. Inactive bots cannot be run. Default: On. |
Building a Bot: Step-by-Step
Section titled “Building a Bot: Step-by-Step”Step 1: Navigate to Standalone Bots
Section titled “Step 1: Navigate to Standalone Bots”- Go to Standalone Bots in the sidebar (the robot icon).
- You’ll see a list of your existing bots (if any).
Step 2: Create a New Bot
Section titled “Step 2: Create a New Bot”- Click New Bot in the top-right corner.
- The Bot Configuration form opens.
Step 3: Configure the Bot
Section titled “Step 3: Configure the Bot”Fill in the bot configuration:
-
Bot Name — Enter a descriptive name for your bot. Example: “Amazon Price Scraper” or “Daily Report Generator”.
-
Source Project — Select the RTILA X project you want to package. The dropdown shows all your projects.
-
Credit Label (optional) — Enter your branding text. This text is displayed when the bot runs. Example: “Powered by MyCompany” or “Built with RTILA X”. Leave empty for no branding.
-
Visibility — Choose who can run the bot:
- Public — Anyone who has the bot file can run it without a password.
- Password Protected — Users must enter a password to run the bot.
-
Password (if Password Protected) — Enter the password that users will need to enter to run the bot. Minimum 8 characters recommended.
-
Active — Toggle whether the bot is active. Default is On.
Step 4: Save and Upload
Section titled “Step 4: Save and Upload”- Click Save & Upload.
- RTILA X does the following:
a. Reads the project configuration from your selected project.
b. Encrypts the configuration using AES-GCM encryption.
c. Uploads the encrypted configuration to the RTILA Snips server.
d. Receives a
snips_id(a unique identifier for the uploaded configuration). e. Creates a bot record in your local database. - A success notification appears.
Step 5: Download the Bot Archive
Section titled “Step 5: Download the Bot Archive”- In the bots list, find your newly created bot.
- Click the Download Archive button (download icon).
- Choose a destination folder on your computer.
- RTILA X packages the bot and saves the archive:
- Windows:
.zipfile - Mac/Linux:
.tar.gzfile
- Windows:
- The archive is saved to your chosen destination.
Password Protection
Section titled “Password Protection”How Password Protection Works
Section titled “How Password Protection Works”When you set a bot’s visibility to “Password Protected”:
- The password is stored in the bot’s encrypted configuration on the RTILA Snips server.
- When someone runs the bot, they are prompted to enter the password.
- The entered password is compared against the stored password using a timing-safe comparison (to prevent timing attacks).
- If the password matches, the bot runs. If it doesn’t match, the user is prompted again.
- After 5 failed attempts, the bot exits and cannot be run again without restarting.
Password Prompt Flow
Section titled “Password Prompt Flow”User runs the bot │ ▼"This bot is password protected.""Please enter the bot password:" │ ▼ User enters password │ ├── Correct → Bot runs normally │ └── Incorrect → "Incorrect password. X attempts remaining." │ └── After 5 failures → Bot exitsRevoking Access
Section titled “Revoking Access”You can revoke access to a distributed bot by changing its password:
- Go to Standalone Bots.
- Click the edit icon next to the bot.
- Change the password to a new value.
- Click Save & Upload.
- The old password immediately stops working. Anyone with the old password can no longer run the bot.
Important: Changing the password does NOT update bots that have already been distributed. Users who already have the bot file will need to download the new version. However, since the password is checked against the server, the old password will stop working immediately.
Password Protection vs. Public
Section titled “Password Protection vs. Public”| Aspect | Public | Password Protected |
|---|---|---|
| Who can run it | Anyone with the file | Only users who know the password |
| Password prompt | No | Yes — shown on every launch |
| Failed attempts | N/A | Maximum 5 attempts before exit |
| Revoking access | Not possible (anyone with the file can run it) | Change the password to revoke access |
| Best for | Free distribution, demos | Paid products, client deliverables |
Bot Encryption
Section titled “Bot Encryption”RTILA X uses AES-GCM (Advanced Encryption Standard - Galois/Counter Mode) to encrypt your bot configuration before uploading it to the Snips server. This ensures that:
- Your automation logic (commands, selectors, datasets) is protected.
- Your project configuration cannot be read or modified by anyone without the decryption key.
- The encryption key is embedded in the RTILA engine binary, not stored separately.
Encryption Details
Section titled “Encryption Details”| Aspect | Details |
|---|---|
| Algorithm | AES-256-GCM |
| Key size | 256 bits |
| IV (Initialization Vector) | 12 bytes, randomly generated for each encryption |
| Key storage | Embedded in the RTILA engine binary (obfuscated) |
| Data encrypted | The complete project configuration (commands, datasets, settings) |
What Gets Encrypted
Section titled “What Gets Encrypted”When you create a standalone bot, the following data is encrypted and uploaded:
| Data | Description |
|---|---|
| Project name | The name of your automation project |
| Commands | All automation commands (clicks, fills, extractions, etc.) |
| Datasets | All dataset definitions (selectors, properties, transformations) |
| Settings | Project settings (URLs, timeouts, stealth settings, variables) |
| Credit label | Your branding text |
| Password | The bot password (if password-protected) |
| Active status | Whether the bot is active |
What Is NOT Encrypted
Section titled “What Is NOT Encrypted”| Data | Description |
|---|---|
| Bot name | Stored in your local database (not encrypted) |
| Source project ID | Reference to the original project |
| Snips ID | The unique identifier for the uploaded configuration |
Downloading the Bot Archive
Section titled “Downloading the Bot Archive”Archive Formats
Section titled “Archive Formats”| Operating System | Archive Format | Extension |
|---|---|---|
| Windows | ZIP archive | .zip |
| macOS | GZIP-compressed tar archive | .tar.gz |
| Linux | GZIP-compressed tar archive | .tar.gz |
What’s Inside the Archive
Section titled “What’s Inside the Archive”The archive contains:
| File | Description |
|---|---|
| RTILA Engine executable | The Deno-based automation engine that runs your automation |
| Bot reference file | Contains the snips_id that tells the engine where to fetch the configuration |
Download Steps
Section titled “Download Steps”- Go to Standalone Bots.
- Find the bot you want to download.
- Click the Download Archive button (download icon).
- Choose a destination folder.
- The archive is created and saved.
Note: The archive contains the RTILA engine executable, which can be 50–200 MB depending on your operating system. This is normal.
Running a Standalone Bot
Section titled “Running a Standalone Bot”On Windows
Section titled “On Windows”- Extract the
.ziparchive. - Double-click the executable file.
- If password-protected, enter the password.
- The bot runs, opening a browser window and executing the automation.
On Mac/Linux
Section titled “On Mac/Linux”- Extract the
.tar.gzarchive:tar -xzf bot_name.tar.gz - Make the executable executable:
chmod +x BOT_snips_id - Run the bot:
./BOT_snips_id - If password-protected, enter the password.
- The bot runs.
Bot Execution Flow
Section titled “Bot Execution Flow”When a standalone bot is launched:
- Welcome screen — The bot displays a welcome screen showing:
- The bot name
- The credit label (your branding)
- The bot ID
- Password check (if password-protected) — The user is prompted for the password.
- Configuration fetch — The bot fetches its encrypted configuration from the RTILA Snips server using the
snips_id. - Decryption — The configuration is decrypted using the embedded key.
- Browser launch — The bot launches a browser and begins executing the automation.
- Execution — The automation runs, executing all commands and extracting data.
- Output — Results are saved to the working directory.
Welcome Screen
Section titled “Welcome Screen”When a standalone bot starts, it shows a welcome screen:
============================================================🌟 I N I T I A L I Z I N G S T A N D A L O N E B O T 🌟============================================================
🤖 Welcome to [Bot Name]! 🆔 Bot ID: [snips_id] ✨ [Credit Label]
============================================================Bot Output
Section titled “Bot Output”The bot saves its output to the working directory (the folder where the bot executable is located):
| Output | Description |
|---|---|
| Extracted data files | CSV, JSON, or other files depending on your project’s export settings |
| Screenshots | If your project takes screenshots |
| Downloaded files | If your project downloads files (images, PDFs, etc.) |
Editing a Bot
Section titled “Editing a Bot”- Go to Standalone Bots.
- Find the bot you want to edit.
- Click the edit icon (pencil).
- The Bot Configuration form opens with the current settings.
- Modify the settings.
- Click Save & Upload.
- The updated configuration is encrypted and uploaded to the Snips server.
What You Can Edit
Section titled “What You Can Edit”| Setting | Editable? | Notes |
|---|---|---|
| Bot Name | ✅ Yes | Change the display name |
| Source Project | ✅ Yes | Change which project is packaged |
| Credit Label | ✅ Yes | Change your branding text |
| Visibility | ✅ Yes | Switch between public and password-protected |
| Password | ✅ Yes | Change the password (revokes old password) |
| Active | ✅ Yes | Enable or disable the bot |
What Happens After Editing
Section titled “What Happens After Editing”When you edit a bot:
- The updated configuration is encrypted and uploaded to the Snips server.
- The
snips_idremains the same (the bot ID doesn’t change). - Distributed bots will use the updated configuration the next time they run.
- If you changed the password, the old password immediately stops working.
Important: If you change the Source Project, the bot will run the new project’s automation. This is a significant change — make sure you want to switch projects before saving.
Deleting a Bot
Section titled “Deleting a Bot”- Go to Standalone Bots.
- Find the bot you want to delete.
- Click the delete icon (trash).
- A confirmation dialog appears.
- Click Delete to confirm.
What Happens When You Delete a Bot
Section titled “What Happens When You Delete a Bot”| Aspect | Behavior |
|---|---|
| Bot record | Permanently deleted from your local database |
| Server configuration | Deleted from the RTILA Snips server |
| Distributed bots | Stop working immediately (can’t fetch configuration) |
| Original project | NOT affected — your RTILA X project is not deleted |
Warning: Deleting a bot is permanent. Any distributed copies of the bot will immediately stop working because they can no longer fetch their configuration from the server.
Bot ID (snips_id)
Section titled “Bot ID (snips_id)”Every standalone bot has a unique identifier called the snips_id. This ID is:
- Generated by the RTILA Snips server when you upload the bot configuration.
- Used by the bot executable to fetch its configuration from the server.
- Embedded in the bot archive.
- Displayed on the bot’s welcome screen.
| Aspect | Details |
|---|---|
| Format | Alphanumeric string |
| Generated by | RTILA Snips server |
| Uniqueness | Globally unique across all bots |
| Displayed | On the bot’s welcome screen and in the bots list |
| Used for | Fetching configuration from the server |
Bot Table Reference
Section titled “Bot Table Reference”The Standalone Bots page shows a table with the following columns:
| Column | Description |
|---|---|
| ID | The bot’s snips_id (unique identifier) |
| Name | The bot’s display name |
| Project | The source project name |
| Visibility | “Public” or “Password Protected” |
| Status | “Active” or “Inactive” |
| Created | The date the bot was created |
| Actions | Download, Edit, Delete buttons |
Error Handling
Section titled “Error Handling”| Error | Cause | Solution |
|---|---|---|
| “Failed to upload bot configuration” | Network error or server issue | Check your internet connection and try again |
| “Bot configuration not found” | The snips_id doesn’t exist on the server | The bot may have been deleted. Recreate it. |
| “Invalid password” | Wrong password entered | Enter the correct password. You have 5 attempts. |
| “Bot is not active” | The bot’s Active toggle is off | Enable the bot in the edit dialog |
| “Failed to download archive” | Network error or disk full | Check your internet connection and disk space |
| “Encryption failed” | Internal error | Try again. If the problem persists, contact support. |
Tips and Best Practices
Section titled “Tips and Best Practices”| Tip | Why It Matters |
|---|---|
| Test your project before packaging | Make sure the automation works correctly before packaging it as a bot |
| Use descriptive bot names | Makes it easy to identify bots in the list |
| Use a credit label for branding | Your branding text is displayed every time the bot runs |
| Use password protection for paid products | Prevents unauthorized use of your bots |
| Change passwords to revoke access | If a client’s subscription expires, change the password |
| Keep a backup of your project | The bot references the project. If you delete the project, the bot’s source is lost. |
| Test the bot after packaging | Extract the archive and run it to verify it works |
| Use descriptive file names for archives | Makes it easy to identify distributed bots |
| Monitor bot usage | Check the Snips server for bot execution statistics |
| Use HTTPS for distribution | Distribute bot archives securely to prevent tampering |