Skip to main content
The features described in this section are in public preview and may change.
This article helps you configure the source data and Cognite Data Fusion (CDF) project that powers Cognite InField (InField), and describes how to set up assets and visualize data. You can also deploy InField with pre-built configurations using the Cognite Toolkit.
For legacy APM configuration documentation, see the legacy configuration guide.

Before you start

Make sure you have the following:
CDF and InField use different location concepts. Make sure to deploy locations for InField using the InField Quickstart deployment pack even if you already have locations set up in CDF.

Enable Core Data Model (CDM) mode

To enable CDM mode for your project:
1

Create the access group

Create a CDF group named exactly infield-on-cdm-access and add the users who should have access.
2

Verify access

Users in the infield-on-cdm-access group see the CDM version of InField when they open the application.
For a full project-wide rollout, contact your Cognite representative to enable CDM mode for all users in the project.

How CDM configuration works

InField CDM configuration is stored as a Data Modeling Service (DMS) node in CDF. Each location you configure in InField is a separate node instance of the InFieldCDMLocationConfig view in the cdf_infield space, part of the InFieldOnCDM data model. The collection of all node instances forms the list of configured locations. Each configuration node has the following top-level fields: Deploy all locations using the InField Quickstart deployment pack in the Cognite Toolkit.

Set up access

You can use your existing identity provider (IdP) framework to manage access to InField and choose admin users. We support Microsoft Entra ID. For the required group names and capabilities, see Configure InField in the capabilities reference. Use the following name suggestions when creating user groups. Access is based on the group name, so you can create similar groups for different locations. Group names can differ from user to user, but the location and env placeholders are recommended for multi-site deployments.

Create data modeling spaces

InField stores asset data in data models. You need to create at least three spaces to store your data and data models.
APM_Config is a legacy APM space and is not required for data modeling only projects on CDM. If you are migrating from APM, see the legacy configuration guide.
Create a unique pair of _source_data and _app_data spaces for each root location you want to configure in InField. For example, if you have two root locations named plant-a and plant-b, you will need to create four spaces in total:
  • plant-a_source_data
  • plant-a_app_data
  • plant-b_source_data
  • plant-b_app_data
You can create spaces with the Cognite Python SDK or the Cognite API. After you create them, confirm the spaces appear under the Data Fusion workspace > Data models > Spaces in CDF.
You can create the spaces using the Cognite Python SDK. Use the following Python code and replace yourRootLocation with your root location/asset name in yourRootLocation_source_data and yourRootLocation_app_data.

Prepare asset data

To display related data on the Asset explorer page, ensure data objects are connected to the corresponding assets in CDF. InField uses these relationships to find and display the relevant information for each asset.
Make sure to contextualize files to the relevant asset to see them on the asset’s card.

Configure locations

Deploy locations using the InField Quickstart deployment pack in the Cognite Toolkit.

View mappings (viewMappings)

Views contain a group of properties that you can change for specific cases. By default, InField uses the Cognite process industries data model that extends the core data model to meet the needs of the process industries. You can customize entity definitions (or views), such as CogniteAsset and CogniteMaintenanceOrder, by extending them with properties that are specific to your operations. For example, to extend the CogniteMaintenanceOrder property, you can create a new view and add the Cost field. You can map logical entity types to views defined in the cdf_idm (Process industries data model), cdf_cdm (Core data model), or your custom view space. View mappings are configured in the viewMappings object of the InFieldCDMLocationConfig node. You can configure view mappings for seven entities. If you omit a mapping, InField uses the following default view for that entity.
These defaults apply when a mapping is omitted. The InField Quickstart sets viewMappings.asset to cdf_cdm / CogniteAsset / v1 instead of the app fallback (cdf_infield / Asset).observation uses a different shape: an array of ObservationViewConfig objects rather than a single view reference. Only the first entry is supported. See Configure observations.
Make sure the view version always matches the data model version. Otherwise, the table on the Overview page won’t work correctly.
The operation, notification, and maintenanceOrder entity types have standard views defined in the cdf_idm system space. To view and customize these views, go to CDF > Data fusion > Data models > find and select CogniteProcessIndustries.

Data storage (dataStorage)

The dataStorage field identifies the root asset for the location and the space where InField writes app data.
dataStorage.rootLocation is the instance ID of the root asset, not a data storage container. The spaces where source data (assets, work orders, notifications) is read from are configured separately in dataFilters.

Instance space scoping (dataFilters)

Use dataFilters to restrict InField queries to specific DMS spaces per resource type. Each resource type has an instanceSpaces[] array. Only some resource types support multiple spaces.
maintenanceOrders, operations, and notifications must all use the same instance space. Configuring different spaces for these three resource types will cause inconsistent results.
instanceSpaces is the only field consumed by InField today for every resource type under dataFilters.

Feature toggles (featureToggles)

Feature toggles let you enable or disable major app features for each location. All flags default to false if omitted, so only set the ones you want to turn on. Configure these in the featureToggles object of the location’s InFieldCDMLocationConfig node in the Cognite Toolkit.

Admin roles (accessManagement)

Use accessManagement to define which CDF groups have admin access to checklists and templates for this location.
These values must match the group names created in your identity provider. See Set up access for recommended naming conventions.

Disciplines (disciplines)

Use disciplines to define the list of disciplines available for selection during onboarding and elsewhere in the InField UI. Each entry has an externalId and a name.

Configure schedules

The Schedules tab lets supervisors create and manage recurring inspection rounds directly in InField. You do not need to deploy a CDF scheduling function to use the Schedules tab. If you want to trigger checklist creation automatically via a CDF function, you can set up a custom scheduling function. Contact your Cognite solution architect for an example.
The legacy APM scheduling function is not compatible with CDM. Remove the legacy APM scheduling function before deploying a CDM-compatible one. Reusing the legacy function will cause incorrect behavior with the CDM data model and the Schedules tab.

Configure observations

Observations allow field workers to report issues and track maintenance needs. The observation form is driven by a CDF view that renders the properties you define in that view. You can use the built-in default view or create a custom one.
1

Enable observations

In the Cognite Toolkit YAML for the location’s InFieldCDMLocationConfig node, set featureToggles.observations: true, then run cdf build and cdf deploy.
2

Choose the default or a custom view

  • Default view: Use the default view if the default fields are sufficient for your project: files, assets, observed time, name, description, troubleshooting steps, priority, type, and status. InField ships a built-in FieldObservation view in the cdf_infield space.
To use the default view, add the following to the viewMappings object of the location’s InFieldCDMLocationConfig node in the Cognite Toolkit:
  • Custom view: Choose a custom view if you need different fields, custom enums, or SAP writeback.
3

Customize the view

Choose the fields and their types:Rules and best practices:
  • Keep the form focused. Include only the fields users are expected to fill in.
  • Order properties intentionally. Use fieldsConfig.*.orderNumber in the view mapping to control the order fields appear in the form and table. orderNumber is the only supported way to guarantee field order.
  • Write clear field descriptions. They become placeholder text in the form.
  • Use clear property names. They become field labels.
  • Extend CogniteSourceable (and optionally CogniteActivity) to add standard metadata. These fields are autopopulated by the app and are not shown in the form.
  • Add indexes to any fields users will sort or filter on.
  • If SAP writeback is required, add sapStatus and notificationIdInSap fields to the view at this stage (see SAP writeback).
4

Create the container and view in CDF

  1. Create the container. Create exactly one non-CDM container unique to this observation view. No two observation views may share the same non-CDM container, because this is how InField identifies which view to use for a given observation instance.
  2. Create the view and enum types. Create the view referencing that container, and define any enum types in the same space and version as the view.
  3. Optionally create a form view. Create a form view if you want to show only a subset of fields in the create/edit form while keeping all fields on the stored observation record. The form view must reuse the same containers as the main observation view. Do not create a new container for it.
5

Configure via the Cognite Toolkit

Add the observation mapping to viewMappings.observation[] in the location’s InFieldCDMLocationConfig. Always make this change through the Cognite Toolkit, as it validates view references before deployment.The full ObservationViewConfig supports:Example with all options:
Only the first entry in viewMappings.observation[] is supported at this time.
6

Deploy and validate

Run the following commands in order:
  1. cdf build
  2. cdf deploy --dry-run
  3. cdf deploy
Open InField and create a test observation. Verify:
  • All expected fields appear in the correct order.
  • Required fields block submission when empty.
  • Placeholder text shows correctly.
  • If SAP writeback is configured: submit a test observation and confirm sapStatus is set and notificationIdInSap is populated after a successful send.
When a user deletes an observation in the InField UI, it is permanently deleted and cannot be recovered.

SAP writeback

SAP writeback is only available to customers who have a SAP integration with a notifications endpoint deployed in CDF. You cannot use the default FieldObservation view for SAP writeback, because the required fields are not part of it. To enable SAP writeback:
1

Add the required fields to the custom observation view

2

Add the writeBack object to the observation mapping

Add the writeBack object to the observation mapping through the Cognite Toolkit. Use the structure in the Configure via the Cognite Toolkit step in Configure observations. The notification endpoint is required; the attachment endpoint is optional.
InField detects the presence of sapStatus and notificationIdInSap on the view and automatically enables the SAP writeback UI for field workers.
Observations are stored in the dataStorage.appInstanceSpace for the current location and can be queried using the data model APIs.

Configure asset explorer cards (dataExplorationConfig)

The dataExplorationConfig field is not yet finalized and may change.
You can customize what appears in the Properties, Activities, and Notifications cards on the asset page. The Properties card is configured via the top-level assetPropertiesCardConfig field; the Activities and Notifications cards are configured via dataExplorationConfig. Each card type is configured differently.
All keys are optional. Deploy configuration changes through the Cognite Toolkit to ensure view references are validated before deployment.

Properties card (assetPropertiesCardConfig)

Configured via the top-level assetPropertiesCardConfig field. Falls back to showing all fields from the view in viewMappings.asset. Each key in the map is a field name from the asset view. Each entry supports:

Activities card (assetActivitiesCardView)

Configured via dataExplorationConfig.assetActivitiesCardView. Falls back to viewMappings.maintenanceOrder when omitted. The view name becomes the card header, and the view filter controls which activities are shown. The view must expose the following properties:

Notifications card (assetNotificationsCardView)

Configured via dataExplorationConfig.assetNotificationsCardView. Falls back to viewMappings.notification when omitted. The view name becomes the card header and the view filter controls which notifications are shown. The view must expose the following properties:

Further reading

Last modified on July 30, 2026