<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models</link><pubDate>Wed, 14 Feb 2024 18:57:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Current Revision posted to Guide by joel.larin on 2/14/2024 6:57:04 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1651.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1055.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4300.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/31</link><pubDate>Wed, 10 Jan 2024 16:31:32 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 31 posted to Guide by joel.larin on 1/10/2024 4:31:32 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1651.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1055.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4300.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/30</link><pubDate>Wed, 10 Jan 2024 16:26:46 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 30 posted to Guide by joel.larin on 1/10/2024 4:26:46 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1651.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1055.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4300.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/29</link><pubDate>Wed, 10 Jan 2024 16:26:09 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 29 posted to Guide by joel.larin on 1/10/2024 4:26:09 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1651.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1055.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8400.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/28</link><pubDate>Wed, 10 Jan 2024 16:25:50 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 28 posted to Guide by joel.larin on 1/10/2024 4:25:50 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1651.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3808.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8400.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/27</link><pubDate>Wed, 10 Jan 2024 16:25:27 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 27 posted to Guide by joel.larin on 1/10/2024 4:25:27 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6011.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3733.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3808.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8400.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/26</link><pubDate>Wed, 10 Jan 2024 16:24:52 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 26 posted to Guide by joel.larin on 1/10/2024 4:24:52 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3568.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3733.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3808.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8400.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/7485.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/25</link><pubDate>Wed, 10 Jan 2024 16:23:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 25 posted to Guide by joel.larin on 1/10/2024 4:23:14 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/6661.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/2117.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/1638.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4718.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3704.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/24</link><pubDate>Wed, 10 Jan 2024 16:21:48 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 24 posted to Guide by joel.larin on 1/10/2024 4:21:48 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table class="formatted-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/0245.Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class="table-icons"&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/23</link><pubDate>Wed, 10 Jan 2024 15:50:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 23 posted to Guide by joel.larin on 1/10/2024 3:50:01 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/22</link><pubDate>Wed, 10 Jan 2024 14:41:56 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 22 posted to Guide by joel.larin on 1/10/2024 2:41:56 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/21</link><pubDate>Wed, 10 Jan 2024 14:31:19 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 21 posted to Guide by joel.larin on 1/10/2024 2:31:19 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/20</link><pubDate>Wed, 10 Jan 2024 14:26:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 20 posted to Guide by joel.larin on 1/10/2024 2:26:04 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;&lt;strong&gt;Records Updated&lt;/strong&gt;: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error Occurred&lt;/strong&gt;: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Error&lt;/strong&gt;: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/19</link><pubDate>Wed, 10 Jan 2024 14:19:30 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 19 posted to Guide by joel.larin on 1/10/2024 2:19:30 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="process_model_data_flow"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="node_data_flow"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;Records Updated: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;Error Occurred: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;Error: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="user_input_task_configuration"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/18</link><pubDate>Wed, 10 Jan 2024 14:17:22 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 18 posted to Guide by joel.larin on 1/10/2024 2:17:22 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/3005.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8311.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/8475.Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:50px;max-width:50px;" alt=" " src="/resized-image/__size/100x100/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2 id="mcetoc_1hjprlequ0"&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2 id="mcetoc_1hjprlequ1"&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;Records Updated: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;Error Occurred: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;Error: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2 id="mcetoc_1hjprlequ2"&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/17</link><pubDate>Wed, 10 Jan 2024 14:15:33 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 17 posted to Guide by joel.larin on 1/10/2024 2:15:33 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt=" " src="/resized-image/__size/100x60/__key/communityserver-wikis-components-files/00-00-00-00-46/7571.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/5074.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1718x648/__key/communityserver-wikis-components-files/00-00-00-00-46/image4.png" /&gt;&lt;/div&gt;
&lt;h2&gt;Process Model Data Flow&lt;/h2&gt;
&lt;p&gt;Examine how data flows in the life cycle of a process instance. In the following example, we have initiated a record action as a registrar to add a new vehicle to a vehicle database.&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;After initiating the action, the registrar is taken to the start form for the process model. This start form contains rule inputs for managing the data associated with the form that are accessed with the ri! domain prefix.&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Once the registrar has input the new vehicle data into the rule input ri!vehicle and clicks submit, the data in ri!vehicle is then transferred to the process variable pv!vehicle.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;For the subsequent nodes, process variable data is passed to the activity class parameters for the node, the node manipulates the data, then the data stored in the activity class parameters is sent back to the process variables.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x798/__key/communityserver-wikis-components-files/00-00-00-00-46/image3.png" /&gt;&lt;/div&gt;
&lt;p&gt;When we connect different nodes together in a process model, we assemble different features together in a specific order. In the above example, the process execution engine executes the start form first, then the script task, and so forth, all the way to the end node.&lt;/p&gt;
&lt;h2&gt;Node Data Flow&lt;/h2&gt;
&lt;p&gt;Every node in a process model performs a specific function, based on the inputs and outputs it is provided. For example, the Write Records node writes a set of Record information to the database. The Write Records node can&amp;rsquo;t just write any record, however, it writes a set of record information that the process model specifies. If the node is not given an input, the write records node doesn&amp;rsquo;t know what to do and will error out.&lt;/p&gt;
&lt;p&gt;Every type of node (Script Task, Write Records, etc.) has different inputs and outputs. These inputs and outputs are referred to as Activity Class Parameters. Activity Class Parameters are effectively local variables for their associated node and their data does not persist in memory unless explicitly saved to a process variable. These parameters are managed in the Data tab of a node which is split into two corresponding Node Inputs and Node Outputs sections. Node Inputs define the data being passed into the node, and Node Outputs define the data available to be passed out of the node.&lt;/p&gt;
&lt;p&gt;Some nodes have Activity Class Parameters that are required for the node to function (like the Node Input &amp;ldquo;Records&amp;rdquo; in a Write Records node). Some nodes have specific outputs defined as a result of the node&amp;rsquo;s function. For example, the Write Records node has three defined results:&lt;/p&gt;
&lt;ol style="font-size:115%;"&gt;
&lt;li&gt;Records Updated: a list containing the primary keys of records and related records updated&lt;/li&gt;
&lt;li&gt;Error Occurred: a boolean that returns true if any record writes fail&lt;/li&gt;
&lt;li&gt;Error: the error that occurred when writing the records&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other nodes, however, do not have defined results and require different configurations. Two primary examples of nodes without results are Script Tasks and User Input Tasks.&lt;/p&gt;
&lt;p&gt;Take a closer look at the data flow through a User Input Task where the data for the process variable, pv!vehicle, is modified via user interaction on an interface.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/1676x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image2.png" /&gt;&lt;/div&gt;
&lt;p&gt;Interfaces can&amp;rsquo;t directly use process variables, so in order for the Supervisor Review interface to receive and manipulate the data from the process variable, the data must first be mapped to the Node Inputs which directly correspond to the rule inputs of the form. Once mapped the data can flow from process variable to node input to rule input to node output finally back to process variable.&lt;/p&gt;
&lt;h2&gt;User Input Task Configuration&lt;/h2&gt;
&lt;p&gt;Understanding that the data needs to be passed from process variable to activity class parameter to rule input and back again, consider the configuration required to make this work. After adding the form to the Form tab of the User Input Task and allowing the process modeler to automatically create Activity Class Parameters for the associated rule inputs, the node inputs must be configured.&lt;/p&gt;
&lt;div style="margin-bottom:3rem;margin-top:3rem;"&gt;&lt;img style="box-shadow:3px 3px 5px rgba(0, 0, 0, 0.1);" alt="Process Model Alerts" src="/resized-image/__size/788x516/__key/communityserver-wikis-components-files/00-00-00-00-46/image8.png" /&gt;&lt;/div&gt;
&lt;p&gt;Here, the value parameter for the node input vehicle is pv!vehicle. The value parameter tells the process to take pv!vehicle and pass it into ri!vehicle of the form. If the value parameter is left blank, then the form will launch with a null value for ri!vehicle.&lt;/p&gt;
&lt;p&gt;Next consider how the data returns from the rule input of the form back into the process variable. This is addressed by the save into parameter for the node input vehicle. The process assigns the &amp;ldquo;Review New Vehicle&amp;rdquo; task to a supervisor, who then opens the form, changes some vehicle information, and hits submit. Since the supervisor is working within the interface, all of those changes are stored in ri!vehicle of the interface, not in pv!vehicle of the process model.&lt;/p&gt;
&lt;p&gt;The save into parameter for the vehicle node input allows the changed information in ri!vehicle on the form to be passed back into the process as pv!vehicle. Until the supervisor hits submit, pv!vehicle is the older, outdated version of the vehicle information. Thus, if the save into parameter is left blank, the process variables will not receive any changes from the user input task and the process will continue as if the user input task had no impact to the data at all.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: process models, Data Management&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/16</link><pubDate>Wed, 10 Jan 2024 14:03:41 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 16 posted to Guide by joel.larin on 1/10/2024 2:03:41 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:50px;" alt=" " src="/resized-image/__size/100x60/__key/communityserver-wikis-components-files/00-00-00-00-46/7571.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&amp;nbsp;&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/5074.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&amp;nbsp;&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&amp;nbsp;&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/15</link><pubDate>Wed, 10 Jan 2024 14:02:18 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 15 posted to Guide by joel.larin on 1/10/2024 2:02:18 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:50px;" alt=" " src="/resized-image/__size/100x60/__key/communityserver-wikis-components-files/00-00-00-00-46/7571.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/5074.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/14</link><pubDate>Wed, 10 Jan 2024 14:02:01 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 14 posted to Guide by joel.larin on 1/10/2024 2:02:01 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:50px;" alt=" " src="/resized-image/__size/100x60/__key/communityserver-wikis-components-files/00-00-00-00-46/8535.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/5074.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/13</link><pubDate>Wed, 10 Jan 2024 14:01:40 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 13 posted to Guide by joel.larin on 1/10/2024 2:01:40 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/8535.Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/5074.Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/4135.Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>Data Flow in Process Models</title><link>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models/revision/12</link><pubDate>Wed, 10 Jan 2024 14:00:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:b41b0589-8c5f-4cdb-88a3-a7d1720fcb85</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3444/data-flow-in-process-models#comments</comments><description>Revision 12 posted to Guide by joel.larin on 1/10/2024 2:00:37 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="skills_covered"&gt;Skills Covered&lt;/h2&gt;
&lt;p&gt;In this guide you&amp;#39;ll learn how to pass data through Appian Process Models.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Skills Checklist&lt;/strong&gt;&lt;/h4&gt;
&lt;ul style="font-size:115%;"&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Recall applicable domain prefixes to handle variables in process models&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Explain how data flows through a process model&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Describe how data flows through a process model node&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Configure the node inputs of a user input task&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="domain_prefixes"&gt;Domain Prefixes&lt;/h2&gt;
&lt;p&gt;Each design object has a specific domain prefix that is used to reference their associated variables.&lt;/p&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Design Object Type&lt;/th&gt;
&lt;th&gt;Domain Prefixes&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:16px;max-width:30px;" alt=" " src="/resized-image/__size/60x32/__key/communityserver-wikis-components-files/00-00-00-00-46/Record-Types.png" /&gt;&lt;/td&gt;
&lt;td&gt;Record Type&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;rv!&lt;/strong&gt;(record variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:16px;max-width:30px;" alt=" " src="/resized-image/__size/60x32/__key/communityserver-wikis-components-files/00-00-00-00-46/Process-Model.png" /&gt;&lt;/td&gt;
&lt;td&gt;Process Model&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;pv!&lt;/strong&gt;(process variable)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Interface.png" /&gt;&lt;/td&gt;
&lt;td&gt;Interface&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:30px;max-width:30px;" alt=" " src="/resized-image/__size/60x60/__key/communityserver-wikis-components-files/00-00-00-00-46/Expression-Rule.png" /&gt;&lt;/td&gt;
&lt;td&gt;Expression Rule&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img style="max-height:16px;max-width:30px;" alt=" " src="/resized-image/__size/60x32/__key/communityserver-wikis-components-files/00-00-00-00-46/Integration.png" /&gt;&lt;/td&gt;
&lt;td&gt;Integration&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;ri!&lt;/strong&gt;(rule input)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Within the process model designer you will encounter additional domain prefixes that are unique to process models. These additional prefixes grant you access to data used throughout the process model, including process model properties, individual task/node properties, individual instance properties, and node functional data.&lt;/p&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>