Ports are how a data product connects to the world: output ports publish data to consumers, input ports read from other products, and management ports carry operational signals. This guide covers the everyday tasks — adding ports, attaching data assets, wiring one product to another, and reading the lineage that results.

It assumes you already have a data product to work on. To create one from scratch, use The Data Product Wizard, which sets up your first output port for you.

Add an output port

An output port is a consumable interface — a set of assets delivered together, in one technology, under one contract. Ports are child objects of the product, so there are two ways to add one.

In the wizard. Use this when you also want to attach assets or a contract in the same pass.

  1. Open the data product and click the three dots icon in the top-right corner.
  2. Select Edit in wizard.
  3. Go to the Ports step, select Add Port, and fill in the port’s name and description.

As a child object. Use this when you only need the port itself.

  1. Open the data product and click the three dots icon in the top-right corner.
  2. Select Add child object.
  3. Enter the port name, choose Output Port as the object type, and select Create object.

Name the port for what it delivers — for example, Curated orders or Daily revenue API. The new port appears under Child Objects on the product.

A product must have at least one output port before it can leave Draft — without one, it has nothing to deliver.

Info

Each output port holds assets from one technology (BigQuery or Metabase, never mixed), and each asset belongs to one output port. Split different technologies — or differently governed data — into separate ports, so each keeps a consistent delivery format, contract, and access model.

Attach data assets to an output port

A port is empty until you attach the assets it publishes. Assets are attached in the wizard, which is also where you change them later.

  1. Open the data product and click the three dots icon in the top-right corner.
  2. Select Edit in wizard.
  3. On the Data Assets step, select the assets the product contains. Narrow the list with the Technology and Asset Type pills, or search by name.
  4. On the Ports step, attach each asset to the output port that publishes it.
  5. Finish the wizard with Save for later or Publish Now.

A port’s technology comes from the first asset you attach, and only assets of that technology can join it. Assets that already belong to another data product are left out of the port’s list: a product can’t re-expose another product’s data (see Consume from another product below). Assets you select on the Data Assets step but attach to no port stay internal: they belong to the product, but consumers never see them.

Every output port must carry at least one asset before the product can reach production.

Tip

To share a product’s output ports with Snowflake, BI, or AI tools outside Dawiso, see Export a data product as OSI YAML.

Consume from another product (input ports)

To read from another product, you consume one of its output ports through an input port. Wiring is always started by the consumer — you don’t push data onto anyone.

There are two ways in:

  • From the data you need. On the wizard’s Data Assets step, select an asset that another product publishes. The wizard creates one input port for each upstream output port your selection draws from, and marks it auto-generated. The whole port is consumed, under its existing contract — to take only part of it, ask the upstream owner to split the port.
  • From the product you know. If you already know the upstream product and port, use Consume an upstream port on the same step. Pick the product, then the port, and its assets are selected in one action.

An input port can also be created on its own through Add child object with the Input Port object type, then wired to its upstream port.

Once wired, your input port shows its upstream source, and the upstream product gains a consumed by entry pointing back at you.

Warning

Before a product can reach production, every input port must be wired to a source. An input port with no source is an unfinished connection, and Dawiso blocks the move until it is resolved.

Read the lineage

Wiring ports together builds lineage automatically. The chain runs:

source asset → output port → product → input port → the next product.

On a product’s lineage view, upstream producers sit on the left and downstream consumers on the right, connected through the ports that link them. A connection covered by a data contract is marked, so you can see which dependencies are governed and which are not. If an upstream product is retired, its consumers show an advisory badge — the link isn’t broken for you, but it is a signal to plan a migration away from that source.

Management ports

Management ports carry operational signals — monitoring, health, logging — rather than consumable data. Dawiso keeps them separate from output and input ports, and the wizard does not create them. Add one through Add child object with the Management Port object type, and only when you need to expose an operational interface.

For the concepts behind ports — the three directions, how contracts attach, and why lineage needs typed ports — see Data product ports.