UiPath Data Service at the Service of Development!

Will Pedroso
Suzano DigitalTech
Published in
3 min readFeb 21, 2024
UiPath Data Service logo.

In our daily lives as automation developers, we frequently come across scenarios that require the extraction, manipulation, processing and use of different types of data. Not only that, but also the transition of this data through different workflows.

Take as an example a scenario in which we need to develop a workflow to extract various information about a customer from an queue item and pass this data as output arguments to be used in other workflows of our automation.

What would be the ideal approach for transporting this data?

Let us consider three types of approach to use in this scenario:

  • The use of variables.
  • The use of a dictionary.
  • The use of an entity.

Using Variables:

Print from UiPath Studio using variables as output arguments.
Workflow of extracting data from queue items using variables as output arguments.

In the first approach, when using variables, the need for a large number of output arguments in the flow is noticeable. This strategy would require more development time, creating N output arguments and N input arguments in all flows that use this data. Furthermore, we would have no control over the validation of the data received.

Using Dictionary:

Print from UiPath Studio using dictionary as output argument.
Flow of extracting data from queue items using dictionary as output argument.

When comparing the use of the dictionary approach to the variable approach, the considerable savings in arguments needed in the flow become evident. This way, you save a lot of time in development, without the need to create a variable for each customer data. However, it would be necessary to develop a data validation sequence to ensure that it meets the minimum requirements necessary for its correct use in other automation flows.

Using Entity (Data Service):

Print from UiPath Studio using entity as output argument.
Flow of extracting data from queue items using entity as output argument.

Finally, when using the entity approach using Data Service to transport this data, it is clear that the number of arguments needed in the flow is still minimal — an input argument for the queue item and an output argument containing the “Client” object with data relating to the client. However, it is possible to notice an important difference between dictionary use and entity use. Using the entity, it is possible to validate the data while assigning it to the “Client” object using the “Create Entity Record” activity. With just this activity, it is possible to check at development time what mandatory data this object must contain (marked with an asterisk “*”).

Print Data Service UiPath
Data Service data configuration layout in UiPath Cloud.

It is also worth mentioning that, when using the Data Service, it is possible to pre-define details of the data that must be received from the client, such as data type, default value and maximum string length. Not to mention the possibility of storing persistent data for future analysis in other processes that may be necessary.

In conclusion, the utilization of Data Service in our development endeavors proves to be a strategic asset. Through the exploration of various approaches — variables, dictionary, and entity — we discern that the entity approach, empowered by Data Service, emerges as the optimal choice. It not only minimizes the number of required arguments but also enhances data validation capabilities, streamlining the development process. Furthermore, the ability to pre-define data characteristics and store persistent data highlights the versatility and efficiency offered by Data Service in meeting the evolving demands of automation development.

--

--

Will Pedroso
Suzano DigitalTech

RPA Developer | UiPath (UiARD Certified) | Javascript | Python