# Custom report for department changes in the last 30 days, with old and new manager and department values

**URL:** <https://developer.sailpoint.com/discuss/t/custom-report-for-department-changes-in-the-last-30-days-with-old-and-new-manager-and-department-values/227294>\
**Category:** SHF Discussion and Questions\
**Tags:** identity-security-cloud, apis\
**Created:** [October 26, 2026, 3:11pm UTC](https://developer.sailpoint.com/discuss/t/custom-report-for-department-changes-in-the-last-30-days-with-old-and-new-manager-and-department-values/227294 "2026-10-26T15:11:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![puppamReddy](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/puppamreddy/32/38766_2.png) [@puppamReddy](https://developer.sailpoint.com/discuss/u/puppamReddy)\
**Post date:** [October 26, 2026, 3:11pm UTC](https://developer.sailpoint.com/discuss/t/custom-report-for-department-changes-in-the-last-30-days-with-old-and-new-manager-and-department-values/227294/1 "2026-10-26T15:11:15Z")

</div>

Hi everyone,

We need a report of all **department changes in the last 30 days**.

**Required columns:**

- Employee Number
- First Name
- Last Name
- Email
- Old Manager
- New Manager
- Old Department
- New Department

This is one example of the kind of report we need. We have several similar custom reports to build (attribute change tracking with before and after values), so a reusable approach would help.

---

<div class="post-metadata">

**Author:** ![chaithu979](https://avatars.discourse-cdn.com/v4/letter/c/f0a364/32.png) [@chaithu979](https://developer.sailpoint.com/discuss/u/chaithu979)\
**Post date:** [October 26, 2026, 5:11pm UTC](https://developer.sailpoint.com/discuss/t/custom-report-for-department-changes-in-the-last-30-days-with-old-and-new-manager-and-department-values/227294/2 "2026-10-26T17:11:08Z")

</div>

we have created a PowerShell script to achieve this requirement

---

<div class="post-metadata">

**Author:** ![baoussounda](https://sea1.discourse-cdn.com/sailpoint/discuss/user_avatar/developer.sailpoint.com/baoussounda/32/13095_2.png) [@baoussounda](https://developer.sailpoint.com/discuss/u/baoussounda)\
**Post date:** [October 26, 2026, 9:47pm UTC](https://developer.sailpoint.com/discuss/t/custom-report-for-department-changes-in-the-last-30-days-with-old-and-new-manager-and-department-values/227294/3 "2026-10-26T21:47:55Z")

</div>

Hi @puppamReddy

Identity attribute changes (old and new values) aren’t directly exposed in Search on accounts, activities or events, so a custom approach is needed. We discussed a similar case here: [ISC - how to generate report to capture changes in manager](https://developer.sailpoint.com/discuss/t/isc-how-to-generate-report-to-capture-changes-in-manager/202397/2).

For a reusable approach, here are two suggestions:

**Option 1: Script combining Search and the Historical Identity Events API (works retroactively)**

1. Get the identities modified in the last 30 days (for example with a Search query on the **`modified`** date).
2. For each identity, call [get-historical-identity-events-v-1 | SailPoint Developer Community](https://developer.sailpoint.com/docs/api/get-historical-identity-events-v-1/) and filter on the attribute change event type. Each event lists the changed attributes with their old and new values.
3. Keep only the **`department`** and **`manager`** changes and build your CSV with Employee Number, First Name, Last Name, Email, Old/New Manager and Old/New Department.

**Option 2: Workflow (going forward)**

Create a workflow with only the Identity Attributes Changed trigger, filtered on **`manager`** and **`department`** , and no additional steps. Then use the workflow execution history to generate your report, since each execution records the old and new values.

Hope this helps!
