When integrating SharePoint and Dataverse using Power Automate, mapping Choice columns can be confusing. Although both platforms display the same labels (such as Approved, Pending, or Rejected), Dataverse stores Choice values as integers, while SharePoint provides the label as text.

Because of this difference, directly mapping a SharePoint Choice column to a Dataverse Choice column often results in errors or incorrect data.

In this article, we'll learn how to correctly map SharePoint Choice values to Dataverse Choice values using Power Automate.

Goal

Screenshot 2026-08-07 142620

Screenshot 2026-08-07 142731

Stepwise Implementation

Screenshot - 2026-08-07T143424.682

Understanding Query

objecttypecode eq 'cr399_portaldocuments' and attributename eq 'cr399_category' and value eq '@{triggerOutputs()?['body/Category/Value']}'
Screenshot - 2026-08-07T143852.536
 "value": [
      {
        "@odata.etag": "W/\"9683177\"",
        "[email protected]": "1,033",
        "langid": 1033,
        "value": "Category B",
        "attributename": "cr399_category",
        "organizationid": "d75684od8b-afcc-ef11-b8e4-6045bd056903",
        "[email protected]": "2",
        "displayorder": 2,
        "[email protected]": "Portal Documents",
        "objecttypecode": "cr399_portaldocuments",
        "stringmapid": "3bd6768e-8c90-f111-8077-7ced8d7128ed",
        "[email protected]": "9,683,177",
        "versionnumber": 9683177,
        "[email protected]": "992,270,001",
        "attributevalue": 992270001
      }
    ]

Conclusion

Here we have learnt how we can Sync SharePoint Choice values with Dataverse Choice columns can be achieved efficiently by using the StringMap table in Power Automate. Instead of hardcoding Choice values or maintaining manual mappings, the StringMap table provides the corresponding Dataverse integer value for a given Choice label.