OData
Connect any OData v4 service with Basic or OAuth2 client-credentials auth.
Reads from any OData v4 service. Each entity set (collection) becomes a dataset with a defined schema, the same as a database table.
Add a source
Open the form
Go to Data → Add → OData, pick Basic.
Set the service root
The OData service root URL, for example https://example.com/odata/v4/. Entity sets are appended to this URL.
Enter credentials
- Username and Password for the service.
Pick an entity set
Add a dataset and choose a collection (entity set) exposed by the service.
Test and save
Credentials are encrypted at rest.
For services protected by an OAuth2 client-credentials flow (machine-to-machine, no user sign-in).
Open the form
Go to Data → Add → OData, pick OAuth2.
Set the service root
The OData service root URL, for example https://example.com/odata/v4/.
Enter the token endpoint and client
- Token URL: the OAuth2 token endpoint, for example
https://login.example.com/oauth/token. - Client ID and Client Secret.
- Scope: optional, for example
https://example.com/.default.
Pick an entity set
Add a dataset and choose a collection (entity set) exposed by the service.
Test and save
The client secret is encrypted at rest. Flitch fetches and refreshes the access token automatically.
Datasets
Each dataset maps to one entity set. The service's metadata defines the columns and types, so no query is needed. Use the data view to sort and page across the full collection.
Refresh
Refresh is set per dataset, in the dataset's Edit connection dialog. Off by default: every dashboard load reads live. Enable refresh to pull on a schedule and serve from cache between runs. See Refresh.
Troubleshooting
401 Unauthorized. Basic: check username and password. OAuth2: check the token URL, client ID, client secret, and scope.
No entity sets listed. The service root may be wrong, or its metadata document is not reachable. Confirm <service root>/$metadata loads.
Different row count than expected. The data view reports the service's real total. Server-side paging is followed automatically.