Node Basics

Creating a process requires nodes, which are low-code building blocks that define the logic of your process. Nodes range from complex nodes, like API Calls and Condition, to simpler nodes, like Delay.

To add a node to a process, you can either click the plus (+) sign on a connecting line and select a node to add, drag a new node from the command palette on the left-hand side to the workspace, or create a line between two existing nodes.

Adding nodes in MPO


NameTypeShort Description
API CallComplexMake an API call.
Call ProcessComplexCall another process.
CodeComplexExecute JavaScript or Erlang code.
ConditionSimpleEvaluate logical conditions.
Copy TaskSimpleCopy a task from a separate process.
DelaySimpleDelay the task at this point.
End: ErrorSimpleEnd the task with an error.
End: SuccessSimpleEnd a successfully completed task.
Get From QueueComplexFetch task queue data.
Modify TaskSimpleModify a task in a separate process.
QueueComplexImplement queue logic.
Reply to ProcessComplexReply to a process call.
SumSimpleSum the value of parameters.
Set ParameterSimpleSet or modify the value of a parameter.
Waiting for CallbackSimpleWait for a reply to a request made to an external system.

Common Settings

Click on 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 MP


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, clicking 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 am).
  • {{root.user_id}}: The user ID of the user who last modified the task.

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.