Prerequisites:
- Access to Bringits Stream UI
- Organization dashboard access
- Understanding of key concepts (projects, steps, commands, variables)
Creating a New Project
Accessing Bringits Stream UI
Open Bringits Stream UI
Access the Bringits Stream UI from your organization’s dashboard or navigate directly using the provided Bringits Stream URL.
Navigate to Projects
From the main sidebar menu, select “Projects” to display the Projects list with existing projects and their details.
Project Creation Dialog
When you click “Create new project +”, a dialog appears with two options:| Option | Description |
|---|---|
| Project Name | Enter a descriptive, unique name for your project |
| Import JSON file | Upload an existing project configuration file to create a project from a template |
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
| Field | Description |
|---|---|
| Project ID | Auto-generated unique identifier for the project (read-only) |
| Type | Toggle between Real time and Lazy execution modes |
| Project Name | Editable project name |
| Project Group | Assign the project to a group for organization |
| Publish Removed Results | Toggle to control whether removed results are published |
| Creator | Shows the user who created the project (read-only) |
Advanced Settings
Expand the Advanced Settings section to access:| Setting | Description |
|---|---|
| Fingerprint Distributions | Toggle 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:Click the Plus Button
Click the ”+” button below the existing step (or in the empty canvas for new projects) to add a new step.
Step Configuration Fields
| Field | Description | Required |
|---|---|---|
| Step ID | Auto-generated unique identifier (read-only) | - |
| Name | Descriptive identifier for the step | Yes |
| Description | Step description (up to two lines) | Yes |
| Repeatable | Toggle to make the step run on a schedule | No |
| Technology Used | Select 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
Step Advanced Settings
Expand the Advanced Settings section within step configuration to access:| Setting | Description |
|---|---|
| Exclude values | Add values separated by commas to exclude from processing |
| Miss Tolerance | Set an integer value for error handling tolerance |
| Fingerprint Type | Select 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:| Parameter | Description |
|---|---|
| Command Type | Select the specific HTTP command variant |
| Body | Request body content |
| Bypass Status Code | Status codes to bypass error handling |
| Headers | Key-value pairs for request headers |
| Headers Options | Toggle for additional header settings |
| Is Http2 | Toggle to use HTTP/2 protocol |
| Proxy Settings | Toggle to configure proxy usage |
| Proxy Connection Timeout | Timeout for proxy connection (milliseconds) |
| Timeout | Maximum wait time for the request (milliseconds) |
| Tls Settings | Toggle 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:GetTextContentsCommand
Retrieves text content from DOM elements:- CSS Selectors - Target elements using standard selectors
- Filtering - Filter by innerText, hasChildren, or index
- Chained Locators - Use
continueWithfor nested searches - Returns Array - Text content from all matching elements
GetAttributesCommand
Extracts attributes from DOM elements for detailed scraping operations: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
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.
Configure Exchange and Routing Key
Select the SINK command and configure the exchange name and routing key in the command panel.
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
Running Your Project
Activating the Project
Activate Project
Toggle the project status from “Inactive” to “Active” using the status toggle in the project header.
- 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:- Debugging Your Project - Learn testing and troubleshooting techniques
- Monitor Your Stream - Track project performance
- HTTP Commands - Deep dive into HTTP request configuration
- Browser Commands - Web automation capabilities
- Parse Commands - Data extraction techniques