# Lookup transform table values

**URL:** <https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270>\
**Category:** SHF Discussion and Questions\
**Tags:** transforms, identity-security-cloud\
**Created:** [March 11, 2026, 8:00pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270 "2026-03-11T20:00:32Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 11, 2026, 8:00pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/1 "2026-03-11T20:00:32Z")

</div>

Hi All,

I am working on a lookup transform and wanted to understand that if the values passed in the table can be passed through any other way on the runtime instead of passing them manually like key-value pair.

For Example in the lookup table i am passing key value as:

Userid( XXYZ) : yes

I need to pass this userid to the table at runtime. Is there any Script or API call can be made. Usually i paste the table value manually but need to automate it.

Thanks in advance

#ISC - Workflows, Rules, & Transforms - AMS#Identity Security Cloud (ISC) > ISC Discussion and Questions

---

<div class="post-metadata">

**Author:** ![iamnithesh](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/iamnithesh/32/4884_2.png) [@iamnithesh](https://developer.sailpoint.com/discuss/u/iamnithesh)\
**Post date:** [March 11, 2026, 8:13pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/2 "2026-03-11T20:13:30Z")

</div>

Can you explain your requirement in detail please?

---

<div class="post-metadata">

**Author:** ![Pankaj\_IAM\_SailPoint](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/pankaj_iam_sailpoint/32/38994_2.png) [@Pankaj\_IAM\_SailPoint](https://developer.sailpoint.com/discuss/u/Pankaj_IAM_SailPoint)\
**Post date:** [March 11, 2026, 8:22pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/3 "2026-03-11T20:22:07Z")

</div>

Hello Kapil,

You can use Poweshell Script to Update SailPoint Lookup Transform:  
**Step 1: Define Variables**  
$tenant = “[your-tenant.api.identitynow.com](http://your-tenant.api.identitynow.com)”  
$clientId = “your-client-id”  
$clientSecret = “your-client-secret”  
$transformId = “your-transform-id”  
**Step 2: Get Access Token**  
$tokenBody = @{  
grant\_type = “client\_credentials”  
client\_id = $clientId  
client\_secret = $clientSecret  
}

$tokenResponse = Invoke-RestMethod -Method Post ` -Uri "https://$tenant/oauth/token"`  
-Body $tokenBody

$accessToken = $tokenResponse.access\_token

**Step 3: Update Lookup Table**

$headers = @{  
Authorization = “Bearer $accessToken”  
“Content-Type” = “application/json”  
}

$body = @{  
type = “lookup”  
attributes = @{  
table = @{  
“XXYZ” = “yes”  
“ABCD” = “yes”  
“PQRS” = “yes”  
}  
}  
} | ConvertTo-Json -Depth 5

**Step 4: Call SailPoint Transform API**  
Invoke-RestMethod -Method Put ` -Uri "https://$tenant/v3/transforms/$transformId"`  
-Headers $headers `  
-Body $body

This script will Update the **Lookup Transform table automatically.**

---

<div class="post-metadata">

**Author:** ![kallajayaram](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/kallajayaram/32/35609_2.png) [@kallajayaram](https://developer.sailpoint.com/discuss/u/kallajayaram)\
**Post date:** [March 11, 2026, 8:22pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/4 "2026-03-11T20:22:50Z")

</div>

Hi @chellanikaps3

In SailPoint Identity Security Cloud, the Lookup Transform table is static and cannot be dynamically populated at runtime through scripts or APIs. The values must be configured manually in the transform definition. If you need dynamic values such as UserID, it is better to fetch them from an identity attribute or populate them through a workflow or rule and then reference that attribute in the transform.

Could you please share your exact requirement

Example:

If userid =123 return →YES

If userid= ABC return → No

{

“name”: “UserIDLookup”,

“type”: “lookup”,

“attributes”: {

```
"input": {

  "type": "identityAttribute",

  "attributes": {

    "name": "uid"

  }

},

"table": {

  "123": "YES",

  "ABC": "NO"

},

"default": "NO"

```

}

}

---

<div class="post-metadata">

**Author:** ![sup3rmark](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/sup3rmark/32/36229_2.png) [@sup3rmark](https://developer.sailpoint.com/discuss/u/sup3rmark)\
**Post date:** [March 11, 2026, 8:23pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/5 "2026-03-11T20:23:16Z")

</div>

The way a lookup transform works is that you pass in a value, and that value is checked against the defined table. If the value exists in the table, the corresponding response value is returned; otherwise, the `default` case is returned. You’d have to define the values to search for as well as the responses for each case; there is no way to check an external source for the key-value pairs dynamically.

---

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 12, 2026, 7:20pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/6 "2026-03-12T19:20:54Z")

</div>

Thanks Pankaj for the prompt response, this will update the lookup table values from csv or database column as well ?

---

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 12, 2026, 7:21pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/7 "2026-03-12T19:21:49Z")

</div>

Thanks for the update. Can we user a rule transform for this purpose.

---

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 12, 2026, 7:27pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/8 "2026-03-12T19:27:05Z")

</div>

For the lookup transform to be executed, you need to provide the key-value pair in the input and set a default value.

So I have a requirement where the input values to the transform can be passed through automation instead of manually.

For example : I have 100 input key- value pair and the default is set to no.

XYZ = yes

RST=no

POM=yes

TCU=no.

I need to insert these input values through automation from a csv file or some DB tables.

---

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 12, 2026, 7:28pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/9 "2026-03-12T19:28:36Z")

</div>

Thanks Jaya for the response. Below is the requirement

For the lookup transform to be executed, you need to provide the key-value pair in the input and set a default value.

So I have a requirement where the input values to the transform can be passed through automation instead of manually.

For example : I have 100 input key- value pair and the default is set to no.

XYZ = yes

RST=no

POM=yes

TCU=no.

I need to insert these input values through automation from a csv file or some DB tables.

> [@chellanikaps3](#):
>
> For the lookup transform to be executed, you need to provide the key-value pair in the input and set a default value.
> 
> So I have a requirement where the input values to the transform can be passed through automation instead of manually.
> 
> For example : I have 100 input key- value pair and the default is set to no.
> 
> XYZ = yes
> 
> RST=no
> 
> POM=yes
> 
> TCU=no.
> 
> I need to insert these input values through automation from a csv file or some DB tables.

---

<div class="post-metadata">

**Author:** ![David\_Norris](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@David\_Norris](https://developer.sailpoint.com/discuss/u/David_Norris)\
**Post date:** [March 12, 2026, 7:43pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/10 "2026-03-12T19:43:54Z")

</div>

> [@chellanikaps3](#):
>
> I need to insert these input values through automation from a csv file or some DB tables.

You might want to take a look at this, to brainstorm:

> [@Custom entities "Non-Identites" in ISC (Location/Site/Building/Facilities) - supported approach](https://developer.sailpoint.com/discuss/t/custom-entities-non-identites-in-isc-location-site-building-facilities-supported-approach/192790):
>
> bangbang Please be sure you’ve read the [docs](https://developer.sailpoint.com/idn/docs/) and [API specs](https://developer.sailpoint.com/idn/api/getting-started) before asking for help. Also, please be sure you’ve [searched](https://developer.sailpoint.com/discuss/search?expanded=true) the forum for your answer before you create a new topic. Hi everyone, A quick question about ISC. In IdentityIQ, we could use CustomObject to store custom data types… In ISC, is there any supported equivalent concept to store/manage a custom entity (non-identity domain), for example, “Location/Facilities” (site/building/floor) physical access (e.g. lockers, visitors, park…

…and yes, you can update the lookup transform via API (e.g. PowerShell SDK)…but you’ll need somewhere to store the script, the DB credential, the PAT and run the script.

Create Transform API:

> **[create-transform | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/v2025/create-transform/)**
>
> The SailPoint Developer Community has everything you need to build, extend, and automate scalable identity solutions.

Update Transform API:

> **[update-transform | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/v2025/update-transform/)**
>
> The SailPoint Developer Community has everything you need to build, extend, and automate scalable identity solutions.

---

<div class="post-metadata">

**Author:** ![iamnithesh](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/iamnithesh/32/4884_2.png) [@iamnithesh](https://developer.sailpoint.com/discuss/u/iamnithesh)\
**Post date:** [March 12, 2026, 10:21pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/11 "2026-03-12T22:21:51Z")

</div>

> [@chellanikaps3](#):
>
> I need to insert these input values through automation from a csv file or some DB tables.

Is this going to be one time effort or do you want to update the transform regularly by reading the CSV? like daily or once every few hours?

If you are thinking of reading from CSV in real time while identity attributes are calculated, then that’s not possible with Lookup transforms. What @kallajayaram has explained in this [response](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/4) is exactly what they are designed to do.

I am seeing that the responses are based on your original post on how to update a Lookup transform and these might not be leading you in the right direction. If you explain your requirement in pure business language rather than in terms of how to design the solution using a specific type of transform, you might receive better suggestions.

---

<div class="post-metadata">

**Author:** ![kallajayaram](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/kallajayaram/32/35609_2.png) [@kallajayaram](https://developer.sailpoint.com/discuss/u/kallajayaram)\
**Post date:** [March 13, 2026, 7:01pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/12 "2026-03-13T19:01:52Z")

</div>

Hi @chellanikaps3

Yes, a Rule Transform can be used for this requirement.

If you have a large number of key-value mappings (for example 100+), maintaining them directly inside a Lookup Transform can become difficult. In such cases, the mappings can be maintained in an external source such as a CSV file or a database table, and the rule can dynamically read those values during execution.

A possible approach would be:

1. Store the key-value mappings in a CSV file or database table.

2. In the rule, read the data and load it into a Map structure.

3. Compare the incoming input value with the keys in the map.

4. Return the mapped value (for example yes/no). If the key is not found, return the default value.

This approach improves scalability and maintainability, as updates can be made directly in the external data source without modifying the transform each time.

Another alternative is to automate the Lookup Transform using the Transforms API, where a script reads the CSV or database entries and updates the lookup table dynamically in the transform JSON.

Both approaches help avoid manually maintaining large lookup tables within ISC and make the solution easier to manage in the long term.

---

<div class="post-metadata">

**Author:** ![iamnithesh](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/iamnithesh/32/4884_2.png) [@iamnithesh](https://developer.sailpoint.com/discuss/u/iamnithesh)\
**Post date:** [March 13, 2026, 7:06pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/13 "2026-03-13T19:06:45Z")

</div>

> [@kallajayaram](#):
>
> In the rule, read the data and load it into a Map structure.

Not sure if I understand this part. Where would the file be stored? And would you be able to read a CSV file from cloud rule which is the rule type for calculating the identity attributes

---

<div class="post-metadata">

**Author:** ![kallajayaram](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/kallajayaram/32/35609_2.png) [@kallajayaram](https://developer.sailpoint.com/discuss/u/kallajayaram)\
**Post date:** [March 13, 2026, 7:14pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/15 "2026-03-13T19:14:43Z")

</div>

Hi @iamnithesh

please correct me if I am wrong

In ISC cloud rules we cannot directly read external files like CSV or access databases because cloud rules run in a restricted SailPoint environment.

A more practical approach is to maintain the key-value mappings in an external CSV file or database and use an automation script (for example Python or PowerShell) to convert the mappings into the lookup table JSON format.

The script can then call the SailPoint Transforms API to update the Lookup Transform automatically. This way the mappings can be maintained externally while the transform is updated programmatically.

This approach works well when there are 100+ mappings and avoids manually maintaining large lookup tables in the transform configuration.

---

<div class="post-metadata">

**Author:** ![David\_Norris](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@David\_Norris](https://developer.sailpoint.com/discuss/u/David_Norris)\
**Post date:** [March 13, 2026, 7:17pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/16 "2026-03-13T19:17:54Z")

</div>

You sound like an AI…

…saw you replacing that first line to “please correct me if I am wrong”

---

<div class="post-metadata">

**Author:** ![kallajayaram](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/kallajayaram/32/35609_2.png) [@kallajayaram](https://developer.sailpoint.com/discuss/u/kallajayaram)\
**Post date:** [March 13, 2026, 7:21pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/17 "2026-03-13T19:21:53Z")

</div>

Hi @David_Norris

Thanks for pointing that out. I’m still learning ISC and exploring different approaches, so I appreciate the feedback.

My understanding was that since cloud rules in ISC cannot directly access external files like CSVs or databases, one possible approach could be to maintain the mappings externally and update the Lookup Transform programmatically using the Transforms API.

I’m definitely open to corrections and would really appreciate learning the recommended approach from the community for handling larger lookup mappings in ISC.

Thanks again for your input

---

<div class="post-metadata">

**Author:** ![David\_Norris](https://avatars.discourse-cdn.com/v4/letter/d/b9e5f3/32.png) [@David\_Norris](https://developer.sailpoint.com/discuss/u/David_Norris)\
**Post date:** [March 13, 2026, 7:24pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/18 "2026-03-13T19:24:03Z")

</div>

FYI: [AI Usage Policy - SailPoint Developer Community](https://developer.sailpoint.com/discuss/pub/ai-usage-policy)

You need to state your response is AI-assisted if that’s the case. (and even that sounded like an AI response)

---

<div class="post-metadata">

**Author:** ![iamnithesh](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/iamnithesh/32/4884_2.png) [@iamnithesh](https://developer.sailpoint.com/discuss/u/iamnithesh)\
**Post date:** [March 13, 2026, 7:42pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/19 "2026-03-13T19:42:54Z")

</div>

While I agree with you, I do not think it’s necessary as you can manually convert a csv file to json `“key”:”value”` format simply using the formula in Excel and copy/paste them into your transform using VSCode

 ![image](https://global.discourse-cdn.com/sailpoint/original/3X/c/f/cfa8984d5e969e3d1939d56e8dbaf4950bcc4385.png)

Whether you use script or do it manually, end result is the same.

I have used lookup transforms with 300+ (or may be more) key/value pairs and never noticed any issue with performance

---

<div class="post-metadata">

**Author:** ![chellanikaps3](https://avatars.discourse-cdn.com/v4/letter/c/b5e925/32.png) [@chellanikaps3](https://developer.sailpoint.com/discuss/u/chellanikaps3)\
**Post date:** [March 16, 2026, 5:03pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/20 "2026-03-16T17:03:17Z")

</div>

> [@kallajayaram](#):
>
> ped value (for example yes/no). If the key is not found, return the default value.
> 
> This approach improves scalability and maintainability, as updates can be made directly in the external data source without modifying the transform each time.

Thanks for the response.

---

<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:** [May 15, 2026, 5:03pm UTC](https://developer.sailpoint.com/discuss/t/lookup-transform-table-values/199270/21 "2026-05-15T17:03:20Z")

</div>

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