Portal Community

Node Configuration

{
  "nodeType": "EntityRead",
  "name": "fetchInvoice",
  "config": {
    "entityType": "invoice",
    "entityId": "$json.invoiceId",
    "fields": ["invoiceNumber", "vendorId", "total", "currency", "lineItems", "status"],
    "failOnNotFound": true
  }
}

Configuration Fields

FieldTypeDescription
entityTypestringEntity type key (e.g., "invoice", "employee"). Resolved by IEntitySchemaRegistry.
entityIdstring / exprThe ID of the entity to read. Expression syntax supported.
fieldsstring[]Optional projection — only return these fields. If omitted, all fields are returned.
failOnNotFoundboolWhen true, routes to error port if entity not found. When false, outputs null. Default: true.

Node Output

{
  "entityId": "inv-00123",
  "entityType": "invoice",
  "data": {
    "invoiceNumber": "INV-2026-00123",
    "vendorId": "vnd-acme",
    "total": 4750.00,
    "currency": "GBP",
    "status": "pending-approval",
    "lineItems": [
      { "description": "Consulting Services Q1", "amount": 4000.00 },
      { "description": "Expenses", "amount": 750.00 }
    ]
  }
}

Accessing Output Fields

// Access top-level fields via .data
$output.fetchInvoice.data.invoiceNumber   // "INV-2026-00123"
$output.fetchInvoice.data.total           // 4750.00
$output.fetchInvoice.data.lineItems[0].amount  // 4000.00

// Pass entityId to next node
$output.fetchInvoice.entityId   // "inv-00123"

// Check status in condition node
"$output.fetchInvoice.data.status === 'pending-approval'"
Projection fields: Always specify fields when you only need a few fields from a large entity. This reduces response payload size and speeds up execution — especially for entities with many nested arrays or large text fields.