Business process setup guide (BPMS)
PDF
This documentation is valid for Creatio version 7.15.0. We recommend using the newest version of Creatio documentation.

Process parameters

Every process task requires some form of input, e.g, the date and time of a meeting, task assignee, customer’s contact, etc. In addition, it is often necessary to exchange data between elements within the same business process (e.g., sending an email to the same contact that was specified in the meeting), as well as between different processes (e.g., branching a process depending on the result of its sub-process). 

The following table outlines common business tasks from the standpoint of process execution mechanisms in Creatio:

Business task

Creatio task

Process task

Schedule a task and make it easily identifiable in the calendar

Create a new record in the [Activities] section with a certain value in the [Subject] field

Manually enter the title of the task that must be created as the value of the [What should be done?] parameter of the [Perform task] element. Read more>>>

Assign a task to the user who started the process

The [Owner] field of the record in the [Activities] section should be populated with the current user contact

Set the “Current user contact” variable as the value of the [Who performs the task?] parameter of the [Perform task] element. Read more>>>

Email the meeting contact immediately after the meeting has ended

Create a new email whose [To] field will contain the email address of a contact who was specified in the [Contact] field of the meeting activity

The [To] parameter of the [Send email] element must have the same value as the [Contact] parameter of the [Perform task] element. Read more>>>

Example

Check Creatio marketplace for free business process templates (Fig. 1, Fig. 2, Fig. 3, Fig. 4, Fig. 5) illustrating the examples of using process parameters. Click here to download the template.

After installing the marketplace template, two new processes will appear in the [Process library] section: “Call a client” and “CEO review” processes. Select a process and click [Open] to view its diagram. The business process examples mentioned in this article will be available in these two processes.

Fig. 1 Example of obtaining parameter value from another parameter

chapter_process_principles_template_parameters_map_from_signal.png 

Fig. 2 Example of specifying a system variable (current user contact) as parameter value

chapter_process_principles_template_parameters_current_user.png 

Fig. 3 Example of obtaining parameter value from a record created as part of the process

chapter_process_principles_template_parameters_created_record.png 

Fig. 4 Example of exchanging parameter values between a subprocess and the parent process

chapter_process_principles_template_parameters_of_subprocess.png 

Fig. 5 Diagram of the “CEO review sub-process”

chapter_process_principles_template_parameters_subprocess_diagram.png 

Creatio uses parameters to solve the aforementioned process tasks.

What are parameters?

Parameters are similar to fields on Creatio record pages: they can be populated with values of different data types (text, numerical, lookup, etc.). In Creatio, business process parameters serve two functions:

Since parameters represent the state of a process element or a process after its execution is complete, their values can be used for branching processes using gateways and conditional flows.

Parameters are available in both business processes and process elements.

Element parameters are displayed on the element setup area. For example, the [To] field in the [Send Email] process element (Fig. 6) is a text parameter whose value represents the recipient’s email address.

Fig. 6 Element parameters

chapter_process_principles_element_parameters.png 

Important element parameters are available on the element’s setup area by default, whenever you select an element on the diagram. If the element setup area is closed, simply double-click the element to open it. To access all parameters of an element, switch to the “advanced” mode (Fig. 7).

Fig. 7 Switching an element setup area to the “advanced” mode

chapter_process_principles_advanced_mode.GIF 

Note

The names of parameters in the “regular” and “advanced” modes may be different. To locate which parameter is being populated, type in a random value for the necessary parameter in the “regular” mode, switch to the “advanced” mode, and locate the value in the list of parameters.

Process parameters are available on the [Parameters] tab in the process setup area (Fig. 8), which you can access by clicking icn_process_properties.png or an empty space on the Process Designer working area (if the element setup area is open).

Fig. 8 The [Parameters] tab of the Process Designer setup area

chapter_process_principles_parameters_tab_process.png 

Parameter types

The type of parameter depends on the data type of its value. The types of parameters are roughly similar to types of Creatio section and lookup columns, which in turn correspond to columns in the Creatio database.

The following parameter types are available in Creatio:

chapter_process_principles_text.png Text

A parameter whose value is a text string that can represent a constant value, or a value generated during the process flow. For example, the [What should be done?] parameter of the [Perform task] element.

chapter_process_principles_decimal.png Decimal

Stores and exchanges decimal numeric values. For example, the [Function result] parameter of the [Read data] element.

chapter_process_principles_integer.png Integer

Stores and exchanges integer numeric values. For example, the [Start executing in] parameter of the [Perform task] element.

chapter_process_principles_boolean.png Boolean

Stores logical values (true or false). For example, the [Answer required] parameter in the [User dialog] element.

chapter_process_principles_lookup.png Lookup

A parameter which stores a value from a lookup (i.e., a link to a lookup record). For example, the [Who fills in the page?] parameter of the [Open edit page] element can be populated with values from the [Contact] lookup.

chapter_process_principles_date_time.png Date/Time

Stores certain date/time values. For example, the [Start date and time] parameter of the [Start timer] event.

chapter_process_principles_decimal00012.png Currency

Stores values of currency fields. Learn more about currency fields in the corresponding article.

chapter_process_principles_date_object.png Collection of Objects

Collection parameters contain complex values, each representing a number of entries, such as a number of contacts with name, address and a phone number specified for each contact. This parameter type can be used by developers in scripts and by regular users in subprocess parameters and web service calls.

chapter_process_principles_date_Id.png Id

Stores a unique record identifier. For example, the [Id] parameter of the [Signal] start event.

Depending on when and how a parameter value is populated, it can be either incoming, outgoing, or bidirectional.

  • Incoming parameters are populated before the element or process is executed. Incoming parameters affect the process element execution.

  • Outgoing parameters are populated during the process/element execution and usually represent its result, or the state the process or element is in after it has completed.

In a bidirectional parameter, an incoming value can be replaced with outgoing value, e.g., a task was connected to a specific contact but needs to be replaced with a different contact during process execution.

Populating parameter values

You can populate incoming parameter values ​​in one of the following ways:

  • Enter a static parameter value manually. In this case, parameter values are specified directly, when the process is designed and are always the same in all process instances. For example, the name of the task (the [What should be done?] parameter) created with the help of the [Perform task] element. Read more>>>

  • Select a “system setting” (e.g., “Test email recipient”) or a “system variable” (e.g., current date and time, current user contact, current user account, etc.) whose value will be passed to the parameter. In this case, parameter values will be the same as the values of corresponding system settings or system variables at the time of process execution. For example, if you select the current user contact as the [Who performs the task?] parameter value in the [Perform task] element, the task will be created for the user who started the process. Read more>>>

  • Use a formula. Multiple parameters can be combined or converted to other types using formula syntax, e.g., combining a text string with a parameter value. Read more>>>

  • By obtaining a value from another parameter. This method enables you to get a parameter value from a different parameter in the process. For example, you can get the contact with whom the meeting had been previously scheduled (the [Contact] parameter of the [Perform task] element) and pass this value to the [To] parameter of the [Send Email] element.

Obtaining parameter values from another parameter

A parameter can be configured to obtain its incoming value from another parameter with the same data type.

For example, a new contact is added via an [Open edit page] element, and later in the process flow a meeting must be scheduled with that same contact. In this case, the value of the “source” [Record Id] parameter (where the record Id of created contact is stored) of the [Open edit page] element must be passed to the “target” [Contact] parameter of the [Perform task] element. Read more>>>

Note

Make sure that the “source” parameter is properly populated at the time when the “target” parameter obtains its value.

Most of the time, parameters can only receive values from other parameters of the same type. However, certain parameters can receive values of other parameter types, namely:

  • Date/time parameters can store interchangeable values: you can specify a date value in the time parameter and vice versa.

  • Integer and decimal parameters can store interchangeable values, i.e. you can specify a decimal value in the integer parameter and vice versa. Integer and decimal values will be converted depending on the parameter they are passed to.

  • Lookup parameters can store a record’s unique identifier (Id). For example, specify the Id of a contact in a lookup parameter whose values can be selected from the [Contacts] lookup.

To obtain a parameter value from a different parameter:

1.Click the btn_process_element_settings_lookup.png button next to the field of the “target” parameter (the one, which must be populated).

2.Select [Process parameter] from the menu (Fig. 9). The parameter selection window (Fig. 10) will open.

Fig. 9 Opening the process parameter selection window

chapter_process_parameters_call_select_parameter_contact_field_2.png 

3.Select a “source” process or element parameter (the one, whose value must be passed to the current parameter) in the parameter selection window.

The element parameter selection tab (Fig. 10) of the parameter selection window displays a list of elements in the current process (1). Select an element on the left-hand side of the window and the list of its parameters will be displayed to the right (2). This list only displays parameters whose type corresponds to the “target” parameter. Double-click a parameter in the list to populate the “target” parameter with its value.

Fig. 10 The element parameter selection tab

chapter_process_principles_parameters_element_param.png 

The [Process parameters] tab (Fig. 11) displays all available process parameters. This list only displays parameters whose type corresponds to the “target” parameter. Double-click a parameter in the list to populate the “target” parameter with its value.

Fig. 11 The process parameter selection tab

chapter_process_principles_parameters_process_param.png 

Use cases

How to specify static and variable parameter values

How to run business processes for section records

How to pass parameters between process elements

How to pass parameters between business processes

Did you find this information useful?

How can we improve it?