The job was invoked automatically by a schedule that someone created for that job. That schedule has a schedule ID of 12 (per the message you've provided). You can lookup what that schedule is from the system table dbo.sysschedules. You also could just right click on the job in SSMS, click on Properties, then go to the Schedule section to see the schedule details via the UI of SSMS.
Tara Kizer also has this rather complete script on listing out all jobs and their schedules with nicely formatted results, which you might be fine useful.
To expand on my answer, based on some clarification in the comments regarding who invokes the job, the SQL Engine has a scheduler built into it. Presumably that code specifically exists in the SQL Agent service. The SQL Agent service is configured to run under a specific Windows account (either domain or local account) on the host machine to your SQL instance. Therefore one can say that account is the who that invokes all jobs of your SQL instance.
You can equate this similarly to if you wrote a C# (or whatever your procedural language of choice is) program that internally uses scheduling to send an email every hour, and impersonates another user when it runs that specific block of code. Whichever account on the machine of which that program is running is technically the who that invokes the block of code (not the impersonated user) that sends the email every hour. The SQL Agent service is the program, and runs under a specific account on the machine of your SQL instance, in the context of your question.
the job was invoked by domain1\user which the server cannot identify.– variable Dec 16 '21 at 13:00