Unassign from Customer
Use this node to remove the message originator from its customer assignment — for example, returning a device to tenant-level ownership when a customer contract ends, or unassigning a dashboard from a specific customer while keeping it visible to others.
Configuration
Section titled “Configuration”- Customer title — required only when the originator is a
DASHBOARD. Name of the customer from which the dashboard should be unassigned. Supports templatization — use${metadataKey}and$[dataKey]to resolve dynamically.
Message processing algorithm
Section titled “Message processing algorithm”For DASHBOARD originators:
- Resolve the customer name from the configured pattern.
- Search for the customer under the tenant. If not found, route via
Failure. - Unassign the dashboard from that specific customer (it may remain assigned to other customers).
- Route via
Success.
For all other originator types:
- Unassign the entity from whatever customer it is currently assigned to. If it is already unassigned (tenant-level), treat this as success.
- Route via
Success.
Output connections
Section titled “Output connections”| Connection | Condition |
|---|---|
Success | Entity successfully unassigned, or entity was already at tenant level. |
Failure | DASHBOARD originator with missing or non-existent customer, or unexpected error. |
Examples
Section titled “Examples”Example 1 — Return device to tenant ownership
Section titled “Example 1 — Return device to tenant ownership”Originator: DEVICE currently assigned to My Customer. Config: customerNamePattern empty.
Result: device unassigned from My Customer; becomes tenant-level. Routes via Success.
Example 2 — Unassign dashboard from a named customer
Section titled “Example 2 — Unassign dashboard from a named customer”Originator: DASHBOARD assigned to both Target Customer and Other Customer.
{ "customerNamePattern": "Target Customer"}Result: dashboard unassigned from Target Customer; remains assigned to Other Customer. Routes via Success.
Example 3 — Dynamic customer name from message data
Section titled “Example 3 — Dynamic customer name from message data”Data: { "customerName": "Premium" } | Metadata: { "region": "North" } | Originator: DASHBOARD.
{ "customerNamePattern": "$[customerName] ${region}"}Result: pattern resolves to Premium North; dashboard unassigned from that customer. Routes via Success.
Example 4 — Entity already at tenant level → Success
Section titled “Example 4 — Entity already at tenant level → Success”Originator: ASSET not assigned to any customer. Result: no-op; routes via Success.
Example 5 — Non-existent customer → Failure
Section titled “Example 5 — Non-existent customer → Failure”Originator: DASHBOARD | Pattern: Non-existent Customer → routes via Failure (customer not found).
JSON schema
Section titled “JSON schema”{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "TbUnassignFromCustomerNodeConfiguration", "type": "object", "additionalProperties": false, "properties": { "customerNamePattern": { "type": "string", "description": "Target customer name for dashboard unassignment; supports templatization." } }}