Proper Case in Power Automate

@Hallie Guiseppe

Don't need to use loop, use Select and formula.

9b5b42eeb1839ae5a46131922a9c52ce-huge-im

Select Propering action:
From: split(outputs('Compose_Name'), ' ')
Map: concat(toUpper(substring(item(), 0, 1)), if(equals(length(item()), 1), '', toLower(substring(item(), 1, sub(length(item()), 1)))))

Final join them back: join(body('Select_Propering'), ' ')

a45f23006a00cdb4f96be9e09cb6bc4a-huge-im
235700e840b164307b8dbd1f687ec6f4-huge-im
49f33f0999438b3e05759ae4994a5d57-huge-im

Comments

  • Hallie Guiseppe
    Hallie Guiseppe Community All-Star
    Sixth Anniversary Kudos 5 Name Dropper Participant

    @Alex Wong ?
    Thanks Alex! I will give this a try and update you!

  • Tyler Johnson
    edited September 17

    @Alex Wong

    Hey Alex,

    I am also trying to figure out proper casing within my flow and I found this thread, which has been helpful, but I'm missing something with the output. It formats the correct letters, but comes out like this on the record:

    {"1":""} {"Hello":""} {"World":""}

    Not sure what I'm doing wrong…maybe something to do with the 'Outputs' in the Address field when creating the new record?

    Screenshots for my setup:

    Screenshot 2025-09-17 151949.png Screenshot 2025-09-17 152008.png
  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 Raiser's Edge NXT Fall 2025 Product Update Briefing Badge
    image.png

    Click on the red circle. So instead of having a "left" and a "right" input box, you only have one input box, and then put the formula there

  • ah, got it. thank ya! I will try that out tomorrow.

  • @Alex Wong

    Hey Alex,

    Thank you for your responses, everything works great now, however, I noticed that when the 'Address' field on the form is left blank, the flow creates this error….almost like the field can not be blank…is there some 'null' code I could insert to say skip if left blank?

    Screenshot 2025-09-19 090606.png
  • Hi @Tyler Johnson @Alex Wong- the easiest way to do this would be to put a condition above your Compose Name. (which has Address in it). In your condition you need to test it and see if it's empty.

    Something like empty(outputs('Address') equal to false (false needs to be an expression) for it to work. Then move your other Select and your other Compose under the Yes part.

    image.png
  • ah, yes, of course! Thanks Carol!

  • @Carol Grant @Alex Wong

    hmm…I implement the condition and was able to submit the form, but it just skipped over all this, so it did not format the address properly….

    Screenshot 2025-09-19 100834.png
  • @Tyler Johnson - can you paste in what you have for the empty condition and I can take a look.

  • sure, here ya go. thanks! I added the 'Address' field from the "Get response details" section of the dynamic content and this is what it inputs:

    Screenshot 2025-09-19 102222.png
  • Tyler Johnson
    edited September 19

    hmm…ok, so the formatting works for creating a new record, but not if the system matches to a record already in the database. That shouldn't matter though, right? as the formatting part is at the beginning of the flow…here is the next part once it matches 1:1.

    image.png
  • @Carol Grant

    nm Carol, sorry to waste your time…I just realized I had not updated the address fields in the match area to the new Compose Output fields. Everything works now.

    Thanks for your help. :)

  • Great news! It's all about trial and error with these flows.