Business processes in Creatio can interact with Creatio records, which are generally referred to as “data”. A business process can let the user interact with data in a specific way, or work with data on the background, without the user involvement.
This article covers the principles of how business processes work with Creatio section, detail or lookup records (a.k.a. “data”).
When and why do you need to work with data
Every practical task in Creatio involves working with section, detail or lookup records. To automate these tasks, all business processes in Creatio have to interact with data in one way or another.
Here are some of the more typical cases of working with data:
Business task | Creatio task | Process task |
---|---|---|
Schedule a meeting with the customer. | Create a new record in the [Activities] section. | Add new data |
Set opportunity amount same as the opportunity budget | Obtain the value of the [Budget] field of a specific record in the [Opportunities] section | Read existing data |
Modify the [Amount] field of the same record. | Modify existing data | |
Clear employee’s schedule for the next week | Delete records in the [Activities] section that have specific values in the [Owner] and [Start] fields. | Delete data |
Example
Check Creatio marketplace for free business process templates illustrating the examples of working with Creatio data using business processes. Click here to download the template.
After installing the marketplace template, a new “Academy examples” folder will appear in the [Process library] section. It will contain 4 processes: “Read data process element”, “Modify data process element”, “Delete data process element” and “Add data process element”, each containing several examples of using the said element, covered in this article.
In all these cases, specific data must be accessed in a business process and specific changes must be made to the Creatio database as a result.
When working with data, a business process can obtain it directly from the database, or use data that has been obtained earlier. Any data obtained from the database, generated by the process itself or entered by the user are available as the parameter values and can be accessed by the process at any time.
As you can see, working with data boils down to four basic operations: adding, modifying, reading and deleting data. In the next chapter, we are going to examine how these operations are implemented in the Creatio business process engine.
Operations with data
On the database level, all interactions with data boil down to four basic “CRUD” operations: creating, reading, updating and deleting records. Most business process tasks perform these operations automatically, as part of their logic:
-
[Perform task], [Send email] – create new records.
-
[Open edit page], [Pre-configured page], [Approval] – create and update records.
-
[Signal] start event and [Wait for signal] – read records.
In addition, there are four business process elements in Creatio that are designed for performing each of the CRUD operations with data. Usually, data-specific tasks are used in the following cases:
-
[Read data] – regular process tasks require data that is not available in the process.
-
[Add data], [Modify data], [Delete data] – you need to create, update or delete Creatio records on the background, without opening any pages or creating tasks for the process user.
Regardless of the use case, the setup of each data-related process task includes several typical steps.
Read data:
-
Identify the object that contains the record to read and the columns whose values must be read.
-
Identify the record whose values must be read.
Add data:
-
Identify the object to add records in and the columns will be populated for the new record.
-
Identify the data, which will be written into the columns of the new record: these can be static values or values obtained from other process parameters.
Modify data:
-
Identify the object that contains the record to modify and the columns whose values must be changed.
-
Identify the record whose values must be modified.
-
Identify the data, which will be written into the columns of the modified record: these can be static values or values obtained from other process parameters.
Delete data:
-
Identify the object to delete records in.
-
Identify the record to delete.
As you can see, using the four basic operations in the Creatio business process engine involves three general steps: identifying the object and the column, identifying the needed record and identifying the source of the new data.
Identifying objects and columns
As you can see, each data-related operation requires that you identify Creatio object, which contains the needed data. Additionally, all operations (with the exception of the “Delete data”) require that you specify the columns, whose values must be read, added or modified. For example:
-
To schedule a meeting with a customer in Creatio, you need to add a record in the [Activity] object and populate its [Subject], [Start], [Due] as well as [Contact] and/or [Account] columns.
-
To set the amount of an opportunity same as its budget, you need to:
a.Read the value in the [Budget] column of a specific record in the [Opportunity] object.
b.Modify the [Amount] record in the [Opportunity] object, by setting its value to the one that you obtained from the [Budget] column.
-
To clear an employee’s schedule for the next week, you need to delete specific records in the [Activity] object.
All Creatio data is stored as column values of records from different objects (Fig. 1):
To use the needed Creatio data in your business process, you need to identify the needed object, columns and records:
-
The object (section, detail or lookup). Creatio objects are roughly equivalent to database tables. For example, the [Account] object contains all accounts, [Activity] object contains all activities, etc.
-
The object columns (a.k.a. “fields”). Creatio columns are equivalent to database table columns. For example, the “Name” column contains account names, “Created on” – the dates when accounts were created, etc.
-
The record (an “instance” of the object). Creatio records are equivalent to database table rows. For example, a record is a particular account, contact, or activity.
Identifying necessary records
When looking for specific data, you usually know the object and the columns, since you understand what information is needed (e.g., “I need the name of a certain contact”). The trick is to identify the needed record (in this case, specific contact).
There are two ways of selecting records:
-
Using a logic condition, i.e., a “filter”. For example, you need to read, modify or delete all records in the [Activity] object, where the [Status] column contains “Canceled”.
-
Using a record Id, which can be obtained from a process or element parameter.
Identifying a specific record
Record Id is a column value that uniquely identifies a record in Creatio database. Record Id is stored in the [Id] column, which is available in all Creatio objects (Fig. 2). When working with business processes, you can obtain a record Id from process or element parameters.
Process parameters are special kind of process properties that store data used for process and element execution, as well as data that is the result of such execution. Read more >>>
There are three general cases of obtaining a record Id when designing a business process:
-
From a process parameter. Such parameters are usually available in processes that are used as sub-processes, as well as processes that are run manually, by a specific record.
-
From an object signal element – start [Signal] or intermediate [Wait for signal] events in the “Object signal” mode (triggered by changes in Creatio records). Read more >>>
-
From an outgoing parameter of a process element, that was working with the needed record.
The following process elements work with data automatically and have outgoing parameters that store field values of Creatio records:
-
[Perform task] – field values of the task activity, including its Id.
-
[Open edit page] – field values of the corresponding record.
-
[Pre-configured page] – if a data source object is set, the element has parameters for all of the object columns.
-
[Send email] – field values of the email record (“From”, “To”, Ids of linked records, etc.).
-
[Signal] – for object signals, Id of the record that triggered the signal.
-
[Wait for signal] – for record signals, Id of the record that triggered the signal.
-
[Sub-process] – any outgoing parameters of the business process selected as a sub-process.
You can identify the needed record by Id, obtained from process and element parameters when either of the following is true:
-
The process start element is [Signal] in the “object signal” mode (the process starts automatically when data in a specific Creatio object is changed).
-
The process is run by the needed record: initiated manually from the record page or as part of a dynamic case.
-
Previous process elements have already worked with this record, and you need to work with the same record repeatedly.
If the Id of the needed record is available in a process or element parameter, you can use parameter mapping to specify it in the filter area of the [Read data], [Modify data] or [Delete data] element (Fig. 3). You essentially need to create a filter by the [Id] column and select [Compare with Parameter] in the menu when specifying the column value.
In the opened window (Fig. 4), select the process or element that contains the parameter whose value will be the needed Id.
As a result, the filter will always return one record, since two records cannot have the same Id in Creatio database.
More information about mapping parameters is available in a separate article.
Identifying a set of records via conditions
Usually, you want to identify by using regular filter criteria if:
-
A process task must work with a selection of records: read a collection of records, modify or delete all records that match criteria.
-
A process task must work with a single record that match the selection criteria (“the first record in selection”).
To identify records using criteria, you need to apply a filter by the needed columns, using standard Creatio filter module in conjunction with record sorting rules (Fig. 5).
For example, you can select the latest completed call, by filtering activities by the type and status fields and sorting the results in the descending order.
More information about the filter functionality is available in the User Guide.
Identifying new data to write into columns when adding or modifying records
After finishing their operations with data, process elements pass data to their outgoing parameters for further use. For example, after an activity is created via the [Perform task] element, its Id and other data are passed to the outgoing parameters (Fig. 6). Using these parameters, you can access that same activity later, down the process flow.
The parameters match the name and type of the corresponding Creatio fields. For example, a contact’s job title is stored in a “String” (text) field and is passed to a “Text” parameter, while the due date of an activity is stored in a “Date/time” field, and is passed to a “Date/time” parameter.
Process elements for working with data and their use cases
In addition, there are four process elements for working with data specifically, one per each possible operation:
| Obtain data from the database for later use in the business process. The fetched data is stored in the outgoing parameters of the [Read data] element. Use cases: |
| Create new records in the specified Creatio section or lookup with the specified values in the specified fields. Use cases: |
| Changes values of the specified fields of a specific section or lookup record. Use cases: |
| Automatically deletes records in a specified object. Use cases: |
See also