Environment: Service Desk 7.4 and higher
Question: How can I allow my end users to update their own / other users records by raising a process and completing the details?
Design Scenario: From version 7.4 of Service Desk some new functionality was introduced called "Administration of Users and CIs from a process". This is detailed within the Designer guide or from within Help by searching for this topic. This document makes use of this functionality and gives an example of how it might be applied in Request Management to allow End Users to raise a new request which their own manager or other user's. You could easily tweak this design to add in an additional authorisation step which is required (perhaps by the current or proposed manager) before the user's record gets updated.
Step by step instructions:
Always test design changes on a test environment first and implement on live after a full system backup whilst all users are logged out.
1. Within Object Designer, drag the System - User object onto the Request Management - Request object and when asked the question about creating collections select No.
2. Rename this relationship attribute to New Manager. This is the attribute to select who will be this User record's new manager.
3. Again with Object Designer, drag the System - User object onto the Request Management - Request object and when asked the question about creating collections select No.
NOTE: You will need to ensure that the "Manager" or "Line Manager" attribute which you will be updating and copying from is on the User object. It may exist at a lower level at the End User object and if this is the case your relationship should be made to System - End User instead.
4. Rename this relationship attribute to Change User Record. This will be the User's record that you select on the request which will updated to have a new manager.
5. When highlighting this attribute click the "Manage Actions" on the Action Panel.
6. Create a new Update action as per below:
7. OPTIONAL: Create a filter on this attribute so that it prefills with the RaiseUser for the request, so that users can only change details for their own record:
For the Criteria select a Runtime Value of Raise user - Title:
8. Still on the Request object create a new string attribute called Current Manager which we will store who the current manager of the user was before the process record was saved, just for reference purposes.
9. Save all changes.
10. In Window Designer add the attributes to your request window as per below:
11. Set the Raise User attribute to have the Copy Related property = True:
12. Create a Window Copy rule as per below:
13. Create a new Request process or alter existing process, to have an automatic action for your new Update action created at step 6 and a value type to select the New Manager attribute which you added to Request :
14. Save and activate your process.
15. Within Self Service add a new process shortcut as per below:
16. End users will now be able to raise requests and select a user record that they want to update, a new manager for that user record, and the update will then happen automatically.