# Initcap transform

**URL:** <https://developer.sailpoint.com/discuss/t/initcap-transform/191211>\
**Category:** SHF Discussion and Questions\
**Tags:** sailpoint-identity-security\
**Created:** [December 17, 2025, 11:20am UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211 "2025-12-17T11:20:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Caio\_Nakayama](https://avatars.discourse-cdn.com/v4/letter/c/977dab/32.png) [@Caio\_Nakayama](https://developer.sailpoint.com/discuss/u/Caio_Nakayama)\
**Post date:** [December 17, 2025, 11:20am UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211/1 "2025-12-17T11:20:44Z")

</div>

Hey guys!

We need a transform to convert a user’s first name, last name, and display name to Initcap.

We tried using a name normalizer transform, but we found out that some functionalities don’t meet our needs, as in this one:

 ![image](https://global.discourse-cdn.com/sailpoint/original/3X/7/b/7b1aee6bc6341bc72ca60179001fb23e3b4ea13a.jpeg)

For example, there is a user with the surname “Macedo”, but the transform converts it to “MacEdo”.

Do you guys know a way to create a similar transform, but without some of the functionalities?

---

<div class="post-metadata">

**Author:** ![JackSparrow](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/jacksparrow/32/19685_2.png) [@JackSparrow](https://developer.sailpoint.com/discuss/u/JackSparrow)\
**Post date:** [December 19, 2025, 9:13am UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211/2 "2025-12-19T09:13:46Z")

</div>

Hello @Caio_Nakayama,

The requirement is to capitalize first letter from firstname/lastname/displayname and rest of the letters to be in lowercase. If I understood it correctly?

You can use below transform:

```auto
{

    "id": "62b8f8be",

    "name": "Initcap_Transform",

    "type": "concat",

    "attributes": {

        "values": [

            {

                "type": "upper",

                "attributes": {

                    "input": {

                        "type": "substring",

                        "attributes": {

                            "begin": 0,

                            "end": 1,

                            "input": {

                                "type": "accountAttribute",

                                "attributes": {

                                    "sourceName": "Oracle HCM",

                                    "attributeName": "FirstName"

                                }

                            }

                        }

                    }

                }

            },

            {

                "type": "lower",

                "attributes": {

                    "input": {

                        "type": "substring",

                        "attributes": {

                            "begin": 1, //note: here I haven’t given “end”, as by default it will take the whole string

                            "input": {

                                "type": "accountAttribute",

                                "attributes": {

                                    "sourceName": "Oracle HCM",

                                    "attributeName": "FirstName"

                                }

                            }

                        }

                    }

                }

            }

        ]

    },

    "internal": false

}

```

You can apply the same transform for lastname and displayname as well.

---

<div class="post-metadata">

**Author:** ![PValarezo](https://avatars.discourse-cdn.com/v4/letter/p/bbe5ce/32.png) [@PValarezo](https://developer.sailpoint.com/discuss/u/PValarezo)\
**Post date:** [December 22, 2025, 7:32pm UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211/3 "2025-12-22T19:32:34Z")

</div>

Hey Caio,

Try this transform, there’s an embedded rule in all tenants called Cloud Services Deployment Utility that has some operations, one of them is normalizeName, and in this case you can add a couple of patterns you wish to correct from the normal transform. We used this transform for this exact “Macedo” situation and it turned out like this:  
`{`  
`“name”: “NormalizeDisplayName”,`  
`“type”: “rule”,`  
`“attributes”: {`  
`“name”: “Cloud Services Deployment Utility”,`  
`“operation”: “normalizeName”,`  
`“delimiters”: [`  
`" ",`  
`“-”`  
`],`  
`“patterns”: “\b(Mac)”,`  
`“replacements”: {`  
`“\b(?:MacA)”: “Maca”,`  
`“\b(?:MacB)”: “Macb”,`  
`“\b(?:MacC)”: “Macc”,`  
`“\b(?:MacD)”: “Macd”,`  
`“\b(?:MacE)”: “Mace”,`  
`“\b(?:MacF)”: “Macf”,`  
`“\b(?:MacG)”: “Macg”,`  
`“\b(?:MacH)”: “Mach”,`  
`“\b(?:MacI)”: “Maci”,`  
`“\b(?:MacJ)”: “Macj”,`  
`“\b(?:MacK)”: “Mack”,`  
`“\b(?:MacL)”: “Macl”,`  
`“\b(?:MacM)”: “Macm”,`  
`“\b(?:MacN)”: “Macn”,`  
`“\b(?:MacO)”: “Maco”,`  
`“\b(?:MacP)”: “Macp”,`  
`“\b(?:MacQ)”: “Macq”,`  
`“\b(?:MacR)”: “Macr”,`  
`“\b(?:MacS)”: “Macs”,`  
`“\b(?:MacT)”: “Mact”,`  
`“\b(?:MacU)”: “Macu”,`  
`“\b(?:MacV)”: “Macv”,`  
`“\b(?:MacW)”: “Macw”,`  
`“\b(?:MacX)”: “Macx”,`  
`“\b(?:MacY)”: “Macy”,`  
`“\b(?:MacZ)”: “Macz”`  
`}`  
`},`  
`“internal”: false`  
`}`

---

<div class="post-metadata">

**Author:** ![UjjwalJain](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/ujjwaljain/32/24704_2.png) [@UjjwalJain](https://developer.sailpoint.com/discuss/u/UjjwalJain)\
**Post date:** [December 23, 2025, 9:30am UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211/4 "2025-12-23T09:30:53Z")

</div>

Hi @Caio_Nakayama,

You can use the **Name Normalizer** transform for this use case. For more details, refer to the SailPoint documentation:

> **[Name Normalizer | SailPoint Developer Community](https://developer.sailpoint.com/docs/extensibility/transforms/operations/name-normalizer)**
>
> Clean or standardize the spelling of strings coming in from source systems.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/sailpoint/original/2X/f/f2136700ed5e3703e0b85e02f6be799dacca7735.png) [@system](https://developer.sailpoint.com/discuss/u/system)\
**Post date:** [February 21, 2026, 9:31am UTC](https://developer.sailpoint.com/discuss/t/initcap-transform/191211/5 "2026-02-21T09:31:10Z")

</div>

Closed on February 21, 2026, 9:31am UTC

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
