Skip to main content
Prerequisites:
  • Access to Bringits Stream UI
  • Organization dashboard access
  • Understanding of key concepts (projects, steps, commands, variables)
This guide walks you through creating your first project in Bringits Stream UI, from initial setup to running your first data extraction workflow.

Creating a New Project

Accessing Bringits Stream UI

1

Open Bringits Stream UI

Access the Bringits Stream UI from your organization’s dashboard or navigate directly using the provided Bringits Stream URL.
2

Navigate to Projects

From the main sidebar menu, select “Projects” to display the Projects list with existing projects and their details.
3

Create New Project

Click “Create new project +” located in the upper-right corner of the Projects page.

Project Creation Dialog

When you click “Create new project +”, a dialog appears with two options:
OptionDescription
Project NameEnter a descriptive, unique name for your project
Import JSON fileUpload an existing project configuration file to create a project from a template
Use descriptive project names that clearly indicate the project’s purpose. This makes it easier to find and manage projects later.
After entering a project name and clicking “Create”, you’ll be taken to the project editor where you can configure additional settings.

Project Settings

Once your project is created, you can configure it using the Project Settings panel on the right side of the editor.

Basic Settings

FieldDescription
Project IDAuto-generated unique identifier for the project (read-only)
TypeToggle between Real time and Lazy execution modes
Project NameEditable project name
Project GroupAssign the project to a group for organization
Publish Removed ResultsToggle to control whether removed results are published
CreatorShows the user who created the project (read-only)

Advanced Settings

Expand the Advanced Settings section to access:
SettingDescription
Fingerprint DistributionsToggle to enable fingerprint distribution for the project

Project Groups

Projects can be organized using Project Groups. Groups are managed separately from the Groups section in the sidebar, where you can create groups with a name, description, and assign members.
Project Groups help manage large numbers of projects. Consider creating groups by team, use case, or project type.

Variable Management

Bringits Stream supports predefined variables at the project level. For detailed information about variable types, see the Introduction to Projects. Project-level variables (@{PROJECT_ID}, @{RUN_ID}, @{START_TIMESTAMP}) are global variables accessible across all steps. Secrets (%{SINK_DB_PASSWORD}, %{PROXY_PASSWORD}) provide encrypted storage for API keys and credentials. Session tracking (#{UUID}) maintains state across multi-step flows.

Creating Your First Step

Adding a Step

Within your project’s Scraping flow tab, you’ll see the workflow canvas. To add a new step:
1

Click the Plus Button

Click the ”+” button below the existing step (or in the empty canvas for new projects) to add a new step.
2

Configure Step Settings

When a step is selected, the Step Configuration panel appears on the right side. Configure the required fields.

Step Configuration Fields

FieldDescriptionRequired
Step IDAuto-generated unique identifier (read-only)-
NameDescriptive identifier for the stepYes
DescriptionStep description (up to two lines)Yes
RepeatableToggle to make the step run on a scheduleNo
Technology UsedSelect the technology type (HTTP, Browser, etc.)Yes

Repeatable Settings

When Repeatable is enabled, configure the interval:
  • Manual interval - Set a specific interval value in seconds
  • Smart interval - Let the system optimize the execution schedule
When changing or deleting a project, all repeatable jobs for that project’s steps are stopped. Child steps that are removed have their repeatable jobs automatically stopped.

Step Advanced Settings

Expand the Advanced Settings section within step configuration to access:
SettingDescription
Exclude valuesAdd values separated by commas to exclude from processing
Miss ToleranceSet an integer value for error handling tolerance
Fingerprint TypeSelect a fingerprint type or “No Fingerprint Type”

Variable Scope in Steps

Steps support various variable scopes:
  • ${event_id} - Event-specific variables
  • #{UUID} - Session identifiers for maintaining state
  • #{DATE(TIMESTAMP)} - Dynamic date/time parameters
  • @{PROJECT_ID}, @{RUN_ID} - Runtime parameters inherited from project level

Adding Commands to Your Step

Command Categories

The left sidebar displays available command categories that you can drag into your step:
  • Android - Mobile automation commands
  • Browser - Web browser automation (open, click, navigate)
  • Execution_flow - Flow control commands
  • Generate - Data generation commands
  • HTTP - HTTP request commands
  • Interaction - User interaction simulation
  • Parse - Data parsing and extraction
  • Sink - Output destination commands
  • Validation - Data validation commands
  • Ws - WebSocket commands

Adding a Command

Click on a command in the left sidebar to expand its options, then drag or click to add it to your step. Alternatively, use the Tool Center button within the step to browse and add commands.

HTTP Command Configuration

When you add an HTTP command and select it, the HTTP Command panel appears with these options:
ParameterDescription
Command TypeSelect the specific HTTP command variant
BodyRequest body content
Bypass Status CodeStatus codes to bypass error handling
HeadersKey-value pairs for request headers
Headers OptionsToggle for additional header settings
Is Http2Toggle to use HTTP/2 protocol
Proxy SettingsToggle to configure proxy usage
Proxy Connection TimeoutTimeout for proxy connection (milliseconds)
TimeoutMaximum wait time for the request (milliseconds)
Tls SettingsToggle to configure TLS settings
Each command has an info icon (ℹ️) that explains its purpose, available parameters, and usage examples.

Example: Parse Commands

Bringits Stream includes several Parse commands for data extraction:

JSONPathCommand

Extracts data from JSON responses using JSONPath expressions:
{
  "command": "JSONPathCommand",
  "params": {
    "jsonPath": "$.data.items[*].title",
    "input": "@{PREVIOUS_OUTPUT}"
  }
}

GetTextContentsCommand

Retrieves text content from DOM elements:
{
  "command": "GetTextContents",
  "params": {
    "elementsLocator": {
      "selector": ".article-title",
      "timeout": 10000
    }
  }
}
Features:
  • CSS Selectors - Target elements using standard selectors
  • Filtering - Filter by innerText, hasChildren, or index
  • Chained Locators - Use continueWith for nested searches
  • Returns Array - Text content from all matching elements

GetAttributesCommand

Extracts attributes from DOM elements for detailed scraping operations:
{
  "command": "GetAttributes",
  "params": {
    "elementsLocator": {
      "selector": "a.article-link",
      "timeout": 10000
    },
    "attributes": ["href", "title"]
  }
}

Connecting a Sink

Supported Sink Types

The SINK command allows publishing messages directly from any step. Bringits Stream supports various output destinations: RabbitMQ (Message Queue):
  • Publish messages directly to a RabbitMQ exchange
  • No Redis storage required
  • Data sent as part of the message itself
  • Primary method for robot communication

Configuring a Sink

1

Add SINK Command

From the Sink category in the left sidebar, drag the SINK command into your step. Typically, this is the final command in the last step of your workflow.
2

Configure Exchange and Routing Key

Select the SINK command and configure the exchange name and routing key in the command panel.
3

Verify Consumption

Run the project and confirm messages are being consumed successfully from the message queue.

Key Differences

  • No Orchestrator Flow - Direct publishing bypasses the bringits-stream-orchestrator
  • No Redis Storage - All data included in the message
  • Immediate Publishing - Messages sent as soon as the step completes
Test your sink configuration with a simple message before running the full workflow to ensure proper routing and consumption.

Running Your Project

Activating the Project

1

Save Configuration

Click “Save project” in the top-right corner to save all steps and commands.
2

Activate Project

Toggle the project status from “Inactive” to “Active” using the status toggle in the project header.
3

Monitor Execution

The system begins executing steps based on configured intervals. Monitor the execution to verify proper operation.
Execution Behavior:
  • Each step runs as a repeatable job based on its interval configuration
  • Variable interpolation occurs before each execution
  • Parent-child relationships - Child steps inherit context from parent executions
  • Automatic scheduling - No manual triggering required once active

Testing and Debugging Your Project

For comprehensive testing and debugging guidance, see the Debugging Your Project guide.
The Bringits Stream ecosystem includes debugging tools and sandbox environments for testing projects before production deployment.

Next Steps

Now that you’ve created your first project, explore: