I am creating a word doc to store in Sharepoint of a completed electronic approval. However when I try and extract the approvers ID from the approval, putting the data into a data operation, it takes the approval date but errors when I add the Approvers Name.
Approval date is a single value. Approver name is not. In Approvals, the “Approvers name” comes back inside the Responses array, and each response is an object. When you drop that straight into a Data Operation or a Word field, the designer tries to treat an array or object as text, and you get the 400 save/runtime error.
Do this instead.
Inspect what you really get
Add a Compose right after Start and wait for an approval
Expression:body('Start_and_wait_for_an_approval')
Run once, open the run history, expand outputs, find:body → responses (array)Each item has responder info (displayName, email, id)
If you have one approver and want the single name
Compose “Approver Name”
Expression (adjust the action name if yours differs):first(body('Start_and_wait_for_an_approval')?['responses'])?['responder']?['displayName']
If you have multiple approvers and want all namesOption A (cleanest, no loops):
Apply to each:body('Start_and_wait_for_an_approval')?['responses']
Append to string variable:concat(items('Apply_to_each')?['responder']?['displayName'], '; ')
Use the Compose output everywhereUse the output of your “Approver Name(s)” compose when:
populating the Word template field
updating a SharePoint text column
building your HTML
Thank you!
Proud to be a Super User!
📩 Need more help?
✔️ Don’t forget to Accept as Solution if this guidance worked for you.
💛 Your Like motivates me to keep helping
Was this reply helpful?YesNo
Under review
Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.