--- title: "Job Events" slug: "job-events" description: "An introduction to job events." updated: 2026-04-01T15:43:11Z published: 2026-04-01T15:43:11Z canonical: "kb.lasernetgroup.com/job-events" --- > ## Documentation Index > Fetch the complete documentation index at: https://kb.lasernetgroup.com/llms.txt > Use this file to discover all available pages before exploring further. # Job Events **Applies to:** Lasernet Core 11 In some workflows, third-party systems that send jobs to Lasernet Core might require information about the progress, success, or failure of those jobs. They might display this information to users, store it for reporting, or use it to trigger other processes. Lasernet Core can be configured to generate job event XML when a job’s status changes as it passes through modules. Job event XML contains [status information for a job](/v1/docs/job-events#job-event-statuses), along with other job metadata such as the name of the module that was processing the job when its status changed. ## About Job Events Job events enable the status of a Lasernet Core job to be tracked. Job event XML is generated when [a job’s status changes](/v1/docs/job-events#job-event-statuses). For example: - When a job starts at an input module, its status is `Running`. - If it reaches a module that has a schedule configured, the job pauses there and its status becomes `Scheduled`. - When the schedule on that module causes Lasernet Core to release the job, its status becomes `Running` again. - When the job reaches the output module and successfully completes, its status becomes `Done`. Modules that do not affect job status do not generate job events. For example, between the input module and the module that has a schedule configured, there could be two modules that process the job and pass it on to their destination modules. These modules will not generate job events because the job’s status remains `Running`. ### The Content of Job Event XML Job event XML contains a [standard set of information about the job](/v1/docs/job-events#job-event-xml-structure). You can also configure job events to include the data from specified JobInfos. Each change of job status generates job event XML that Lasernet Core outputs individually. You can use job combining to combine all the job event XML generated for a job into a single document. However, the data structure expected by third-party systems will likely differ from the structure of job event XML. You can use the data manipulation capabilities of Lasernet Core to modify the job event data before it is delivered to the third-party system. ### Configure Job Events at the Correct Module You can configure job events at any module in the Lasernet Core workflow (except for output modules). Lasernet Core will generate job event XML when the module where job events are configured (or any later module in the workflow, including the output module) changes the job’s status. For example, if the workflow is File Input module > Form engine > File Output module, and you configure job events on the File Input module, then any module can generate job event XML. However, if you configure job events on the Form engine module, only the Form engine and the File Output module can generate job events. It can be helpful to remember that Lasernet Core’s processing of a job is distinct from the generation, manipulation, and distribution of job event XML for that job. Producing job event XML is essentially a separate Lasernet Core job that generates an XML output document. ### JobInfo Criteria If necessary, you can apply JobInfo criteria to job events. When a job’s status changes, Lasernet Core will generate job events only if the specified criteria are met. For example, to generate job events only if the job fails, set `Status = Failed` Jobinfo criteria on the job event. Whenever the job’s status changes, Lasernet Core will evaluate whether to generate job event XML, and due to the criteria, it will not generate job event XML unless the job failed. ## Job Event XML Structure Job event XML contains information about the job at the time that [its status changed](/v1/docs/job-events#job-event-statuses). ```xml                                                                                                 ``` For example: ```xml 2026-03-17T15:22:58.216+00:00 FILE_OUTPUT_1_35E2932C_C43A_4842_B817_2CEDD6AA19E6 Done File Output 1 File Input 1 FILE_INPUT_1_60CBE6D7_BEB4_4E4D_998F_3AD3B246099A PDF ``` ## Job Event Statuses The `<Status>` element of job event XML can have one of the following values: - `Running` - The job has started. - The job has been released after it was scheduled or paused. - `Done` - The job was successfully completed at the stated output module. - `Failed` - The job failed at the stated module. - `Paused` - The job is paused. - `Scheduled` - The job is paused and will be automatically released according to the schedule on the stated module. - `Combined` - The job was combined with other jobs. ## Job Event JobInfos Job events set the following JobInfos: | JobInfo Name | Description | | --- | --- | | CurrentID | The JobID of the job that triggered the event. | | CurrentSubmoduleID | The name of the module that triggered the event. | | Status | The status of the job that triggered the event. Possible values are: - Running - Scheduled - Retrying - Done - Combining - Failed - Paused | | OriginatingModule | The name of the module that enabled job event tracking on the job. | | OriginatingJobID[] | One or more JobIDs of the job (or jobs) that were tagged with job event tracking by the “OriginatingModule” module. Relevant when job combining is enabled. | ## Configure Job Events To configure job events, follow these steps: 1. Create the output module that will receive job event XML. This could be: - A dedicated output module for job event XML. The image below depicts a dedicated output module (see 1 in the image). - An output module that the workflow already contains for generated documents. 2. Identify the module to configure job events at. Lasernet Core will generate job event XML when this module (or any later module in the workflow, including the output module for generated documents) changes the job’s status. In the image below, job events are generated from the **File Input 1** module onwards (see 2 in the image). 3. Double-click the module that you want to configure job events for. Its **Properties** window opens. ![A number annotated screenshot of Lasernet Developer and the Job Events tab of a module's Properties window.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/configure job events 1.png) 4. Click the **Job Events** tab (see 3 in the image above). 5. Click **Add** (4). 6. On the **General** tab of the **Destination Properties** window: 1. From the **Destination** list (5), select the output module that will receive job event XML. 2. **Optional:** Add a **Description** for this job event destination. 7. **Optional:** On the **Criteria** tab, add JobInfo criteria. Lasernet Core will write job event XML to the selected **Destination** only if the criteria specified on this tab are met. > [!TIP] > Tip > > You can use the job’s Status JobInfo to write job event XML to the selected **Destination** only when jobs have specific statuses. For example, if the JobInfo criteria is `Status = Failed`, Lasernet Core writes job event XML only if the job fails. > > > > ![JobInfo criteria on the destination that causes job event XML to be generated only if the job fails.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/status failed jobinfo criteria.png) > > > > To route job event XML to different outputs depending on the job’s status, you could create two job event destinations (on the module’s **Job Events** tab) and give them different JobInfo criteria. 8. **Optional:** On the **JobInfos** tab, specify which JobInfos to include in job event XML. ![The JobInfos tab for a job event destination with the name of the DataFormat JobInfo entered into it.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/job%20event%20JobInfos.png) > [!NOTE] > Note > > You can specify any JobInfo, including JobData. > > > > However, JobData is not included in the job event XML generated by output modules. To work around this, you can use a JobInfo Manipulation modifier (on a module in the workflow) to copy JobData to a custom JobInfo and include that JobInfo in job event XML instead. 9. Click **Ok** to close the **Destination Properties** tab. Lasernet Core adds the job event destination to the **Job Events** tab. ![A job event destination on the Job Events tab for a module.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/job event created.png) 10. Click **OK** to close the module’s **Properties** window. Lasernet Core adds an arrow to the workflow diagram to represent the job event destination. ![An arrow between the module that job events are configured on and the job event destination.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/job event arrow.png) 11. To combine all the job event XML generated for a job into one document, enable job combining on the job event XML output module. If you do not do this, each item of job event XML is generated and output individually, and depending on the output type, some job event XML output could overwrite XML that was already output. ![The Combining tab with Enable job combining enabled for the job event XML output.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/job%20combining%20on%20job%20event%20xml%20output.png) 12. If the job event workflow uses a File Output module, set the FileName JobInfo on that module to specify the file name for the job event XML file. ### Project-Specific Considerations It is likely that the third-party system that will receive job event information will require it in a specific format. You can add XML transformation or a form engine to your workflow to manipulate the job event XML as required. The third-party system will also require that Lasernet submits the job event information in a particular way. For example, sent through a web service, or written to a specific location. Configure the Lasernet Core workflow to send job event information in the required way. ### The Job Event Toolbar Button The Job Event button in the toolbar enables you to drag between modules to create job event destinations: 1. Click **Job Event** in the toolbar. 2. Drag the mouse pointer from the module at which job event creation will begin to the module that will receive the job event XML. ![Job event line dragged between modules.](https://cdn.document360.io/c831ef63-c6b3-48ee-b443-3e33644e4e2e/Images/Documentation/drag job event.png) 3. Lasernet Core adds the job event destination. By default, it is active and only its **Destination** is configured.