--- title: "Business Logic (Nodes)" slug: "business-logic-nodes-1" updated: 2024-11-07T05:19:57Z published: 2024-11-07T05:19:57Z canonical: "help.csgi.com/business-logic-nodes-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.csgi.com/docs/llms.txt > Use this file to discover all available pages before exploring further. # Nodes: Business Logic There are several ways to express business logic within a graph. The following nodes are available: | Node | Icon | Description | | --- | --- | --- | | [Ghost Node](/v1/docs/ghost-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-14-7.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | A placeholder node that is automatically added to a graph | | [Comment](/v1/docs/comment-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-14-31.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Annotate a graph with comments to make it easier to understand | | [Return Node](/v1/docs/return-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-15-2.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Return a value from a graph | | [Set Node](/v1/docs/set-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-15-36.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Set a value in the schema or a public variable from the schema, a public variable or a literal | | [Get Node](/v1/docs/get-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-15-58.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Get a value from the schema, a public variable, or a literal | | [Loop Node](/v1/docs/loop-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-16-18.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | The loop node allows a graph to be executed many times | | [Conditional](/v1/docs/conditional-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-10-44.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Used for testing arbitrary boolean expressions resulting in True or False outcomes | | [2D Table](/v1/docs/2d-table-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-10-2(1).png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Used for evaluating conditions involving exactly two input values (dimensions) resulting in a single outcome. | | [JavaScript](/v1/docs/javascript-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-11-17(1).png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Execute arbitrary JavaScript code and return any valid JavaScript value or object. | | [Columnar Table](/v1/docs/columnar-table-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-10-26.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Evaluate complex conditions using multiple input fields and set multiple outcomes. | | [Decision Tree](/v1/docs/decision-tree-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-11-1.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Visual segmentation based on rules and any number of fields | | [Split Test](/v1/docs/split-test-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-12-6.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | A learning node that will create random recommendations until a winner is chosen. | | [Save Interaction](/v1/docs/save-interaction-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screen%20Shot%202019-10-03%20at%2012.31.56%20PM.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Saves the details of the current interaction to the Xponent Profile Store | | [Update Profile](/v1/docs/update-profile-node) | ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screen%20Shot%202019-10-03%20at%2012.32.05%20PM.png?sv=2026-02-06&spr=https&st=2026-10-26T13%3A37%3A30Z&se=2026-10-26T14%3A37%3A30Z&sr=c&sp=r&sig=%2Fr%2Fx4JdSunO%2FIYtVyA%2FZBOzGdJsLd%2BswCo%2FICCykrQM%3D) | Synchronizes the customer profile data from the current graph to the Xponent Profile Store |