Skip to content

Instantly share code, notes, and snippets.

@nickadam
Last active September 26, 2025 12:49
Show Gist options
  • Select an option

  • Save nickadam/3299d3684fae001cf4455c34dc21167a to your computer and use it in GitHub Desktop.

Select an option

Save nickadam/3299d3684fae001cf4455c34dc21167a to your computer and use it in GitHub Desktop.

intern-idman

graph TD
  id1[(Get entry from google sheet)] --> id2{Base criteria met?}
  id2 -- Yes --> id3{Account associated with university email exists?}
  id2 -- No --> id16(Known account management process done)
  id3 -- Yes --> id22{Account permitted criteria met?}
  id22 -- Yes --> id5{Account enabled}
  id22 -- No --> id23{Account disabled}
  id23 -- No --> id24[Disable account]
  id23 -- Yes --> id16
  id24 --> id16
  id3 -- No --> id7[(Get pre-account creation responses from intern-onboarding)]
  id5 -- Yes --> id25{End date 7 days in the future?}
  id25 -- Yes --> id26[Send account expiry warning email]
  id25 -- No --> id16
  id26 --> id16
  id5 -- No --> id6[Enable account]
  id6 --> id25
  id7 --> id8{Intern responded?}
  id8 -- Yes --> id11{Is employee?}
  id8 -- No --> id9{Pre-account creation email sent less than 3 days ago?}
  id9 -- Yes --> id16
  id9 -- No --> id10[Send pre-account creation email: validate email, name, employee status and id, instructions for background check]
  id10 --> id16
  id11 -- Yes --> id12[Send email to resource mailbox to update google sheet]
  id11 -- No --> id13{Account permitted criteria met?}
  id12 --> id16
  id13 -- Yes --> id14[Create account]
  id13 -- No --> id16
  id14 --> id15[Send post-account creation email: Temporary password, intern id]
  id15 --> id16
  id16 --> id17[(Get enabled intern accounts from AD)]
  id17 --> id18{Account associated with google sheet?}
  id18 -- Yes --> id19(Unknonw account disable process done)
  id18 -- No --> id20[Disable account]
  id20 --> id19
  id19 --> id21[Send report of current accounts with intern assignments, including interns that are employees, to Eric]
Loading

Intern account process

  • University coordinators will fill out a google form containing the names, dates, and university email address for interns.
  • The google sheet is read once a day and intern accounts are created or enabled.
  • Interns that do not have an account will get an email instructing them to complete their background check. Patty's team is responsible for updating the associated field in the google sheet that indicates if the background check is complete.
  • Patty's team will assign a mentor by their employee id number
  • Any intern that is also an employee will not have an intern account created. They will use their employee account for intern duties.
  • All intern accounts that are enabled and do not meet the base criteria for an enabled account will be disabled. This accounts for AD accounts that are not represented in the google sheet, i.e., orphaned accounts.
  • A report of all interns and employees with active accounts and their associated intern assignments, and mentors is sent to Eric's team to update synergy.

Special considerations

  • For the account process we will add 7 days to the end date, Eric's team will get the real end date. This allows interns to access their account 7 days after the end date.
  • Similarly for the ovveride date we will add 1 day to the end date. Eric's team always gets the real date in the report.
  • To avoid a lapse in technology access between two placements the start and end dates will be combined to the earliest start date and the lastest end date.

Base criteria

This criteria must be met for the intern account creation/enabled to begin.

  • University email entered (for new accounts the intern has to click a link sent to the email address, existing accounts do not)
  • The account revocation override date is not entered or in the future
  • Intern does not have employee id number set
  • Intern is assigned a mentor by employee id number or any other truthy value and the assignment's end date is in the future

Account permitted criteria

  • Background check complete
  • Placement start date is in the past or two days in the future and the placement end date is in the future
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment