How to build a project management system for teams

How to build a project management system for corporate teams

Written by Casey Burridge

Last updated:

Categories GravityView

Tags , ,

Are you looking to create complex dashboards for teams of users? 

In this tutorial, we’ll show you, step by step, how to create a project management system for marketing teams. 

In our example, we have teams of marketing managers and marketing analysts. Our dashboard will enable managers to create projects and assign them to analysts. Both managers and analysts will be able to keep track of projects from a dashboard page.

Every now and then we like to write longer, more in-depth tutorials covering complex use-cases, like this one! It’s a bit longer than the guides we usually publish, but it’s well worth reading in full as it truly captures the power of what you can do using Gravity Forms and GravityView.

Let’s get started!

Sneak peek

Here’s a look at our finished project management system. Below is the main dashboard showing all the open projects. Marketing managers can submit new projects or tasks and assign them to marketing analysts. Analysts only see the projects and tasks assigned to them, not anyone else’s! 

A table with a search bar at the top; the table is titled Marketing tasks; in the table are various projects with a links to view the full brief.

When an analyst clicks on a project to view more information about it, they’ll be able to read the full brief. Below the project brief is a form for them to submit their comments and upload their work. For example, if the project required them to write up a report, they could upload it here.

A project overview page including a full project brief, and a form for submitting work.

When an analyst submits their work, a notification will be sent to the marketing manager. They can then view the submitted work and respond using the same comment form.

A snapshot of the project overview showing follow-up responses.

When the manager is satisfied that the project has been completed, they can update the project’s status directly from the front end!

What you’ll need

Here are the plugins you’ll need to build a project management system like the one in this tutorial:

Overview of the system

Our project management system consists of two forms and two Views.

  • Project submission form: This will allow managers to submit project briefs for analysts to work on.
  • Response form: Another form for analysts to submit their work and leave comments or feedback.
  • Project dashboard View: The main View where analysts can see projects assigned to them and managers can monitor progress across all projects.
  • Response View: A View for displaying any submitted files, comments or feedback on the project page itself.

Creating the project/task submission form

The first thing we need to do is create a form for marketing managers to submit project briefs and assign them to analysts.

To create a new form we’ll hover over “Forms” and click “Add New”. We’ll start with a blank form and add the following fields:

  • Title (Single Line Text field)
  • Quick summary (Rich Text Paragraph Text field)
  • Related to (Entry Tags field)
  • Full brief (Paragraph Text field)
  • Assign to (Drop Down field)

The “Assign to” field will enable marketing managers to assign projects to their subordinates (analysts). For this to work, we’ll need to dynamically populate the dropdown with users. We can do this using Populate Anything by Gravity Wiz!

After installing this handy add-on, we’ll click on the “Assign to” dropdown field, check the box that says “Populate choices dynamically” and set the “Type” to “User”.

A checkbox titled 'Populate choices dynamically'; below is a dropdown field set to 'user'

Next, we need to select a label and a value. For the value, we’ll choose “User ID” and for the label, we’ll select “Display Name”.

Two dropdowns; one titled 'Value' and one titled 'Label'; they are set to 'User ID' and 'Display Name' respectively.

Finally, we can add a filter to ensure only users with the role “Marketing Analyst” show up as choices in the dropdown. This is important because we only want projects/tasks to be assigned to analysts, and not other users.

A filter that reads 'Role is Marketing Analyst'

That’s it! Let’s take a look at our completed form on the front end:

A form titled 'Marketing tasks' with fields for title, quick summary, related to, full brief, assign to.

Let’s move on to the next step.

Create the response form

Now let’s create the second form. This form will enable marketing analysts to submit projects once they are completed.

Later, we’re going to embed this form into each project so that it’s easy for marketing managers to track submissions. We’ll also create email notifications so managers get notified when new work is submitted.

The Gravity Forms visual editor

We’re going to create a simple form with the following three fields:

  • Comments & feedback (Paragraph Text field)
  • Upload project (File Upload field)
  • Email (hidden Email field)

The final email field will enable us to capture the marketing manager’s email address so we can send them a notification email when a project is submitted for review. 

A hidden 'Email' field

You’ll see how this works later, but for now we’ll simply enable dynamic population on the field and set the parameter name to “email”.

A checkbox labeled 'Allow field to be populated dynamically'; below is an input field for the 'Parameter Name' which is set to 'email'.

Okay, that’s it for the forms! Now we can turn our attention to building the Views that we need and start putting together our project management system.

Create a View to display responses

First, let’s create a View to display project comments and submissions. We will embed this into the final project management View, so it makes sense to create this View first.

Okay, let’s create a new View, select our “Submit response” form as the data source, and choose “List” as our View type.

The View creation screen; there's an arrow pointing to the 'Data source' dropdown which is set to 'Submit response';

Now, we can start adding the fields we want to display to the “Other Fields” section of the View editor. Here are the fields we need to add:

The following fields added to the GravityView editor: 'From', 'Comments & feedback', 'Upload project', 'Divider'.

The top field is a Custom Content field. We’re going to use this to output the name of the user that sent the submission. We can do this using Gravity Forms merge tags.

The Custom Content text editor

After that, we’ll add the “Comments & feedback” field as well as the “Upload project” field. Here’s what this will look like on the front end:

Two messages posted by Laura and Kenneth respectively.

As you can see, this View will enable us to show project submissions and comments on the project overview page! However, we still need to build the main project management dashboard, so let’s do that now.

Create a View to display project briefs

Now it’s time to put everything together and build our project management dashboard! We’ll create a new View, select our “Marketing tasks” form as the data source and choose “Table” as our “View type”.

The View creation screen; there's an arrow pointing to the 'Data source' dropdown which is set to 'Marketing tasks'; the View Type is set to 'Table'.

Next, we’ll start configuring the Multiple Entries layout by adding fields to the “Entries Fields” section. Here we’re going to add the “Title”, “Related to”, “Quick summary”, “Assigned to”, and “Status” fields.

Finally, we’ll also add a “Link to Single Entry” field and change the label text to “Full brief”. Clicking this link will enable analysts to see more information about that particular project.

The Entries Fields of the View editor; there are 6 fields added here.

Next, we’ll add a search bar widget to the “Top Widgets” area.

The GravityView search bar.

We can configure the search fields by clicking on the gear icon. Here, we’ll add search inputs for the “Related to”, “Status”, and “Entry Date” fields.

The Search bar configuration settings

Here’s what our dashboard looks like on the front end:

A table with a search bar at the top; the table is titled Marketing tasks; in the table are various projects with a links to view the full brief.

It’s looking good, but we still need to configure the Single Entry and Edit Entry layouts.

Configuring the Single Entry layout

After adding fields and widgets to the Multiple Entries layout we’ll click on the “Single Entry Layout” tab to start configuring the Single Entry page. This is the page where we can show more information about a specific project. 

Here we’re going to add all the remaining form fields, including the full project brief and a “Link to Edit Entry” field. This will enable marketing managers to update the status of a project when it’s completed.

The Single Entry Layout in GravityView; there are 7 fields added here.

Finally, we’re also going to add our submission form and View that we created previously. This will enable analysts to submit their work and leave comments on specific tasks. Marketing managers will also be able to respond here.

We can add our form and View using GravityView’s “Gravity Forms” and “GravityView” fields.

The 'Gravity Forms' and 'GravityView View' fields in the GravityView editor

After adding the “Gravity Forms” field to our layout, we’ll need to select a form to embed. We’ll go ahead and choose our “Submit response” forms.

The field settings for the "Gravity Forms" field; here there is a dropdown field for selecting the form to display

Next, we can include field value parameters, enabling us to populate fields dynamically. Let’s include the “email” field parameter and set it equal to the email address of the user who created the entry.

This will enable us to capture the marketing manager’s email address so that we can notify them when there is a new comment or submission for a specific project! This will enable marketing managers to track project progress.

An input box titled 'Field value parameters'.

Finally, after adding the “GravityView View” field, we’ll need to select which View to embed. Here we’ll select the “Project submissions” View that we created previously.

A dropdown field titled 'View to embed'

Next, we need to configure some advanced field settings to ensure that responses are only displayed on the project page where they were submitted. We can do this by adding the below filtering condition.

The advanced settings for the GravityView View field'; here there is a search condition added

That’s it for the Single Entry layout! Here’s what it looks like on the front end:

A project overview page including a full project brief, and a form for submitting work.

Finally, we want marketing managers to be able to change the status of a project when it’s completed. To ensure that we can do this, we’ll need to configure the Edit Entry layout.

Configuring the Edit Entry layout

GravityView’s Edit Entry layout enables admins and entry creators to update fields directly from the front end.

Any fields we add here will be editable from the front end. In our case, we only want the “Status” field to be editable, so let’s add it here.

The 'Edit Entry Layout' in the GravityView editor; one field is added here–the 'Status field.

That’s it! There’s only one thing left to do, and that’s for us to add an advanced filter to our View to ensure marketing analysts only see projects that are assigned to them.

Configuring the advanced filter

To add an advanced filter, we’ll scroll down to the View settings, click on the “Filter & Sort” tab and click “Add Condition”.

Now we can configure a filter that ensures marketing managers can see all projects, while marketing analysts only see the projects that have been assigned to them.

To do this, we’ll add two filter groups connected by an “OR” condition. For the first filter group, we’ll check to see if the “Assigned to” field is equal to the current user’s user ID. If it is, the entry will be displayed.

For the second filter group, we’ll check if the current user is a marketing manager, and if they are, show them all entries.

An advanced filter consisting of two condition groups

Here’s a quick demo. If I log in as “Laura” (one of the marketing analysts), I can only see the projects that have been assigned to her!

The project management dashboard displaying projects/tasks assigned to Laura

Our dashboard is complete!

Adding notification emails

Now that we have a fully functioning project and task management system, the final step is to set up notification emails. As users might not check their dashboard every day, it’s helpful to send them notification emails when there is a new comment or submission on a project.

To configure notification emails, we’ll go to the form settings, and click on the “Notifications” tab.

The Notifications tab in Gravity Forms

Let’s edit the default Admin notification. First we’ll rename it to “Notify marketing manager”. Next, we’ll set the “Send To Field” to the “Email” field. This is the same hidden field that we are dynamically populating on our form!

A radio button labeled 'Select a Field'; the 'Send to Field' set to 'Email'

Now we can configure the remaining options and add some text for the email body.

The notification message box showing a message addressed to marketing managers.

While this is a relatively simple example, there are many ways we could enhance the email notifications. For example, we could include a second hidden field in our form to capture the entry ID. This would allow us to output a link directly to the project, so that marketing managers could click through to it from the email body!

Build a project management system using Gravity Forms and GravityView

In this tutorial, we showed you how to build a project management system for a corporate marketing team. The system includes two forms and two Views, with an advanced filter to ensure different user roles only see relevant data.

Using the flexibility of Gravity Forms and GravityView, you can build powerful, dynamic dashboards that cater to different user roles. If you found this post helpful, read our guide to building a sales dashboard for corporate sales teams next!

Helpful tips right in your inbox.

Subscribe to our weekly newsletter for tips, special offers, and more!

Helpful tips right in your inbox.

Subscribe to our weekly newsletter for tips, special offers, and more!