Workflow examples.
Start with a harmless workflow and add complexity only after checking each action’s result.
Variables, JSON and calculations
set_variable text PBX
calculate title = "name: " + ${text}
calculate total = ${price} * ${quantity}
if = ${total} >= 100See the Variables & Expressions guide for syntax and type conversion.
1. Open and verify a web page
open_browser https://example.com
wait_selector body
assert_navigation example.com
close_browserChoose PBX, Chrome or Cent Browser. A browser-only script runs with one worker. The runner can create a new profile or use the script-specific configuration.
2. User input and file validation
request_input document_file {"type":"file","label":"Document","required":true}
validate_file ${document_file} {"extensions":[".pdf"],"max_mb":20}
log_message Local document validatedThis example only validates a file; it does not upload or send it. A web upload requires a suitable file-input selector and verification of server acceptance.
3. API response and data extraction
http_request https://api.example.org/tasks {"method":"GET","save_as":"api_response"}
api_status_check api_response {"status":200}
json_get api_response {"path":"items.0.id","save_as":"first_id"}Replace the illustrative URL with an authorized endpoint. Your server’s response structure determines the JSON path.
4. A protected browser operation
try_start
wait_selector #save-complete
catch_start
log_message Save confirmation not found
finally_start
log_message Finished verification attempt
try_endReview whether the action actually changed external state before retrying. A timeout is not proof of failure on the remote service.
5. Process records during execution
csv_import C:/Data/sample.csv {"save_as":"rows"}
runtime_for_each_record rows
log_message Processing a record
runtime_end_for_each
progress_report rowsThe runtime record engine has bounded limits; see the action reference for exact options.