📢 Apps + Data Service Integration: Public Preview

Hi everyone!

Hot on the heals of the GA release for Expressions, I’m thrilled to announce the launch of the Public Preview for Apps and Data Service Integration. Just like Data Service’s existing integration with Studio, you can now import entities directly into Apps and interact with them natively. With the new integration you can:

  • Build faster apps
  • Centralize your automation data into a single source of truth
  • Ensure that critical business information is not being left on user or robot machines, file shares, or other storage services
  • Bring powerful no-code data modeling and storage capabilities to your automations and apps


To help you understand some of the amazing new capabilities introduced with direct Data Service integration, we’ve put together a sample Todo list app - backed entirely by Data Service.


  1. Import UiTodoSchema.json (2.8 KB) into Data Service.
    For details about how to do this, check out @Karan’s recent post on Schema Export/Import.
  2. Download the UiTodo.uiapp template (447.3 KB)
  3. Navigate to Apps in Automation Cloud and click ‘Build a new app’
  4. Name your app (eg: ‘UiTodo’), click the ‘Import from file’ link, and select the .uiapp template you downloaded earlier.
  5. Tell App Studio where to find your recently imported Entity…
    • When you import an app template that uses external dependencies (like processes, entities, storage buckets, etc) any missing dependencies will be flagged on the Tree View.
    • Since you’ve already uploaded the Todo Entity this app depends on, Apps will automatically suggest which Entity to use when replacing this dependency in your app.

Run it

Before walking through this app in detail, try running it first to familiarize yourself with the runtime experience! You won’t have any data to start, so why not go ahead and create some todo items for yourself :slight_smile:


App breakdown (how was it built?)


The Homepage allows you to create new todo items and view outstanding items.

The top of the page is a small form that allows you to enter a new Todo item (and some optional details). The ‘Clicked On’ event for the Add button uses the new Create/Update Entity Record rule to push a new record to Data Service:

The Todo list itself is displayed as a single-column table, which is linked to the Todo entity using a Filter function to only show the end user records that where (1) created by the current user and (2) have not yet been completed.

When you select an item from the Todo list, you can edit it or add Todo details. To save these details, we use the same Create/Update Entity Record rule as before, only this time instead of specifying the entity type we want to create, we use the Lookup function to update a specific record. In this case it’s the entity record Id that is equal to the Id of the selected record in our Todo table (TodoTable.SelectedValue.Id):


When updating a record, you can choose to only pass in fields that you wish to update, and that’s exactly what we do for the ‘Clicked On’ event for the “Mark Complete” button:


The Archive page allows you to view completed items, mark them incomplete, or delete them from Data Service entirely. Similar to the homepage, there is a single-column table here that contains completed todo items.

To delete an entity record, we use the Delete Entity Record rule (big surprise there :wink: ). Similar to our update scenarios, we use the Lookup function to get the entity record that we want to delete:


Development Patterns

Now that Apps can read/write directly to Data Service there are some really interesting new architecture patterns. (ps I can’t be the only one that gets excited saying “new architecture patterns”?!)

Backend Systems <-> Unattended Robots <-> Data Service <-> Apps
This is a great option if you want to have a speedy runtime experience and don’t need your data to be real-time. You can use Unattended Robots to pull data from pretty much anywhere into Data Service where it can be easily queried by Apps. Apps then performs operations directly on Data Service and then your Unattended Robots are triggered to write data back to whatever system of record. (Or you can do a 1-time ingestion of data into Data Service and use that and your system of record)

Robots <-> Data Service <-> Apps <-> More Robots!
Want 2-way communication between Apps and your Robots? You can now do this for Attended processes :slight_smile: How? Attended processes write data to Data Service and send incremental status updates. When the apps receives a status message it loads in data from Data Service, allowing you to read rich data from the process while the process is still executing!

Documentation and Learning Resources

To recap, with the public preview release of Apps + DS we’ve introduced 3 new expressions to help you retrieve data from Data Service:

  1. Filter your data where the fields match a given condition.
  2. Sort your data so that it is ordered by a specific field or fields.
  3. Lookup get the first record that matches a given condition.

We’ve also introduced two new rules for create/update/delete operations:

  1. Create/Update Entity Record
  2. Delete Entity Record

To learn more, check out the detailed documentation:

Preview Limitations

  • During the public preview, we don’t support pagination. You’ll be limited to retrieving a maximum of 1000 records.
  • Custom List does not yet support using expressions for Filtering/Sorting data.
  • File and Choice Set fields are unsupported

:bulb: Your feedback is important to us!

We’re excited to learn from you! Share your ideas, use cases, suggestions and questions with us.
We can’t wait to see what you build :rocket:


For Enterprise edition, I am receiving this everytime. However it is working perfectly on community version. It is time to play with this <3

This is awesome!!!

UiPath Community find the complete tutorial here for the above feature: Apps + Data Service Integration: UiPath New Feature Update - YouTube


@Sarmad_Nadeem can you double-check the permissions for Data Service for your user and ensure that it’s enabled on that tenant?

Seems fine I guess?

Our engineering team is going to look into this and may reach out to you directly. Taking a shot in the dark here, but did you ever rename this tenant or your organization?

No, we haven’t changed the names from the start Evan.

Thank you so much.

@evan.cohen I have a suggestion for the UiPath Forum and the latest learn / use cases page ( Latest Learn/Use Cases Repository topics - UiPath Community Forum).

When announcing such a great new feature it would be very interesting for which use cases other companies use the new feature. The new feature significantly expands the functional scope of the apps.

For example, recently the feature file control has been added and I could immediately tell for which use cases we applied it since we have been waiting some time for the release. Use cases such as contract management (uploading contracts) and transfer of master data to ERP system by uploading an excel sheet, for example.


A short demo video of this feature in action! :+1:

cc: @evan.cohen


Sorry, if this already in the works, but it would be nice to have a way to reset the File Picker control after a file has been uploaded. Most likely an “X” button at the end of the “file uploaded” message.

This way App users can simply click the “x” and restore the file upload hotspot to drop another file.

I have gotten around to this with a workaround, but it may not be the best use of App features.



Thank you @AndyMenon for the feedback. We shall add it as part of the roadmap

The pleasure is mine @Venkata_Rajendran ! Thanks for your attention to this matter.


@AndyMenon : Would you mind elaborating your workaround so as to benefit the rest of the folks who have the same scenario?

Hello @Venkata_Rajendran ,

I just sent you an email.


Sweet! :slight_smile:

I’ve been working with the Apps Studio for at least 3 weeks consistently and I have a suggestion to boost productivity.

Currently, we have to trigger the Resources Window each time by clicking into a control.
And we have to do this repeatedly.

Instead, would it be possible to have the Resources tab dock to the right side of the window so that users can drag the required resources into the App?

How would productivity go up?
I have a Create Entity Step with 4 input elements, and it takes 2 steps to trigger the Resources tab for each input element. That is a total of 8x steps just to trigger the Resources tab. And these steps would only increase with a more elaborate Entity.

With the suggested approach, the 8 steps could be eliminated and it would take only 4 steps to drag the bindings into the Create Entity step.

Again, this is a value-engineering based suggestion and assumes no constraints.


Did something change over the past 12-18 hours?
Please see this recording below . The App Studio Low-code menu features have stopped working. I have thus far done the following:

accessed by App studio on 2 different machines and the behavior is the same
restarted Chrome Browser
restarted the machine
The behavior persists on Chrome.

Same Tenant, same App, and same location in the App when accessed via New Edge, works perfectly.

Chrome, No!

What changed? :thinking:


Hey @AndyMenon we’re looking into this, can you DM me your .uiapp so we can take a look?