A Vacation Request Process

In this walkthrough we'll configure a workflow for a vacation request. This is the process we'll be implementing:

1. The employee submits a vacation request form. Emails are sent to the employee acknowledging the receipt and also to the manager notifying him or her of the vacation request.

2. The employee's manager reviews the request and either approves or rejects it. If rejected the form is sent back to the employee for additional information or modification. This review/modification loop repeats indefinitely until it's approved.

3. Once the vacation request has been approved it's sent to the Human Resources department for processing. The responsible person in HR registers the vacation days and enters the number of remaining days into the form.

A flowchart of the process using swim-lanes might look like something this:

The Form

Download and import the sample   Vacation Request Form  into Gravity Forms. It will looks like this. Notice that the last two fields are 'admin-only' fields (check the setting in the advanced tab). This means they won't be visible on the form for for the user in the initial submission but they'll be visible in each of the workflow steps.

Add the Workflow Steps

We're going to add three steps so the list of steps will look like this: vacation request steps

You can see from this screenshot that the system currently has one entry pending modification by the employee. Tip: if you click on the number of entries you'll be taken to the Gravity Forms Entry List filtered for the step.

Add an Approval Workflow Step: Manager Approval

There are a number of ways to configure an approval step for different departments. One way is to use the Assignee field and allow the user to choose the user account. In this walkthrough, we're going to configure conditional routing based on the value of the Department dropdown field. vacation request routing

Important: you won't be able to specify the next steps until they've been created so you'll need to come back to finish the configuration of this step.

Here is the configuration of the other two mails: vacation request rejection email

vacation_request_approval

Add an Input User Step: User Modification

In this step, we'll assign the form to the form submitter by selecting the User (Created by) field. 

If you don't see the User (Created by) field you'll need to make sure that you have the "Require user to be logged in" setting enabled in the Form Settings. 

The editable fields will be the Date From and Date to fields. 

The {workflow_note} merge tag is used to display the notes added by the manager in the previous step. vacation request user inpu

Notice the next step goes back to the previous step creating the review/modification loop.

Add another User Input Step: HR Processing

This is the step when the HR user enters the number of vacation days remaining and optionally add comments. 

The next step can be left on 'Next step in the list' - as there are no more steps the workflow will be considered complete after this step. vacation request user input

Next Steps: The Vacation Requests Extension

Vacation Requests can be managed with standard forms but the  Vacation Requests Extension provides some additional features to make them easier to manage.