Skip to content
Stand with Ukraine flag

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.

  • 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.

For DASHBOARD originators:

  1. Resolve the customer name from the configured pattern.
  2. Search for the customer under the tenant. If not found, route via Failure.
  3. Unassign the dashboard from that specific customer (it may remain assigned to other customers).
  4. Route via Success.

For all other originator types:

  1. Unassign the entity from whatever customer it is currently assigned to. If it is already unassigned (tenant-level), treat this as success.
  2. Route via Success.
ConnectionCondition
SuccessEntity successfully unassigned, or entity was already at tenant level.
FailureDASHBOARD originator with missing or non-existent customer, or unexpected error.

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).

{
"$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."
}
}
}