- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 11:33 AM
We currently have on boarding/off boarding workflows setup for users joining and leaving the organization. From time to time users will leave and re-join the organization. We're looking to automate the on-boarding process for these users as currently we create a manual task as a workflow can only be run on a record once.
I'm looking for the best practice to re-run workflows. I know 'Run Multiple' exists but we will need to set strict criteria on our workflow conditions to prevent an on boarding workflow from unintentionally running multiple times.
Is Archiving the workflow context after X days an option in this case?
Is either Run Multiple or Archiving best practice in either case? Unfortunately, I don't see any documentation around for either feature, Run Multiple or Archiving workflows specifically.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 01:09 PM
Hi,
So in the data you're receiving from HRIS this should have that flag if they are a rehire or not, that way your workflow can pivot accordingly?
I can understand not wanting to reuse usernames (in the context of one existing and then creating a duplicate or reissuing the same but for another user). So with that said, same as above, with the rehire process and flag indicator, that will help you query for the prior AD account and simply activate that which would sync over your LDAP and SN processes accordingly for their user account within the system.
So you have an onboarding flow and then there's a sort of "reactivation" process flow. Those are separate and if built out separately allows you quickly reactivate a user to get them back to the job quicker, you're able to tap in to more information a lot quicker with a reactivation and this also allows you to follow this same path for employees who are returning from FMLA, etc.
Are you currently receiving a rehire type flag in your HRIS integration? And/or a sort of reactivation flag? If not, is that a possibility?
Anyways, I know your question was around re-running a workflow, which you can do by simply restarting the very same workflow over again, but I was approaching this from a process conversation instead.
You can use this thread as an example of script to use to restart a workflow: https://community.servicenow.com/community?id=community_question&sys_id=d1877ed9dbdf230411762183ca96...
So in the end, your question around best practice, if you can tell from my type of responses, is to treat it as a separate occurrence. Tracked separately both from a fulfillment perspective and SLA/KPI perspective. It's not best practice to re-run a workflow on a same item that could be days, months, years, old just because they're coming back.
Please mark reply as Helpful/Correct, if applicable. Thanks!
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 11:49 AM
HI,
But why you want to run the workflow again on same record.
You should be putting steps or other task in that same workflow to automate it.
Can you explain bit?
Thanks,
Ashutosh

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 11:50 AM
Hi Brian,
You can Specify your conditions to run workflow inside condition tab by keeping workflow on run multiple.
Please mark if that helps you!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 11:56 AM
Hello,
Hmm, the process here seems a little off, if you ask me.
Users will leave and re-join the organization...how far apart? Meaning, if they leave and then a month later come back...is that too soon?
In my opinion each occurrence here is a separate...occurrence.
If they leave, you process the off-boarding. If they join (whether as new or rehire) you process the on-boarding. As far as automating this, this is normally done through some sort of "integration" with your HRIS. This tells you which process to run.
Each time though, it's a separate item. Why are you guys trying to keep it on the same record?
If you're saying sometimes a user leaves and then "re-joins" within a few days...then that is more edge case and could be handled individually? Plus how often is that even done?
Please mark reply as Helpful/Correct, if applicable. Thanks!
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎06-26-2020 12:24 PM
This is integrated with our HRIS via scheduled imports and conditional workflows for initial on boarding and off boarding which the on boarding workflow creates an Active Directory account which is kept in sync via ldap.
Our process is to never reuse usernames and if a user returns to the org they get the same username hence reusing the same ServiceNow User record.
Leaving and re-joining could be any time frame, days months years. It happens enough to warrant looking into not having so many manual tasks.