The job logs in. The program opens the portal and fills in the email and the password, the way it always does.
The site asks for a code. A one-time code goes to someone's phone. The program cannot know it, so the job parks, awaiting input, with its place kept.
A link goes to the right person. Kaabist emails a hosted page to the person who has the phone. No account, no dashboard: one field and a button.
They type the code. The code goes straight to the waiting job. Nothing else in your system had to change.
The job comes back where it was. It continues from its checkpoint, not from the start: the login is not done twice, nothing before it runs again.
And carries on. The report is read and returned as typed data. One run, one login, one person asked once.