The Push Secondary Table Row Node allows Rayven workflows to write data into a secondary (non-primary) table. It is used to insert new rows programmatically based on events or data passing through the workflow.
What It Does
This node pushes a single row of data into a selected secondary table. The values in the row are derived from the fields of the incoming payload. It does not update existing rows — it always creates new entries.
This is useful for:
-
Logging events or states to historical tables
-
Capturing transformed data for downstream analysis
-
Decoupling live processing from archival storage
Step-by-Step: How to Configure the Node
-
Add the node
-
Drag the Push Secondary Table Row Node from the Outputs panel onto the canvas.
-
-
Connect an upstream data source
-
Link a node that outputs the fields to be saved to the table.
-
-
Open configuration
-
Double-click the node to open the settings panel.
-
⚙️ Configuration Fields
Field | Requirement | Description |
---|---|---|
Node Name* | Required | Internal reference name for the node within the workflow. |
Select Table* | Required | Dropdown list of available secondary tables. Choose one to insert new rows into. |
The selected table must exist in the workspace before configuration.
Output Behavior
Each time the node receives a payload, it creates a new row in the selected table. The row contains the full set of fields from the incoming JSON object, matched by key to column names.
Example Payload:
{
"uid": "device-123",
"status": "fault",
"timestamp": "2025-07-15T10:00:00Z"
}
Table Row Created:
uid | status | timestamp |
---|---|---|
device-123 | fault | 2025-07-15T10:00:00Z |
Best Practices
-
Ensure the upstream payload structure aligns with the column names in the target table.
-
Use this node for append-only logging. For updating existing rows, use the Update Table Node instead.
-
When using this node inside loops or high-frequency workflows, monitor table size and cleanup policies.
-
Avoid sending unnecessary fields to prevent creating unused columns.
Use Cases
-
Write alerts to a historical log table
-
Save manually entered values from widgets into an archive
-
Capture timestamped calculated results from Rule Builder or Function nodes
-
Record device-specific actions for audit or debugging purposes
FAQ
Q: What happens if a field in the payload doesn't exist in the table schema?
A: The table will automatically add a new column matching the field name.
Q: Can this node overwrite existing rows?
A: No. It only appends new rows to the selected secondary table.
Q: Can I conditionally skip writing rows?
A: No. Use an upstream Filter or Rule Builder node to suppress unwanted entries before reaching this node.