Node Basics

Creating a process or state diagram requires nodes, which are low-code building blocks that define the logic of of a workflow. Nodes range from complex nodes, like the API Call and Condition nodes, to simpler nodes, like the Delay node.

There are several ways to add a node, you may:

  • select the plus (+) sign on a connecting line and select a node to add,
  • select the plus sign at the bottom of an unconnected node,
  • drag a new node from the node logic pane, or
  • create a line between two existing nodes.

Adding nodes in MPO


In the table, we provide a list of the available nodes. For more in-depth information about specific nodes, either select the node name or see Simple Nodes and Additional Settings for Complex Nodes.

NameTypeDescriptionUse in process?Use in state diagram?
API CallComplexMake an API call.YesNo
Call ProcessComplexCall another process.YesNo
CodeComplexExecute JavaScript or Erlang code.YesYes
ConditionSimpleEvaluate logical conditions.YesYes
Copy TaskSimpleCopy a task from a separate process.YesYes
DelaySimpleDelay the task at this point.YesYes
End: ErrorSimpleEnd the task with an error.YesYes
End: SuccessSimpleEnd a successfully completed task.YesYes
Get From QueueComplexFetch task queue data.YesNo
Modify TaskSimpleModify a task in a separate process.YesYes
QueueComplexImplement queue logic.YesYes
Reply to ProcessComplexReply to a process call.YesNo
Set ParametersSimpleSet or modify the value of a parameter.YesYes
Set StateSimpleThis logic block allows you to define how you store a stream of data.NoYes
SumSimpleSum the value of parameters.YesNo
Waiting for CallbackSimpleWait for a reply to a request made to an external system.YesNo

Common settings

Select a node to open its settings. These may include a Basic Settings, Parameters, and an Additionally section. The settings common to all nodes are at the top and include options to Add title and Add description. Below that, the options available are Copy node, Remove node, Remove links, and Show node info.

The common node settings on MPO


Parameters (or variables) can be used in most nodes. You can declare your own parameters by selecting + Add “key-value” in the Parameters section of a node, selecting the Task parameters icon in top right (next to the bell icon) to set global parameters, or by using system parameters such as these:

  • {{root.task_id}}: The task ID generated by the system.
  • {{root.ref}}: The task reference.
  • {{root.conv_id}}: The process ID.
  • {{root.node_id}}: The node ID.
  • {{root.prev_node_id}}: The previous node’s ID.
  • {{root.create_time}}: The creation time of the task in unixtime.
  • {{root.change_time}}: The modification time of task in unixtime.
  • {{root.end_time}}: The dynamic time of timer work (for example, if you need timer to work at 8:00 AM).
  • {{root.user_id}}: The user ID of the user who last modified the task.

Please Note:
Within Mambu Process Orchestrator (MPO), floating point numbers are rounded to six decimal places.

Additional settings

The Additionally section contains extra settings, some of which are unique to that node type. Most nodes have two common settings that you can enable: Alert when there is tasks queue, which will notify you when tasks are stuck at this node, and Limit the time of the task in the node, which limits the execution time for that particular node.

The Additional settings in MPO

Error responses

Different types of nodes produce different error responses. To find the cause of an error, check the response table of the node. For example, for the Code node, an error in a task will produce a JSON response object with the following keys:

  • __conveyor_code_return_type_error__: This returns the type of error.
    • hardware: An in-process error usually caused by a server environment failure.
    • software: An error type usually caused by a misconfigured API Call or buggy code.
  • __conveyor_code_return_type_tag__: This returns an error code or short description.
  • __conveyor_code_return_type_description__: This returns a longer description of the cause of the error and may be enough to debug the process.