Skip to main content

Conduit Steps Reference

Reference documentation for all step types available in Conduits.

Step Types​

Request Step​

Execute an HTTP request.

Configuration:

  • Request (select existing or create new)
  • Extractions (pull data from response)
  • Assertions (validate response)
  • Continue on failure (optional)

Use for: API calls, data fetching, resource manipulation

Learn more →


Delay Step​

Pause execution for a specified duration.

Configuration:

  • Duration (milliseconds)

Use for: Rate limiting, waiting for async operations, database propagation

Example:

Delay 1000ms

Variable Step​

Set or modify variables during execution.

Configuration:

  • Variable name
  • Variable value (can use other variables)

Use for: Computing values, setting defaults, transforming data

Example:

Set fullName to "{{firstName}} {{lastName}}"
Set retryCount to 3

Assertion Step​

Standalone validation without a request.

Configuration:

  • Condition to evaluate
  • Failure action (stop/continue)

Use for: Validating prerequisites, checking variable values, conditional logic


Script Step​

Execute custom JavaScript for complex logic.

Configuration:

  • JavaScript code
  • Input variables
  • Output variables

Use for: Complex transformations, calculations, custom validation


Loop Step​

Repeat a set of steps multiple times.

Types:

  • For Each: Iterate over array
  • While: Repeat until condition
  • For: Fixed number of iterations

Configuration:

  • Loop type
  • Condition/array/count
  • Child steps to repeat

Use for: Bulk operations, polling, data-driven testing


Conditional Step​

Execute steps based on conditions.

Configuration:

  • Condition expression
  • Steps to run if true
  • Steps to run if false (optional)

Use for: Branching logic, error handling, environment-specific behavior


Step Properties​

Common Properties​

All steps have:

  • Name: Display name for the step
  • Description: Optional explanation
  • Enabled: Can disable without deleting
  • Continue on Failure: Keep going if step fails

Step Execution Order​

Steps execute sequentially by default:

1. Login Request
2. Extract token
3. Delay 500ms
4. Get User Request
5. Assert user data valid

Step Dependencies​

Steps can depend on previous steps:

  • Access extracted variables from earlier steps
  • Conditional execution based on earlier results
  • Skip steps if prerequisites fail

Request Step Details​

Extractions​

Pull data from responses:

From: Response Body
Path: data.userId
Save As: userId

Multiple extractions per step allowed.

Learn more →

Assertions​

Validate responses:

Status Code equals 200
Field "status" equals "success"
Response time less than 500

Multiple assertions per step allowed.

Learn more →

Authentication​

Request steps inherit auth from:

  1. Request configuration
  2. Collection default
  3. Environment settings

Variable Step Details​

Setting Variables​

Name: calculatedTotal
Value: {{price}} * {{quantity}}

(If expressions are supported)

String Manipulation​

Name: fullUrl
Value: {{baseUrl}}/users/{{userId}}

Type Conversion​

Variables are dynamically typed based on value.

Delay Step Details​

Fixed Delay​

Duration: 1000

Waits exactly 1 second.

Variable Delay​

Duration: {{delayMs}}

Use variable for dynamic delays.

Use Cases​

  • Rate Limiting: Respect API rate limits
  • Async Operations: Wait for background jobs
  • Database Replication: Allow data propagation
  • Testing Timeouts: Verify timeout handling

Loop Step Details​

For Each Loop​

Iterate over array:

For Each item in {{usersList}}:
- GET /users/{{item.id}}
- Assert status 200

While Loop​

Repeat until condition:

While {{retryCount}} > 0:
- Try request
- Decrement retryCount

For Loop​

Fixed iterations:

For i from 1 to 10:
- Create user {{i}}

Script Step Details​

Execute custom JavaScript logic.

Available APIs​

// Access variables
const userId = vars.get('userId');

// Set variables
vars.set('processedData', result);

// Make calculations
const total = price * quantity;

// String manipulation
const formatted = `User: ${userId}`;

// Return value
return total;

Best Practices​

  • Keep scripts simple
  • Use request steps when possible
  • Document complex logic
  • Handle errors gracefully

Best Practices​

Step Organization​

  • Use descriptive step names
  • Group related steps logically
  • Add comments/descriptions
  • Keep steps focused (single responsibility)

Error Handling​

  • Add assertions to validate assumptions
  • Use "Continue on Failure" strategically
  • Clean up resources even on failure
  • Log/export results for debugging

Performance​

  • Minimize unnecessary delays
  • Use parallel execution when possible (if supported)
  • Cache reusable data
  • Limit loop iterations

Maintainability​

  • Extract common flows to separate conduits
  • Use variables instead of hardcoding
  • Document non-obvious logic
  • Review and refactor periodically

See Also​