Menu
Open workspace

Nordform Connect

Keep design changes connected to their consequences. Nordform brings messages, proposed revisions and declared interfaces into one review process, so teams can see what changed and what needs an answer. People review and adopt each change before connected designs follow it.

Explore the interactive connection diagram ↗

Follow a change across designs

Nordform Connect covers two cooperating functions: the design hub keeps messages and proposals with a design’s history; interface connections record how designs relate and help compare supported alternatives. In supported comparisons, cooling and electrical inputs feed support calculations; reviewed pipe-size, cable-containment and support-spacing changes can create new native design revisions. Adopting those revisions into a delivery package remains a separate decision.

The checks cover their stated inputs and methods and list missing evidence and unresolved interfaces. Engineering approval comes from your engineer.

Review one deliverable set

The delivery overview brings together what changed, what needs your decision and whether you can issue. A delivery-owner administrator can regenerate adopted pipe-run and cable-route packages from their own pinned personal designs into a private bundle of IFC models, SVG drawings, CSV quantities and supporting evidence. One manifest ties the files to the reviewed dependencies. The Waiting view lists what each company owes the others, oldest first, with dates. Each company sees only the packages and interfaces it is shown.

Missing outputs, changed dependencies and unresolved review requirements block issue. After reviewing a complete, current bundle, its preparer can record an immutable issue receipt. The receipt records a concept review of pipe-run and cable-route packages; distributing the files and approving them are separate steps.

Why a design needs an address

The fabricator, the engineer and the owner rarely work in one file. They talk about the design in mail threads, chat channels, review comments and meetings, and the model sits somewhere else. Months later nobody can say which version a comment was about, which request was ever tried, or why a value changed.

Connect makes the design itself the party in the thread. A message is kept on the design as it arrived, and a review comment names the version its reviewer was looking at. What it asks for is tried, not promised. The answer goes back to the thread it came from. And when two firms' designs meet at an interface, the record says who changed what, who accepted it and what is still in dispute.

How a message moves

  1. 01
    An addressThe owner opens an address on the design. Slack, a mail forwarder or anything that can send an HTTP request posts to it; the design’s own reviews arrive as messages too.
    State: kept. address · can be closed
  2. 02
    Kept as it arrivedWith its sender, channel and subject, and it never changes. A review comment also names the version its reviewer was looking at.
    State: kept. message · kept
  3. 03
    ReadThe decision model reads it as a change request, a decision, a question or information, and shows how sure it was.
    • A decision, question or information: kept on the record, nothing runs
    • No reading: waits for a person
    State: kept. reading · shown
  4. 04
    Tried as scenariosA change request runs on the latest version, on its own if the owner chose that or when the owner presses run. Each candidate comes back with its checks.
    State: proposed. scenarios · proposed
  5. 05
    The design answersOnce, where the message came from: a line in the Slack thread or a mail to a sender the owner approved. On a personal design it links a read-only page of the message and its scenarios.
    State: proposed. reply · once
  6. 06
    A person adoptsIn the Studio, on the same card a chat proposal uses. Only here does a scenario become a version; there is no approve button in Slack or mail.
    State: accepted, changes the design. version · adopted
Nothing a message says changes a design on its own, and a clean check run is not an approval.
  1. An address. The owner opens an address on the design. It is shown once, can be replaced or closed at any time, and anything that can send an HTTP request can post to it: a Slack channel, a mail forwarder, a Teams or Zapier flow, a shell one-liner, another tool.
  2. The message is kept. It is stored as it arrived, with its sender, its channel and its subject, and it never changes. It appears in the design's own chat at the time it arrived.
  3. The message is read. The decision model reads it as one of four things: a change request, a decision, a question, or information. The reading is shown with how sure the model was. A message it could not read waits for a person.
  4. A change request runs as scenarios. The request runs as a proposal on the latest version, on its own if the owner chose that, or when the owner presses run. Each candidate comes back as a scenario with its checks. On a house design, the chat says above the adopt button which locked dimension, sign-off, selected baseline, hard requirement or recorded decision the scenario touches, and holds the button while the scenario’s check results are out of date. A scenario can be kept, so it outlives its run: it is stored with its check results, pinned to the version it answered, and waits for a decision (see Where it shows in the workspace).
  5. The design answers. A question on one of your own designs is answered from the design's record, and nothing is sent until you press Send (see Questions answered from the record). For anything else, once a message has an outcome, the design answers once where it came from: one line in the Slack thread, seconds after the message arrived when it mentioned the app and nothing had to run, or a mail to a sender the owner approved, saying how the message was read and how many scenarios ran, on a personal design with a link to a read-only page of the message and its scenarios. The page stays readable for thirty days. A channel message that was read as no change and did not mention the app gets no reply.
  6. A person adopts. A scenario becomes a version only when the owner adopts it, on the same card a chat proposal uses, with the same sign-off questions. There is no approve button in Slack or mail.

A message changes a design only when a person adopts the change, and approval always comes from a person.

Questions answered from the record

When a message on one of your own designs is read as a question, the design drafts an answer from its record. The record is the latest version's inputs, with the version each value last changed in, the checks of a finished run on that version, the decisions that stand, the sign-offs given on that version and the requirements still in force. Each fact in the answer names its source: the version, the check, the decision, the sign-off or the requirement. No run starts, no credits are spent and no model writes the answer. When nothing in the record answers the question, the draft says so and names the version it read.

What the draft may say depends on who asked. A member of the project is told everything. A reviewer is told the version, its checks, decisions and sign-offs, but not the requirements. Anyone asking in Slack, and a mail sender with no other standing, is told about the version only. What is withheld from the asker is left out before the draft is written, so it is never stored in the draft either.

When the message states a quantity, such as "the door is 900 mm wide, is that right?", the draft compares it with the version at the precision it was stated and says whether they agree. It does not add a tolerance. A bare number is tried as millimetres and as metres, and when neither fits, the draft says the unit is unclear. Each comparison is a suggestion you tick into the answer.

The draft waits in Waiting on you as Send answer. Send posts it in the message's Slack thread, or mails a sender the owner approved a link to a page showing what was sent. Dismiss sends nothing. While the draft waits, the automatic Slack reply to the question says only that an answer has been drafted, unless the question names Engineering (see below).

Where messages come from

Designs that connect to each other

A plant is not one design. The cooling package, the power feed, the structure and the controls are designed by different firms, and they meet at interfaces: a heat load in kilowatts, a supply temperature, a load on a slab, a footprint on a site.

In a company delivery, Connect declares those interfaces between packages: the two designs it joins, the quantities they share, their units and the tolerance within which the two sides agree. When a package's new revision is adopted, every interface value it moved is sent to the firm on the other side. That firm accepts it, objects with the value it can take, or asks a question as a request for information. An objection marks the interface disputed and holds the release of both packages until it is settled.

  1. 01
    A declared interfaceTwo packages of a company delivery, the quantities they share, their units and the tolerance within which the two sides agree.
    State: kept. interface · declared
  2. 02
    A revision is adoptedA firm records a new revision of its package, and the delivery’s owner or a coordinator adopts it. Nothing else sends a signal.
    State: accepted. revision · adopted
  3. 03
    The moved value is sentEvery interface value the revision moved goes to the firm on the other side, and to that firm’s design as a message where the design has an address.
    State: proposed, changes the design. value · proposed
  4. 04
    The other firm answers
    • AcceptsThe value stands. The interface is agreed once every value sent on it is.State: accepted. agreed
    • ObjectsWith the value it can take. The interface is disputed and neither package can be released until it is settled.State: proposed. disputed · release held
    • AsksA request for information on the interface, with a due date.State: proposed. question · open

    Scope An objection opens a decision for the firm that made the change; that firm revises its own design.

Only adopting a revision sends a signal, and nothing a signal starts adopts anything, so no change becomes a version without a person.

The workspace shows the connected designs of a delivery in its header, each with the state of its interfaces and a mark when your company has to act, and a site map shows the packages where the owner placed them, with links suggested where two packages name the same tag or system or their footprints touch. Values are compared with what the other side states, not with its capacity, and nothing is redesigned on its own.

An interface can also join a structure to the services that run through it: the largest opening the services need and the structure allows, the depth under the structure they occupy and it leaves free, and the load they hang from it and it carries. A pipe run or a set of circuits states its side from its own openings and supports; the structural side states what it allows. When a signal lands on a package whose design has an address, the signal is posted to that design as a message, so it arrives in the thread where the design is worked on and is held there for a person. Inside one building, a services design can also read the structure directly: it names the house or the steel portal it passes through, at one version, and lists the openings it would need through the real members. When the structure gets a newer version, the services design is run again against it with its own inputs unchanged, and what that changed is shown beside the version it read: the checks that moved, and where its package now states a different opening or depth. It becomes a new version of the services design only when someone adopts it, and the structure shows the same result from its side. A package's stated values change only when its firm records a revision.

Designs in other companies

The structure a services design passes through can belong to another company. An administrator of that company shares the design with your company as a host, either from one version onward or from one version through a later one. The share is at one of three levels: Interface only (the outer box, connection points, the support loads its equipment makers state and the spaces that must stay free), Model only (the model of each shared version) or Design context (the model with that version's brief and context). A share made in the workspace lasts 90 days. Revoking it cannot be undone, and the share stays listed with who revoked it. In the workspace, the recipient is chosen from the companies yours already works with, in a delivery or through an earlier share.

In a pipe run or a set of final circuits, Passes through lists hosts shared with you under Shared with you. Choosing one asks the host's side for a link, and the design says it is waiting for them. The host's side confirms the link, and either side can withdraw it. Only a confirmed link is followed. When the host gets a newer version that the share covers, the reading design is run again against it with its own inputs unchanged, and its owner sees what changed. Recalculating spends nothing on either side. A version the share does not cover is not read, and once the share is revoked, the host is not read at all.

A design that is shared only the interface is told when a newer version changes the interface: which connection points, stated support loads, free spaces or outer box changed, measured against the version it reads.

Where it shows in the workspace

When you open Nordform without a link and anything is waiting on you, it opens on Waiting on you: one list across your designs and deliveries of the messages held for you, the tasks handed to you, the designs that follow one you changed, the interface values your firm has to answer, the decisions asked of you, what your company owes in a delivery (requests for information, changed values to answer, objections to settle, releases to sign, packages to issue and links to confirm), what reviewers sent back, the scenarios kept on your designs, the answers drafted for you to send, and the links from another company's design that your side has to confirm. A message that was handed to you as a task is listed once, as the task. Rows are grouped by design, with the designs that need you first. Each row is one sentence and one action. A task is marked done or refused, a decision answered, and a design that follows another updated or kept, in the list itself; any other action opens the place where it is decided. Nothing in the list changes a design until you press its button, and nothing is adopted from Slack or mail. A row from a company design or delivery says so, because its runs use the company allowance. When nothing is waiting, the workspace opens on the last project you had open.

A design's header shows where it listens (its Slack channel, and whether it takes mail) and the interface signals that reached it; on your own designs it also shows the designs that read it or that it reads. Each opens its setup or its list in a side panel. A filter shows only what came from outside in the design's chat. When scenarios have been kept on the design, the header counts the ones waiting and opens them in a list, where each is adopted or dismissed. A kept scenario is marked out of date when the design's inputs, the kernel it was computed with, or the version or rule pack of one of its checks has moved on since it was kept; its adopt button is then held, and it offers to run again on the current version.

On your own designs, the header also has a Graph: the design in the middle, what it reads on one side, what reads it on the other, and the packages it shares an interface with below. A read is drawn as a solid line, an interface as a dashed line and an open recalculation as a dotted line, coloured by state: agreed, pending, or disputed or failing. A withdrawn link stays on the graph, drawn grey. Every line opens the place where it is decided: the link between the two designs, the delivery with that interface selected, or the recalculation on the design that would adopt it. The graph shows one step around the design.

What a person does in the workspace is also written to the design's stream while the design has an address: a package issued, a sign-off given, a decision recorded and a version adopted. Each shows in the chat as one line under the version it happened on, and goes to webhooks as identifiers. If the owner turns it on, the roles also say it in the design's Slack channel (see Where messages come from).

Before you adopt a change in the chat, the adopt card says what adopting would touch: each design that reads this one, worked out again against the version you would make, with the opening, zone depth or support load it would then state; who holds a package of an earlier version; and where the message the change came from was answered. After you adopt, the chat lists what went out with the new version, with each design that follows linked to its own chat.

For companies

A company project can be given an address too. Administrators and editors manage it, everyone with access reads what arrives, and a change request runs as a company run on the company allowance, started by an editor with run authority, never on anyone's personal credits. Administrators and editors can keep a company run's proposal as a scenario, and kept scenarios wait in their Waiting on you. Company webhook destinations hear the three message events; the four workspace action events are for personal designs only. A company administrator shares the design with another company as a host, and confirms or withdraws the links that read it, under Share › Links.

Scope

See it

Watch a Slack message move a pump tells one change on a cooling plant: versions, proposals, checks, review, interface contracts, releases and feedback. The plant, its checks and the delivery record run in your browser; the people and what they write are scripted.

Developer documentation · Connectors · The design record · Discuss a project

Explore Nordform ↗