Appearance
Pipeline Nodes
WP-Nexus pipelines are built from 51 nodes organized into 9 categories. Each node performs a single, well-defined operation on data as it flows through the pipeline. Nodes are connected by edges in a directed acyclic graph (DAG) and executed in topological order.
How Pipelines Work
- Source nodes produce data -- they query databases, fetch APIs, or provide static values.
- Logic nodes control flow -- branching, validation, authentication, and rate limiting.
- Transform nodes reshape data -- filtering, sorting, mapping, grouping, and aggregation.
- String/Format nodes format text -- templates, JSON parsing, and date formatting.
- Integration nodes communicate externally -- HTTP requests, email, and events.
- Data Write nodes persist changes -- inserting, updating, and deleting rows.
- Action nodes compose pipelines -- running saved actions and iterating.
- Utility nodes help with debugging during development.
- Output nodes mark the terminal result of a pipeline.
Categories
Data Sources
Nodes that produce data for the pipeline. Every pipeline starts with at least one source.
| Node | Description |
|---|---|
| Table Query | Query rows from a WP-Nexus custom database table |
| Post Query | Query WordPress posts, pages, or custom post types |
| Term Query | Query taxonomy terms (categories, tags, custom) |
| REST API | Fetch data from any REST API endpoint |
| Static Data | Provide a hardcoded JSON array |
| Parent Data | Access the parent component's data context |
| Current User | Get the logged-in WordPress user's profile |
| Related Items | Fetch related rows via foreign key relationship |
| Get Store Items | Retrieve items from a user data store |
| Get Context | Retrieve the current pipeline context data |
| POST Data | Access raw POST request data |
Logic
Nodes that control pipeline execution flow.
| Node | Description |
|---|---|
| If/Else | Branch rows based on a condition expression |
| Switch | Multi-way branch based on a field's value |
| Require Auth | Gate pipeline execution behind authentication |
| Validate | Validate input fields against rules |
| Sanitize | Clean and sanitize input field values |
| Rate Limit | Throttle pipeline execution per IP, user, or globally |
| Is In Store? | Check if an item exists in a user data store |
Transforms
Nodes that reshape, filter, and aggregate data.
| Node | Description |
|---|---|
| Filter | Keep rows matching a condition |
| Mapping | Transform each row with an expression |
| Sort | Sort rows by a field |
| Limit | Take a slice of rows (offset + count) |
| Combine | Merge up to 5 inputs into a single object |
| Group By | Group rows by a field value |
| Unique | Deduplicate rows by a field |
| Flatten | Flatten nested arrays into a single list |
| Pick Fields | Keep only specified fields from each row |
| Set Field | Add or overwrite a field using an expression |
| Math | Aggregate a numeric field (sum, avg, min, max, count) |
| Lookup | Enrich rows by joining data from another table |
| Distance Filter | Filter rows by geographic distance (Haversine) |
| For Each | Run a saved action for each row |
String/Format
Nodes that format and parse text data.
| Node | Description |
|---|---|
| Template | Render a template string with expressions |
| JSON Parse | Parse a JSON string field into an object |
| JSON Stringify | Convert the entire input to a JSON string |
| Date Format | Format a date field using PHP date format |
Integration
Nodes that communicate with external systems.
| Node | Description |
|---|---|
| HTTP Request | Make HTTP requests with full method/auth support |
| Send Email | Send email via wp_mail |
| Emit Event | Emit a named event to the parent component |
Data Write
Nodes that persist data changes to the database.
| Node | Description |
|---|---|
| Save Row | Insert new rows into a table |
| Update Row | Update existing rows by ID |
| Delete Row | Delete rows by ID |
| Update User Profile | Update the current user's profile and meta |
| Add to Store | Add an item to a user data store |
| Remove from Store | Remove an item from a user data store |
Actions
Nodes that compose and invoke saved pipelines.
| Node | Description |
|---|---|
| Run Action | Execute a saved action pipeline |
Utility
Development and debugging helpers.
| Node | Description |
|---|---|
| Debug | Log data to the PHP error log |
Output
Terminal nodes that mark the pipeline result.
| Node | Description |
|---|---|
| Set Context | Set the component's data context (form values, row data) |
| Result | Pass-through terminal for data source pipelines |
| Output | Generic pass-through terminal node |
Pipeline Limits
- Maximum 50 nodes per pipeline
- Maximum 1,000 rows per query result
- Write nodes (Save, Update, Delete, Store, Email, HTTP) are never cached
- Read-only nodes with identical config and input are deduplicated within a request
Expression Resolution in Config
All node config values that contain { { }} expressions are resolved before the node executes. The input variable refers to the data flowing into the node from its connected upstream node.
tableId: "`{ {input.table_id}}`"
whereValue: "`{ {input.user_id}}`"See the Expression Language reference for the full syntax.