Continuous Data Import from External Apps
This guide shows you how to import data from an external app and keep it up-to-date in your app. To make this guide specific, we will import Users, but you can use the same approach for any other type of data.Data Source
First, create a Universal Data Source that points to Users in every app you want to import users from.
Field Mapping
To keep field mapping configuration in one place and let your tenants change it if needed, create a Field Mapping. Select the Users data source you created in the previous step. You can leverage Universal Data Models to pre-populate mappings for standard fields across all applications.
Full Data Import
To perform the initial import of all users from the external app (and full re-imports in the future if you need to), use thelist-data-records action type.
Create an action in the Console or via the API:

cursor that you can use to fetch the next page.
To make it work, you need to:
- Add
cursorto the input schema of the action. - Use
cursorin the pagination config of the action.

Incremental Data Import
To receive incremental updates from external apps, create a Flow triggered by change events in the Users data source. The flow will look like this:
data-record-created, data-record-updated, and data-record-deleted events in the Users data source.Then it will fetch the full user record (except for deleted users) and send them to your application. The step that fetches the user record will look like this:


You should see a flow run and a request sent to the URL you specified.
Extending Functionality
There are many things you can add to the basic functionality described here:- To configure requests made to your app (add authentication, etc), see Connecting Your App API.
- Use Field Mappings UI to let your users customize how fields are mapped from the external app to your app.
- Internal Data Schemas will let you define custom per-tenant field schemas that will be used in the field mapping.
- If you want to not just import data, but send updates back, check out Bi-Directional Sync.