Action Reference
Complete reference for all action node types available in the Benchwork workflow editor.
Communication
SEND_EMAILSend a customizable email via SendGrid or your configured SMTP. Supports template variables from execution context.
SEND_SMSSend an SMS via Twilio. Configure recipient, message body, and opt-out handling.
SLACK_NOTIFICATIONPost a message to a Slack channel or DM. Configure webhook URL and message format.
Shopify
TAG_CUSTOMERAdd or remove tags on a Shopify customer. Supports multiple tags at once.
CREATE_DISCOUNTCreate a Shopify discount code (percentage or fixed amount) with configurable expiry, usage limits, and minimum order value.
UPDATE_INVENTORYAdjust inventory levels for a product variant at a specific location.
UPDATE_SHOPIFYGeneric Shopify REST API action. Update any resource — orders, products, customers, metafields, and more.
CREATE_DRAFT_ORDERCreate a Shopify draft order programmatically. Useful for custom checkout flows.
Shopify (Deep)
METAFIELD_MANAGERRead and write Shopify metafields on any resource type.
BULK_OPERATIONQueue and poll a Shopify bulk operation. Returns a JSONL download URL when complete.
INVENTORY_TRANSFERTransfer inventory between locations using the Shopify Transfers API.
CUSTOMER_SEGMENTAdd or remove a customer from a Shopify segment.
LIQUID_TEMPLATERender a Liquid template with execution context data. Useful for custom notifications.
DRAFT_ORDER_PIPELINEMulti-step draft order pipeline: create → complete → invoice.
Integration
HTTP_REQUESTMake an outbound HTTP request to any URL. Supports GET, POST, PUT, DELETE. Configure headers, body, and response handling.
SEND_NOTIFICATIONSend a notification via the configured notification channel (email, push, or webhook).
UPDATE_FIRESTOREWrite data to a Firestore document path. Useful for cross-workflow state sharing.
Operations
GENERATE_LABELGenerate a barcode label PDF for a product. Sends to the configured Rollo print queue.
Flow
DELAYPause execution for a specified duration. Supports seconds, minutes, hours, or days.
Advanced
CODE_EXECUTIONRun a JavaScript snippet in a sandboxed V8 context. Full access to execution context. 5-second timeout.
LOOPIterate over an array and run the child workflow for each item. Configurable concurrency and error handling.
AGGREGATORCollect outputs from a loop and aggregate them into a single array.
ERROR_HANDLERCatch errors from the preceding node and route to a recovery branch or notification.
SUB_WORKFLOWInvoke another workflow as a sub-routine. Pass data in and receive results back.
Template Variables
All action node configurations support template variable interpolation using double-brace syntax:{{variable}}.
Available variables in every workflow run:
{{trigger.*}}— The full Shopify webhook payload{{nodes.[nodeId].output}}— Output from a specific node{{env.STORE_DOMAIN}}— Your store domain{{workflow.id}}— Current workflow ID{{execution.id}}— Current execution ID