A data source is essentially rows and columns of data. These rows and columns need to be connected and pushed into our system for use in your apps. To do this, follow the steps below. 

Step 1: Define and connect a data source

To display and update data rows from an external system into our app, you will need to define a data source that models the particular data entity in question. Once selected, you can upload it to our system one of the following ways:

  • Manually import rows from an Excel or CSV file. This can be time consuming and is not recommended if the data is going to change regularly, as you'll have to keep manually importing up to date data.
  • Use a built-in connector. We provide various connectors that allow you to pull data rows in your data source with an ongoing and automatic refresh. We also offer a special Hosted GET connector. This allows you to expose a REST web service that sends rows directly from your external system to the app using our required documented Hosted GET response format.
  • Push data into your data source via our API. We provide a data source endpoint on our REST API that allows you to programmatically push rows into your data source on a regular basis.

Step 2: Design a form that allows for creating & updating rows

Once you have a data source in place, you can create a form with a choices or data source field that is linked to your target data source. Use filters and user interaction to select a row in the given field type. Once a row is selected, you can populate column values into other form fields using the 'Bind to Data Source' or the 'Dynamic Value' property.

The system can reflect changes to rows on the app and against server-side data sources, providing the server-side data source does not have a connector on it. All connected data sources, with a connector, are treated as being 'one way' - e.g. the external data provider is main source and we do not push any changes back to it.

Step 3: Push row changes back to your external system

There are three ways you can update rows to an external system.

  • Use a 'row based' connector on your form. We provide several form connectors that create/update rows directly on an external source, e.g. our SharePoint List and Google Sheet connectors.
  • Use a REST connector on your form.
    The recommended approach is to use a REST connector on your form. This will push changes to a web service on your side, allowing you to perform the necessary data manipulations and changes. This will be reflected on the results you return on any connected Hosted GET data source.
  • Use our API to retrieve form entry results.
    You can also poll our API for new form entries, and apply the data row changes as needed based on the form entry answer values. We don't recommend this approach as it doesn't scale well and you run the risk of exhausting your API usage limits.

Despite the approach you choose, we recommend that you use 'Create/update' options on a choices/data source field in a form. While there will be no data source changes made on the server side, the changes will be reflected against the app's local cached data source rows. This way, the app will display a consistent view of any data source row changes to the user, at least until the next time the app syncs with your data source. When the next sync occurs, we assume that your system will reflect the results of any submitted form entries, as those apply to your row sets.

Did this answer your question?