ballot-checkNodes and Connections

Not sure when to use what? Here are a few quick guidelines to help you choose:

Node Palette

user Person Customers or stakeholders

You want to model people's actions, permissions, or decision points.

A person logging into an admin dashboard, approving a workflow, or sending a secure message.

diamond Entity

Business entities or AIs

You need access for AI agents, companies, tenants, departments, identity domains.

A healthcare provider, an insurance company, or a tenant account applying its own access rules.

cube Thing

Physical or digital objects/devices

You’re modelling hardware, IoT devices, sensors, servers, or edge components.

A smart meter sending readings, a kiosk receiving updates, or a server reporting health status.

gear Process Business processes or Agentic workflows

You want to show business logic, transformations, or background tasks.

A data validation step, a policy enforcement engine, or a message-routing workflow.

rectangle API External systems or platform integrations

You’re integrating with third-party services or exposing functionality programmatically.

A payment processor API, mapping service, or internal microservice endpoint.

plus Other Custom node type for anything else

You need to include concepts like storage, policies, models, or abstract systems.

A policy store, encryption module, AI model, or logging system.

Connection Types

lightbulb

Async Comms

Asynchronous, non-blocking communication where the sender does not wait for a response and the receiver does not need to be online.

Uses Get/Put semantics. Read more herearrow-up-right.

Really handy if you cannot guarantee both the sender/ receiver will be online at the same time.

A device uploads data that is processed later, or a message is delivered when the recipient comes online.

Sync Comms

Synchronous communication where the sender waits for an immediate response.

Uses Notification (Read more herearrow-up-right) semantics and/or Get/Put (Read more herearrow-up-right) semantics.

You need real-time interaction or confirmation.

A user request that must return a result immediately, like fetching account details.

Notifications

One-way signals used to alert or inform.

Uses Notification semantics Read more herearrow-up-right.

You need to notify without requiring a response.

Push notifications, system alerts, or status updates sent to users or services.

Structured request/response interactions between systems. Ideal for complex operations where the other party may not be online at the time of execution (especially useful for policy-driven workflows).

Supported in the SDK semantics. Read more herearrow-up-right.

You want function-like calls across services with clear inputs and outputs.

Calling a billing service to calculate charges or a policy engine to validate access.

Data Stream

Ideal for long-running processes (such as LLM generation) where completion time is uncertain and results may need to stream incrementally. Uses the stream (Read more herearrow-up-right) semantics or notifications (Read more herearrow-up-right) semantics.

You’re handling live, ongoing data rather than discrete messages

Telemetry feeds, sensor data, logs, or real-time analytics pipelines.

TCP

Low-level, persistent network connections that enable lower latency communication (e.g., NoPorts SSH, MCP servers).

Uses Noports_Core (Read more herearrow-up-right) semantics.

You need a fast end-to-end encrypted TCP connection with raw network speed.

A custom protocol, legacy integration, or long-lived secure connection.

Last updated