UiPath Studio Web – Unable to Create Dataverse Record with Lookup Column

I am experiencing an issue in UiPath Studio Web when trying to create a Dataverse record that contains a lookup column to another Dataverse table.

Scenario

  • Table A contains a lookup column to table B
  • In Studio Web, I use a Create Record / Dataverse activity
  • I populate all primitive fields (text, number, choice, etc.)
  • When I attempt to also populate the lookup column (reference to table B):
    • The activity fails
    • The record is not created
    • Returns the following error.
FullErrorMesage with ScreenShot
2026-05-13 18:04:11.733 EEST:	Error: UiPath.IntegrationService.Activities.Runtime.Exceptions.RuntimeException: Request failed with error: 
ProviderMessage : error - {code=0x80048d19, message=Error identified in Payload provided by the user for Entity :'dkv_spmonboardingprocesses', For more information on this error please follow this help link https://go.microsoft.com/fwlink/?linkid=2195293  ---->  InnerException : Microsoft.OData.ODataException: An undeclared property 'dkv_aut_spmsalespartner' which only has property annotations in the payload but no property value was found in the payload. In OData, only declared navigation properties and declared named streams can be represented as properties without values.
   at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.ReadUndeclaredProperty(IODataJsonLightReaderResourceState resourceState, String propertyName, Boolean propertyWithValue)
   at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.ReadPropertyWithoutValue(IODataJsonLightReaderResourceState resourceState, String propertyName)
   at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.<>c__DisplayClass9_0.<ReadResourceContent>b__0(PropertyParsingResult propertyParsingResult, String propertyName)
   at Microsoft.OData.JsonLight.ODataJsonLightDeserializer.ProcessProperty(PropertyAndAnnotationCollector propertyAndAnnotationCollector, Func`2 readPropertyAnnotationValue, Action`2 handleProperty)
   at Microsoft.OData.JsonLight.ODataJsonLightResourceDeserializer.ReadResourceContent(IODataJsonLightReaderResourceState resourceState)
   at Microsoft.OData.JsonLight.ODataJsonLightReader.StartReadingResource()
   at Microsoft.OData.JsonLight.ODataJsonLightReader.ReadResourceSetItemStart(PropertyAndAnnotationCollector propertyAndAnnotationCollector, SelectedPropertiesNode selectedProperties)
   at Microsoft.OData.JsonLight.ODataJsonLightReader.ReadAtStartImplementationSynchronously(PropertyAndAnnotationCollector propertyAndAnnotationCollector)
   at Microsoft.OData.ODataReaderCore.ReadImplementation()
   at Microsoft.OData.ODataReaderCore.InterceptException[T](Func`1 action)
   at Microsoft.AspNet.OData.Formatter.Deserialization.ODataReaderExtensions.ReadResourceOrResourceSet(ODataReader reader)
   at Microsoft.Crm.Extensibility.CrmODataEntityDeserializer.Read(ODataMessageReader messageReader, Type type, ODataDeserializerContext readContext)
   at Microsoft.AspNet.OData.Formatter.ODataInputFormatterHelper.ReadFromStream(Type type, Object defaultValue, IEdmModel model, ODataVersion version, Uri baseAddress, IWebApiRequestMessage internalRequest, Func`1 getODataRequestMessage, Func`2 getEdmTypeDeserializer, Func`2 getODataPayloadDeserializer, Func`1 getODataDeserializerContext, Action`1 registerForDisposeAction, Action`1 logErrorAction).}
ProviderErrorCode : 400
RequestId : 6a04930ae4b0377e8d237f4f
Message : Bad Request

Status code: BadRequest. Error code: DAP-RT-1101.
   at UiPath.IntegrationService.Activities.Runtime.Services.ExecutionService.SendAsync(String requestUri, ExecutionParameters executionParameters, HttpMethod httpMethod, ICollection`1 jitInputs, CancellationToken token, Boolean isCUDRequest, Dictionary`2 telemetryUsedProperties)
   at UiPath.IntegrationService.Activities.Runtime.Services.ExecutionService.ExecuteOperationAsync(ExecutionParameters executionParameters, ConnectorActivityConfiguration activityConfiguration, Dictionary`2 telemetryUsedProperties, CancellationToken token)
   at UiPath.IntegrationService.Activities.Runtime.Activities.ConnectorActivity.ExecuteAsync(AsyncCodeActivityContext context, CancellationToken token)
   at UiPath.IntegrationService.Activities.Runtime.Activities.AsyncTaskCodeActivityImplementation.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
   at UiPath.IntegrationService.Activities.Runtime.Activities.AsyncTaskCodeActivity.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
   at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)

Relevant error message below.

An undeclared property 'dkv_aut_spmsalespartner' which only has property annotations in the payload but no property value was found in the payload. In OData, only declared navigation properties and declared named streams can be represented as properties without values.

In that field I’ve added the GUID of the row from table B in the proprieties.

Attributes of the activity and lookup column underlined

Value sent to the string field SPM Sales partner

Despite this, the request fails with an OData error indicating that the property is present only as annotations in the payload, without an actual value.

Looking forward to your support.

Spm sales partner is currently configured as String, which is likely causing the OData error for dkv_aut_spmsalespartner.

Please check the property mapping for this field in the activity. You can also try refreshing/re-adding the Dataverse connection and ensure the lookup column is mapped correctly using the related record reference (@odata.bind internally).

image

So in the SPM Partners there is a relationship of one to many to the onboarding process. When i create a new row in the onboarding table it asks me to pick one of the Partners so I presume the table is setup correctly.

By check i presume you mean change it from string to Lookup? Or what do you mean by check? Can you even do that? I’ve added a screenshot where i can pick which fields to use but i can’t change any proprieties in UiPath Studio Web when it comes to those fields…

Also what do you mean ensure the lookup column is mapped using the related record reference?..

Hi @Marica_Alexandru

This error is coming because lookup fields in Dataverse don’t accept just a GUID value. Even though you are passing the correct ID, Dataverse expects a proper reference format, not a plain string. You need to pass it using the @odata.bind format with the target table name. So instead of only giving the GUID, use something like /tableBpluralname(GUID). Once you pass it this way, the record should get created without error.

I understand this. But how do you do it?

I know how to do an API call in order to make this work with Postman. But it seems that i can NOT add custom fields to use the binding and there is no Binding field. I was curious if anyone has ever done this and managed to make it work in a real case? An actual “Insert record” with lookup value.

Usually you cannot manually add @odata.bind` like in Postman/API calls. The Dataverse activity should handle it automatically if the lookup field is mapped correctly.

May be you can try below options:

  • Refreshing/re-adding the Dataverse connection
  • Re-selecting the lookup field
  • Passing only the related row GUID without extra formatting

If it still fails, then using an HTTP Request/API approach may be the better option for lookup fields in Studio Web.