Jobs are the Workflow Engine's building blocks. Each job is designed to solve a specific, smaller task, operating on the resources and data available in the current workflow context.
Core concept
A workflow is built by chaining jobs together to form a more complex process that solves the task at hand. Each job reads from and writes to the workflow context, either directly or via metadata on a permanent resource such as a unit.
Jobs will continue to evolve as the platform grows and matures. New jobs are added as the need arises, existing jobs are rebuilt in more efficient ways, and some are replaced entirely by newer versions.
Job categories
The many available jobs can be grouped into a few broad categories, based on the kind of task they perform:
- Data processing – retrieves, transforms, and stores data. For example Data Operations, a sub-process job for creating and manipulating data such as strings (see Working with strings), and Unit Pipeline for finding or merging units (see Merging Units).
- Communication – sends messages and notifications to users via email, SMS, or app.
- Integration – integrates with other systems using API calls or FTP access, for example Send HTTP Request (see Send HTTP Request).
- Automation – schedules a task or loops over a set of items to repeat a task multiple times, for example For Each Resource (see For Each Resource).
- Decision-making – routes the workflow and branches out to perform different tasks depending on configured rules.
The most appropriate job for a given category usually depends on the desired outcome. New jobs may fit several categories at once, depending on how they're used.
Inspecting jobs
When debugging or building a workflow, you can inspect what each job did in a specific run, including which decisions it made and what it read or wrote in the workflow context. See Debugging workflows using interactive mode.