Filling job vacancies with Signavio Workflow

Published on

By Peter Hilton

A business process example

An earlier article introduced a workflow for hiring employees with Signavio Workflow, by interviewing a job applicant and working through a selection process. Although this is a common situation, it wouldn’t be appropriate for every organisation. This article looks at the same process from a different perspective: filling a vacancy within the organisation, instead of responding to a single job application.

The difference between these two situations is what triggers the workflow. For some jobs, it is difficult to hire good people, so recruitment tends to be driven by single applications from job candidates. A candidate might not even be applying for a specific vacancy, because if the candidate is good enough, then the organisation will create a suitable position.

For other jobs, there is more competition for places, and there will be many applicants for an open position. In this situation, recruitment is driven by the organisation’s internal decision to try to fill vacancy. From each job applicant’s point of view, the process may appear to be the same, except that there are other candidates being interviewed at the same time.

Process overview

The main process starts when someone in the organisation identifies a vacancy. The main tasks are to submit a requisition (request that the vacancy be filled), advertise the vacancy, and interview candidates.

In a large organisation, the requisition may come from a department manager, who is requesting budget for a new employee. The requisition then instructs the recruitment department to advertise the vacancy and interview candidates, together with the requesting manager. In a smaller business, requesting managers may do everything themselves.

Many variations of the basic process are possible, in practice. The rest of this article shows how you might extend this process in Signavio Workflow.

Recruitment roles

To make it clear who does what, define three different roles as the assignees for different user tasks in the process.

  • The hiring manager is the person who wants to hire a new employee, typically to add someone to their own team.
  • The authorising manager decides whether to approve the hiring manager’s request, typically from a budget perspective.
  • The internal recruiter is the human resources department employee who performs recruitment tasks.

There may also be an external recruiter, such as a recruitment agency that you use to find candidates, but they typically won’t use Signavio Workflow directly.

Using role-based assignment in Signavio Workflow explains how to use these roles in the process definition.

Adding a job requisition approval

Your organisation may require a management approval for the job requisition, to approve the position and the budget. The position might be a new position, or to replace an employee who left. The budget corresponds to a salary range.

approval decision

To add the approval in Signavio Workflow, you need to add a decision after the approval user task, and split the process flow when the request is rejected. The decision is an exclusive gateway, with transitions called Approve and Reject, which appear as buttons on the preceding user task form.

For the Reject transition, you could just end the process, but it is better to use an email task to notify the hiring manager. The Approve transition continues with the Publish vacancy on web site task.

Repeating interviews

Ideally, interviewing the first job applicant would result in a hire, but in practice you will interview a number of candidates. To do this, add a decision like the one for the approval, but instead to decide whether its necessary to loop back and repeat the interviews task.

repeating interview task

On the Interview applicant user task form, add a field to record the candidate’s name.

Notifying external recruiters

As well as publishing the vacancy yourself, you might want to use an external recruitment agency. This probably don’t involve more than sending them an notification that you have a new vacancy. You’ll want the external recruiter to search for candidates at the same time as other candidates apply directly, so use a parallel gateway to create an additional flow.

external recruiter notification

The recruiter will need information about the job, so you could include information from the job requisition form in the notification email. Alternatively, you can use an uploaded file that contains a more detailed job description.

Similarly, you can add a notification at the end of the process to tell the recruiter to stop their search once you have hired a job applicant.

The complete process

After adding the approval, repeats and notifications, you have a richer process, resulting in the following more complex process:

the complete process

The complete version also adds a final user task to remove the published job vacancy, so you don’t have to spend time responding to applications for a job that doesn’t exist.

Evolving the process this way might not be something that you do quickly. Instead, it would be quite natural to make one single improvement each time you have a new job vacancy, so that the process evolves with use. Besides, you probably don’t want to spend all your time editing the process when you have other work to do.

Adding interview process steps

As a final improvement, consider how this process relates to the Hire employee process, mentioned earlier. The process still includes interviewing candidates as a single user task. In practice, though, interviewing candidates is itself a process that involves multiple people. You can see this in Signavio Workflow’s Hire employee example process, which you can think of as an expanded version of the Interview next batch of applicants task:

06 hire employee process

As you extend the Fill job vacancy process, by adding user tasks other activities, you can also gradually include parts of the Hire employee process until you have some combination of both processes.

Photo: Wolfgang Lonien / CC BY-SA 2.0