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!
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.
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.
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:
- Gravity Forms (any license level)
- GravityView Pro
- Gravity Forms Entry Tags (free add-on!)
- Populate Anything by Gravity Wiz
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”.
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”.
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.
That’s it! Let’s take a look at our completed form on the front end:
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.
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.
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”.
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.
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 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.
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:
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”.
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.
Next, we’ll add a search bar widget to the “Top Widgets” area.
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.
Here’s what our dashboard looks like on the front end:
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.
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.
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.
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.
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.
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.
That’s it for the Single Entry layout! Here’s what it looks like on the front end:
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.
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.
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!
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.
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!
Now we can configure the remaining options and add some text for the email body.
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!