Connections

Connect neurons so one starts another and passes its result on.

A connection joins two neurons: the first one (the parent) starts the second one (the child) and can pass it values. Use connections to break a task into steps, for example one neuron pulls out the facts, the next analyses them, and a third writes the email. Neurons joined by connections form a flow.

Make a connection on the canvas

  1. Click the Transmitter on the right edge of the parent neuron.
  2. Click the Receptor on the left edge of the child neuron.

Press Esc to cancel before you click the second neuron. On a phone, tap the transmitter, then tap the other neuron's left edge.

To add a new neuron that is already connected, click + (Add a neuron after this one) on the parent.

The connections window

The connections window lists a neuron's parents and children and lets you connect or disconnect them. Open it in any of these ways:

  • in START, open Other neurons and click Manage;
  • in SEND, under Neuron Out, click Manage;
  • click the badge in the middle of a connection line on the canvas.

In the window:

  1. Choose the Parents tab (neurons that start this one) or the Children tab (neurons this one starts).
  2. Find a neuron with Search neurons... and click Connect, or click Disconnect to remove a connection.
  3. Open a connection to set when it starts and what it passes.
  4. Click Done.

When a connection starts the child

Each connection is a trigger. Open the connection and, under START · when does the child run?, choose:

  • After it finishes: the child starts right after the parent finishes. The parent's MAKE result can be passed.
  • When it starts: the child starts at the same time as the parent. The parent's result isn't ready yet; its GET inputs are.

Connections made from the red On error dot (marked IF IT FAILS) start the child only when the parent fails. A connection's trigger can't be switched to failure afterwards. See On error links. In the connections window, each parent shows its trigger, such as AFTER IT FINISHES.

Pass values from parent to child

By default, a connection that starts After it finishes passes the parent's result into the child's Connection input: the connection shows "Default: … result arrives as … connection input". To send values somewhere else, link them in the connection, under What the child gets from the parent:

  1. Open the connection.
  2. Click an item on the parent's side: a GET input, the DO Instructions, or the MAKE Result.
  3. Click where it should go on the child's side, such as one of its GET inputs or its Instructions. Places that don't fit are faded.
  4. To undo a link, click Remove link.

A connection that starts When it starts, and a decision's connections, pass nothing unless you link something. A decision only starts the neurons on the condition it picks; link its GET inputs to pass them.

Wait for all parents

When a neuron has several parents, the connections window lets you choose what happens as they finish, under When several parents finish:

  • Run once per parent: the child runs each time any parent finishes.
  • Wait for all parents: the child waits until all its parents finish, then runs once with all their values. Connections set this way show WAITS FOR ALL.

You can also set this per connection: open it and choose Wait for all parents or Start it right away. Each waiting parent needs its own input on the child.

Other ways to start a connected neuron

A child neuron's own Play button and schedules still work. A connection adds one more way to start it; it doesn't replace the others.

Common problems

A link breaks when the input or value it points at is deleted or changes type. The connection shows the broken links, and the child may not get its value. Open the connection, click Remove link on the broken link, and link the value again.

A decision's connection never runs

A decision's connection runs only when the decision picks its condition. A connection with No branch picked never runs: open it and pick a condition.

The child neuron didn't start

Check the connection's trigger. If parent fails connections start the child only when the parent fails. If the child is set to wait for all parents, it starts only after every waiting parent has finished.

If a neuron finishes but the next step still doesn't start, its card shows Done, but the next step didn't start (Failed, but the next step didn't start after a failure), with the neurons that didn't start. Click Start next step to start them now, or Dismiss to remove the notice. If the neuron is running, or has run again since, Start tells you so and does nothing.

Instructions take text only

You can link only text into a neuron's instructions. Link a file or table into an input of the matching type instead.

Connections - Docs