We would like to generate a transfer report that contains details like identity details, manager details, and the transfer date. So, whenever there is a change in any of the user attributes, we generate a certification campaign. In campaigns, we do see details like {identity details, and manager details}, but transfer details are missing. We would like to see on what date the transfer or change is happening. If we can get the date on which certification campaigns are generated from a search query, that is also useful. Could anyone please suggest?
Hmm, I am not too sure I follow along and may need you to supply more context.
From my understanding, it sounds like you currently trigger a certification for the manager whenever there is a change in a direct reports identity attributes. You are seeking an overall report that can list the certifications, the direct reports being certified, the manager certifying, and the reason the certification was generated (i.e. what identity attributes changed.).
Thanks a lot for your reply @bostelmann , yes you are correct. I would like to explain in detail and my thoughts to achieve this.
Requirement : When ever there is a change in an attribute called ‘department’ then a report should be generated with details like, for whom the details are updated and who is line manager for the user and on which date update happened.
my thoughts : 1.) is it possible with the help of workflow, so trigger is identityattributechange. So when there is change in IDN attribute, is it possible to update other attribute. ( for example we created new attribute called transfer change in identity profile). So thinking to update with current date. Because update can happen many times. If newly created attribute is updated to current date , then with the help of search query we can pull records.
) can we acheive this with the help of transform?, first get the value of ‘DEPARTMENT’ form workday and get the department value from IDN. So if there is difference, then set transfer date to today’s date or current date. Genreate the report with search query. ( But this idea is not working! )
Yeah, so as with any issue there are hundreds of possible solutions. We just have to brainstorm them and pick the one that is best fit.
The ask is to generate an Identity Report when an identities’ department attribute is changed.
With out diving into specifics, you could achieve this using either the Report feature or the Workflow feature.
If you want to use the Report feature, you will need to create a new Identity Attribute, say departmentChangeFlag, that flags when the department identity attribute is changed. So, a value of true indicates department was recently changed, perhaps within the last 24 hours, and a value of false indicates it has not changed. You can then build a search query for all identities that have recently changed departments: attributes.departmentChangeFlag:"true". You may also want to capture the date the change occurred, for this you will need to make another identity attribute, say departmentChangeDate, that indicates the date when the departmentChangeFlag becomes true.
If you want to use the Workflow feature, as you indicated you can use the Identity Attribute Change trigger to detect when department has changed. However, workflows are executed individually for each Identity. So, you will need a way to aggregate data across multiple workflow executions to generate any consolidated report. Perhaps a Workflow that makes a HTTP Request to an external database to record the information and later a report is run could solve this issue.
Personally, I would refrain from using Workflows to try and solution this as I prefer simplicity and refrain from externalizing solutions. However, depending on your detailed requirements it may be a better fit.
I am sure there are other solutions available with various pro’s and con’s. Perhaps there is something better than what I mentioned now. It is important to also take a step back and ask why the report is needed at all. Sometimes you might find the report isn’t needed but an Email is or something else. Understanding the issue you are trying to solve for is key to providing a good solution.
One of the best options for this use case might be to work with your HR Source team and possibly convince them to get a report out of the source itself as they have access to all the data that you need. The dates, the old and new values all reside in HR database somewhere.
If that’s not an option, the choices listed by @bostelmann shoud give you a head start.
If you are open to external scripts like a powershell, you could leverage SDK and combine data from multiple API responses into a CSV.
Thanks a lot @bostelmann , could you please let me know, how ca we update departmentChangeFlag to ‘true’ or with current date with the help of workflow whenever there is change in department attribute. (So the ask is , when department and manager attributes changes, either we can generate report which includes, user id or etc, manager details and transfer change date. ) I’m not able to update departmentChangeFlag to ‘true’ or current date. I prefer update flag with current date becuase, there might be changes after some time .
First, I would be very careful with your understanding. I have never been in a company where manager was guaranteed to change when department changes. Consider an organizational restructuring as an example use case. In these situations, HR can take chunks of reporting hierarchy and move them across departments or change the department name. You need to ask yourself what are the valid use cases for this functionality.
I apologize @Mane1, as I still am not very clear on your requirements and what exactly it is you are seeking to achieve. But departmentchangeFlag would be an identity attribute so you would calculate its value the same way you would for any other identity attribute, using transforms. If you want to focus on the date, you could create a different attribute say lastDepartmentChangeDate, that stores the date of the last department change rather than a flag. Again, you will have to use a transformation to calculate the value. Using a Workflow would not work as there is no action to modify identity attributes from a workflow, nor is there a supporting API.