Product Installation, Permission Sets, Assigning User Licenses

Milestones PM+ can be installed into Professional Edition orgs and higher free from the AppExchange. Any Salesforce administrator will have access to Milestones PM+; if there are non-admin users that you want to grant access to the app, assign the Milestones PM+ Full Access permission set to the User record. If you are on the Free Edition, you will need to add the users that you want to use the app.

Salesforce Help Doc: Assign Permission Sets to a Single User

Salesforce Help Doc: Assigning Licenses for Installed Packages

Salesforce Help Doc: Non-Salesforce users accessing Milestones PM+ with OEM licenses

Importing Project Data

Milestones PM+ Data Migration Starter Pack are professional services by our certified Salesforce developers for seamless transitions.

To import data from another app (E.G Milestones PM, MS Project, Primavera), use either the Salesforce or Salesforce Data Loader app (desktop/client app).

Not all fields from Microsoft Project files will migrate to Milestones PM+ upon import. Currently the fields that get populated are:

Project Object: Name, Kickoff, Deadline

Milestone Object: Name, Kickoff, Deadline, Predecessor Milestone, Description

Task Object: Name, Start Date, Due Date, Predecessor Task, Description

Upgrading from Milestones PM (unmanaged)

You can install Milestones PM+ alongside Milestones PM as they’re separate apps. If you need to retain old project data (including custom fields and relationships), we recommend the Milestones PM+ Data Migration Starter Pack. Most data migrations take no more than 8 hours. If no data retention is necessary, you may uninstall or delete Milestones PM when ready.

Migrating Milestones PM Projects

This procedure will not export custom fields or any customizations that you have made. If you need assistance or a complete data migration, the Milestones PM+ Data Migration Starter Pack is recommended.

  1. Milestones PM+ supports a simple project structure, Milestones and Tasks. Each Milestone may have multiple Tasks. If you are trying to convert existing templates and you have more than the 2 level structure, we recommend collapsing the items into two levels. Tasks being individual items for completion, belonging to a Milestone. In Milestones PM, export each relevant project that you wish to migrate into an xml file, which is compatible with Milestones PM+.
  2. In Milestones PM+, import each exported Milestones PM file to create a project in Milestones PM+.
  3. Once complete, you may uninstall Milestones PM, which deletes all of your project data.

Upgrading older versions of Milestones PM+

Read the following upgrade instructions carefully!

To upgrade from existing releases of Milestones PM+ (namespace = MPM4_BASE):

To upgrade from a version of Milestones PM+ that is older than 7.0, these prerequisite steps must be made beforehand in order to avoid installation errors.

Enable Track Activities on Milestone: Setup>Create>Objects>Milestone>Edit>Optional Features>Check Allow Activities

Enable Track Activities on Task: Setup>Create>Objects>Task>Edit>Optional Features>Check Allow Activities

Custom Settings: Customize Milestones PM+ Behavior

Custom Settings allow you to customize how Milestones PM+ behaves. Go to the “Milestones PM+ Settings” tab, older versions: Setup, search “Manage Settings” or Setup>Platform Tools, Custom Code: Custom Settings (Classic: Setup>Build, Develop: Custom Settings), and click “Manage” next to Milestone1 Settings.

Enhance your org and create additional custom settings with Milestones PM+ Starter Packs.

View Custom Settings

Active Statuses – Enter status values considered Active to a Project in single quotations and, if multiple, separated by a comma. ‘Active’, ‘Planning’
Used for: Summary page, filtering to show only Projects with any of these values (by default, all Projects are displayed regardless of status).

Allow Blank Resource on Milestone Task – Allows a Task to be saved without a Resource. If Auto Assign Task Resource custom setting is enabled, leave this unchecked.

Allow View State on Gantt Chart – If a Milestone with Tasks is collapsed on the Project page before printing through the Print Gantt Chart button, the Milestone will stay collapsed and the Tasks hidden. (Premium Edition only)
Used for: Printing only select Milestones’ Tasks with the Project.

Auto Assign Task Resource – When Tasks are created or updated with no resource assignment, a Resource with all of the required skills who is the “least busy” (the fewest number of previously-assigned Tasks in the date range that the new Task spans) will automatically be assigned. PLEASE NOTE: Task assignment is performed asynchronously, it may take several minutes for a value to be populated in the Resource field. Resource will not be assigned if: Task is marked complete; Start Date, Due Date, Required Skills aren’t populated; Resource is already populated; Resources don’t have all the required skills or availability. (Premium Edition only)
Used for: More balanced distribution of workload based on capability and availability. Ensuring every Task is accounted for without manual effort.

Auto Follow A Task – Automatically subscribes Users to follow Tasks they’re Assigned To.
Used for: Communication management.

Auto Milestone/Task Completion – Automatically syncs completion statuses between a Milestone and its Tasks; marking a Milestone as complete will change the status of all its Tasks to complete, and marking all Tasks as complete will update the Milestone status to complete.
Used for: (1) Improved accuracy, eliminating an extra step of updating a Milestone status despite its Tasks being marked complete. (2) Improved efficiency, eliminating the need to manually mass update individual Tasks when a Milestone is finished.

Auto Resource Team Assignment – When a Task has an assigned team, all Resources of that team will be assigned to the Task. (Premium Edition only)
Used for: Improves team visibility to assignments.

Auto UnFollow A Complete Task – Automatically unsubscribes Assigned Users from Chatter feed notifications of Tasks marked Complete.
Used for: Communication management.

Auto Unfollow Reassignment – Automatically unsubscribes the previous Assigned User from a Task once reassigned to another User.
Used for: Communication management.

Automatic Task Resource Sharing - Provides Resources assigned to Tasks view/edit permissions to the Task and its Milestone.

Custom Email Fields – Enter the api name of an email address field that will override the “Notification Email Address” field being utilized for Milestones or Tasks. (Premium Edition only) Custom Milestone Email Field; Custom Task Email Field.
Used for: Consistent communication to a single individual who needs these notifications.

Custom Sort Order of Objects – Enter the API name (comma-separated, if multiple) of an available field label to define a sorting order; optionally, use ASC or DESC for ascending/descending. (for example: Start_Date__c, Deadline__c DESC, Name ASC)
Used for: Custom Milestone Sort Order, Custom Project Sort Order, Custom Task Sort Order; Custom Summary Sort Order, use Project/Program field API names appropriate to the object in use.

Custom Setting Picklist Filter #1 – This setting is for our Development Services and inactive in the standard package.

Default Email Template Folder – The ID of the default selected email folder used in the notification inline Visualforce page. The email folder ID can be found at the URL tail in Salesforce Classic (Premium Edition only)
Used for: Determining what email templates are displayed for selection on Milestone and Task notifications in-line Visualforce pages.

Default Folder For Imports – The Import Template page’s default folder is "My Personal Documents" If left blank or the folder is empty.

Default Milestone Alias – If a Task is created when an email is received without a Milestone in the subject line, the Task will be categorized with this alias. (Premium Edition only)
Used for: Keeping emailed Tasks in one location to easily sort through, rather than having them unassociated anywhere.

Disable All Resource Email Notifications – Turns off all notifications sent to Resources regarding Tasks, including when they’re Assigned To or a predecessor Task has been completed. (Premium Edition only)
Used for: Prevents notifications to Resources.

Disable Automatic Resource Creation – Prevents the creation of a Resource record when new Users are added.
Used for: Cases where (1) Resources and Users are intended for separate purposes; (2) Resources are intended only for Contact records; (3) not all new User records require a Resource record; (4) Resources are preferred to be manually created.

Disable Deletion on Project Plan Page – Hides the delete column from the Manage Project Plan view. (Premium Edition only)
Used for: If, frequently, Milestones and Tasks are initially added and later maintained in-line through Manage Project Plan, the deletion column being enabled may prove useful. Otherwise, removing this ability can prevent accidental deletion.

Disable Interactive Gantt Chart – Turns off the drag and drop functionality on the Gantt chart. (Premium Edition only)
Used for: Prevents changes to an in-line object’s start and end dates made by moving the bar.

Disable Milestone Deadline Population – If checked, the setting will allow the deadline field to be blank. If unchecked, it will prevent the deadline field from being blank.
Used for: Ensures that only your users or your business specific workflow rules control the defaulting of this field value. Allows Milestone due dates to be blank even when the kickoff date field is populated.

Disable Milestone Shifts Caused By Tasks – Prevents the dates on a Milestone from changing when Project Task dates are changed, allowing both sets of dates to be different such as when task dates are updated outside the timeframe of the milestones or moved after the Milestone start date.
Used for: (1) Keeping Tasks with its relevant Milestone (regardless of how the Task dates change in relation to its Milestones’ dates). (2) Avoid overlap of consecutive Milestones.

Disable Ownership Cascading – If the Project Owner or Milestone Owner changes, child Milestones and Tasks assigned to the previous owner won’t change to the new owner.

Disable Parent/Child Functionality – This setting is used to prevent unnecessary queries from being run when parent/child relationships are not being used.
Used for: Safeguards parent/child records from running unwanted changes as a result of edits. When disabled it will prevent the shifting of a child Milestones dates when a parent’s dates are shifted.

Disable Resource Assignment Notification – Turns off notifications sent to Resources when they’re Assigned To a Task. (Premium Edition only)
Used for: Organizations that simply want to reduce the necessity of using email to manage project execution.

Disable Stage Sync With Actuals – Task Stage or Complete checkbox won’t change Actual Start/Finish Dates.

Disable Task/Event Syncing – Project Tasks won’t sync to Salesforce Tasks/Events. (Premium Edition Only)

Disable Triggers – Prevents the Milestones PM+ triggers from firing.
Used for: (1) Investigating issues and troubleshooting. (2) Turning off any automation for preference.

Display Tasks On Program Gantt Chart – Shows the Task rows within the Program Gantt chart.
Used for: Full outline of a Program’s details. By default, the Program Gantt displays only Projects and Milestones.

Email Template Folder Override – Allows a field to be populated on the Project that has an ID of an email template folder to use for inline Visualforce email notifications. (Premium Edition only)

Exception Email Address – Enter an email address (comma-separated, if multiple) to receive email notifications when asynchronous job exceptions occur, detailing which record caused what error to occur.
Used for: Alerting operations personnel.

Exclude Holidays From Workday Duration – The workday duration field will exclude holidays from the calculation.

Fiscal Year Offset – Enter numerical value of the month that the fiscal year starts.

Keep Project Template Assignments – When exporting and importing Project templates, assignment fields on the Project, Milestone, and Task objects are also transferred. (Premium Edition only)
Used for: Used for Projects that are frequently executed with the same Resources or teams assigned, reducing resource management overhead.

Keep Weekday Duration When Shifting – Prevents the weekday duration from reducing if (1) an item is moved; (2) Exclude Weekend Work is checked, and (3) total duration (seven days) is unchanged.

Manage Project Plan Realtime Date Shifts – When checked, date shifts from updates on Manage Project Plan will occur on the grid in real time upon save. (Premium Edition only)

Maximum Number Of Tasks Per Project – Sets a limit to the number of Tasks a Project can have (default is 500).

Merge Time Records – Merges a user’s time records for a single day. This setting isn’t retroactive and won’t affect existing time records.

Only Create Resource For SF License – Create Resource records only for new Users with a Standard profile for either the Salesforce or Salesforce Platform license type. An alternative to the default setting (new Users creating new Resources) and our other custom setting (Disable Automatic Resource Creation).
Used for: Filtering out Resource records from higher-restriction license types including community users.

Push Upgrade Opt Out – Allows organizations to elect not being push upgraded. (Premium Edition only)

Realtime Project Creation – By default, Projects are created in the background and, thus, may take a few extra seconds to process. If checked, the project will be created in realtime.
Used for: Bypassing the Apex governor limits in Salesforce.

“Report Id” settings – Most of these settings are for the use of our Development Services.

Report Id: Project Report – Enter a report ID (tail of URL, not Report Unique Name) that the ‘Project Report’ button opens. This report must have the following criteria: “Project ID equals <blank>” before it is saved with any other modifications. This <blank> value will be replaced automatically in the report criteria using the Project ID when the ‘Project Report’ button is clicked. With the out of the box / managed Project Report, when the report opens, it will be defaulted to show all the given project tasks organized by milestone deadline.
Used for: Conveniently viewing a combined report on all Project pages, instead of seeing just one or having to navigate to Reports. Useful if Programs are predominant work items.

Send Expense Budget Notifications – Sends a notification to the Project Owner when the Total Expense Budget becomes larger than the Total Expense Estimate.

Shift Due Date When Start Date Set – If checked, changing the start date of a Task will shift its due date to keep the duration the same number of days. Note: manual changes to the Task due date will override any shifts and this setting.
Used for: (1) Due dates that are dependent on when the Task starts and not a predetermined hard deadline. (2) Consistency by freezing the span set between dates.

Shift Proj/MS Deadline When Kickoff Set – If checked, changing a Milestone or Project kickoff date will shift its deadline date to keep the duration.

Show Actuals on Gantt Chart – Display the Actual Start/Finish Date columns on the Gantt chart.

Show Duration on Gantt Chart – Display the Duration column on the Gantt chart, totaling the days between start and finish dates for in-line objects.

Show Percentage Column on Gantt Chart – Display the Percentage column of the task on the Gantt chart. (Premium Edition only) The “Percentage Complete” field of the Project Task requires customization before being enabled.

Show Record Type On Manage Project Plan – Allows record type to be modified on Manage Project Plan. (Premium Edition only)

Show Resource on Gantt Chart – Display the Resource column on the Gantt chart. (Premium Edition only)

Summary Programs – Display Gantt charts of Programs instead of Projects on the Summary tab.
Used for: Orgs primarily utilizing Programs rather than multiple independent Projects.

Sync Task With Actual Start Finish Dates – Syncs the Task values of Start Date and Due Date to Actual Start Date and Actual Finish Date.
Used for: (1) Gantt chart auto-fill, as Actual Dates are displayed. (2) Automation for when Tasks are frequently on-time, and the Actual Dates don’t often vary.

Sync Tasks Events When in Project Planning – Allows Project Tasks to sync to SFDC Tasks/Events when the Project Task is in the ‘planning’ status. (Premium Edition only)
Used for: When unchecked, Projects with Planning status won’t sync its Tasks to SFDC Tasks/Events. Once the Project status is Active, all Tasks will then be synced to SFDC Tasks/Events.

Sync on Predecessor Task Completion – Successor Project Tasks will only sync to SFDC Tasks/Events if its predecessor Task is marked complete. (Premium Edition only)
Used for: Condensed overview of the most current status of a Project, limiting to completed Tasks and its next (successor) Task.

Usage of Limits – Enter how many maximum queries to execute in a single trigger context.
Used for: Limiting the number of queries run by Milestones PM+ in a single context.

The Project Creation page

The Project Creation page allows the structure of an entire Project on a single page. To customize the fields shown for Project, Milestone, and Task, go to Object Manager>object>Field Sets>‘Project Creation Page Fields.’

Notes: (1) Only editable fields will display on the page. (2) Removing a Milestone will also remove all its related Tasks.

The criteria below must be met for a Project to be saved:

  • The Start Date/Kickoff must be before or on the same date as the Due Date/Deadline.
  • If an item has a predecessor, its Start Date/Kickoff must be after or on the same date as its predecessor’s Due Date/Deadline.
  • Tasks belonging to the same Milestone must have unique names.
  • Milestones must have unique names.


Each object has buttons that can be added/removed to each page layout including Project Templates (Export Project).

Clone will create a duplicate record containing the fields in the object’s Field Set.

Customize these fields for Project, Milestone, and Task in Object Manager>object>Field Sets>‘Cloned Fields.’

NOTE: “Clone” doesn’t retain Project and Milestone predecessor relationships and won’t shift the dates based on the current day.

Project page layout buttons

Export Template will create an XML file of the Project, which can be used as a Project template in workflows and the Import Project tab.

Free Salesforce task management app with reusable project export

Reusable structured template: Create Project with all Milestones and Tasks; dates matching the anticipated duration; and preset predecessor/successor relationships.

Move Project template from production to sandbox: Before importing to sandbox, disable the “Keep Template Assignments” custom setting. Why? The sandbox import will try referencing Resource IDs, which only exist in production, and fail. Lookup and Resource fields should be blank as the records may not exist in the new environment.

Limitations. Milestones PM+ Free Edition has some limitations including inability to export custom fields in Project templates.

Project Configuration allows the Project kickoff or deadline date to be changed while keeping the duration, automatically modifying the unchanged date.

Project Report opens a report (“Project Report” in the Milestones PM+ Reports folder) to a health overview of the current Project, using prepackaged criteria to create a summary by grouping Tasks with Milestones. Milestones PM+ includes another report, "Project Report - No Filter" instead showing all projects (versus current Project only), that can be used for the button using the custom setting Report ID: Project Report. It's recommended to not modify these reports directly and create copies as a framework to build upon.

Milestone and Task page layout buttons

Milestone Buttons

  • Complete Milestone marks the Milestone complete and navigates to its successor Milestone if it has one.
  • Move to New Project.

Task Buttons

  • Complete Task marks the Task complete and navigates to its successor Task if it has one.
  • Move to New Milestone.

Create Projects anywhere in Salesforce

Gantt Chart Customization


By default, the Gantt is sorted ascendingly by start date, then end date, and name.

Task sorting can be configured by an admin with the custom setting ‘Custom Task Sort Order.’

If Task predecessor relationships are extensively used, consider modifying the setting with:

Predecessor_Task__r.Predecessor_Task__r.Due_Date__c asc, Predecessor_Task__r.Due_Date__c asc, desc, Start_Date__c asc, Due_Date__c asc, Name asc

Bar Colors

The bar color for each record on the Gantt chart can be changed by end users at the Task, Milestone, and Project level. To enable this functionality:

  1. Go to the intended object’s page
  2. Click “Edit Layout”
  3. Find the Gantt Color field; drag and drop onto the layout; “Save”

Users can then insert a six-digit HEX code (no hashtag) by double-clicking the field or the “Edit” button and inputing a value; once the value is entered, click “Save”. Example values: ff0000, red. 00ff00, green. 0000ff, blue. ffff00, yellow. ff9000, orange. 9000ff, purple. To make things easier for your users, you may want to populate these values into a project template before exporting and simply keeping this field hidden from users so everyone can use standardized colors once new projects are created from the template.

You can also set these colors dynamically using workflow, process builder, or an apex trigger. For example, when a project task is completed, within a workflow you may wish to have a field update action that will set the color as blue (0000ff).

Lightning Web Components

To-Do List

To Do List breaks down Tasks into smaller assignments to more accurately track the progress of completion. When a To Do Item is marked Complete, the Task’s Percent Complete field will recalculate. When all To Do Items are Complete, the Task will be marked Complete automatically.

To Do Items require a name and related Task. When created on the Task, the field will auto-populate; otherwise, the Task will need to be entered manually.

The Home page component will display all incomplete To Do Items on Tasks assigned to the user.

Add to Task, Milestone, Project, and Program layouts, the Home page, and a related list for the Task page layout. To-Do Lists can be exported and imported alongside Projects with Milestones PM+ Premium Edition.

Key Dates

Key Dates LWC shows Program, Project, and Milestone owners and Task’s Resource:

  • Upcoming, Start date/kickoff within next six days
  • Work in Progress, Current day is between start and end dates
  • Behind Schedule, End date is past due
  • Recently completed, Record is marked complete

Add to Program, Project, Milestone layouts or Home page.

More LWCs

Email Template for Milestone and Task page layouts.

Expense Grid allows Expenses to be created from any Project, Milestone, Task record and rolled up to parent records to better track expense burn.

Manage Project Plan without switching from the Gantt chart. Add to Program, Project, Milestone layouts.

Status Display gives a quick visual of the overall project status based on how many tasks are on schedule. Display changes when tasks are late. Add to Program, Project, Milestone layouts.

Task Timer allows users to click the “Start Time” button on a task they are working on, this will start a running timer. When the “Stop Timer” button is pressed a time record will be created related to the current task and resource. Add to Task layout.

Time Grid allows users to enter times on Tasks without navigating to the Time Grid. Add to Project, Milestone, Task layouts.

Training with FAQs is available for any main object.

Renames and Translations

Task Assignment

Free Edition Best Practices

Program vs Portfolio

A Program has multiple related Projects, each of which can only be part of one Program. A Portfolio has multiple related Projects, each of which can be part of more than one Portfolio.

Free Salesforce project management app for programs and portfolios

Internal/External Tasks and Milestones

Check/uncheck the internal checkbox field to define a Task/Milestone/Project as internal only. If it is internal you can filter it out when viewing the Gantt Chart in the print gantt chart view. This allows you to print a version that hides internal Tasks from your clients (Printable Gantt is available in Premium Edition).


Because Milestones PM+ is native to Salesforce, full reporting and dashboard functionality can be used, embedded analytics can be implemented to display charts on any of the objects. You may also view our pre-built reports to see if they fit your organization's needs.

Project Report Button- this will open up a report on the current Project so you can have an overview on the health of the Project. The button, by default, uses prepackaged criteria (named “Project Report” in the Milestones PM+ Reports folder) to create a summary of the page’s Project by grouping Task data with Milestones. Milestones PM+ contains two Report presets that can be used for the Project Report button, the other (“Project Report” - No Filter) showing an overview of all Projects rather than just the page’s and can be changed via the custom setting Report ID: Project Report. They are intended as a framework to develop upon, so it’s highly advised to “Save As” a copy from the Report and not modify them directly.

If you need assistance with creating custom reports, consider the following resources or schedule a consultation.

Project Templates

  • Name the Project what the Template is to be named.
  • Lookup fields should only be populated if all future Projects of the template are the same. For example, an Employee Onboarding template used by different departments for new hire Projects can all be grouped to an Internal Onboarding Program, so populating the Program lookup makes sense. However, for more flexible lookup fields such as Account, leave blank.
  • Save Project Templates in the Milestones PM folder so that all Users have access to them.
  • Set all durations, predecessor/successor dependencies.

Admin Best Practices

  • Custom Settings apply to all Milestones PM+ objects.
  • If you have large Projects hitting limit errors such as SOQL 101, consider lowering the “Usage of Limits” Custom Setting to 70% (It is 100% by default).
  • You can have a unique Project number for each Project by creating a custom field and using the auto-number custom field type. View custom-field types supported by Milestones PM+.

Premium Edition

Project Task & Salesforce Activity (Task, Event) Sync

Syncing Project Tasks and Salesforce Activities is enabled by default. Only new Project Tasks created and updated will be synced to Activities; those created using the Free Edition might not create and sync to Activities.

To sync a Project Task to a Salesforce Task: Add “Sync To” field to page layout and select either Salesforce Task or leave blank.

To sync a Project Task to a Salesforce Event: Add “Sync To” and “Start Time” fields to page layout, select Salesforce Event, enter date and time; both are required to create a Salesforce Event. (Optionally add to page layouts “End Time” and “Duration” fields.)

To set reminders on an open Task: Add “Reminder” and “Reminder Time” fields to page layout, select the checkbox, enter date and time.

To disable syncing when the Project “Stage” is Planning, uncheck the “Sync Tasks Events When in Proj Planning” custom setting.

Want enhanced functionality like multi-day event sync? Check out the affordable Milestones PM+ Starter Packs for customization options.

NOTE: Automatic syncing will only occur for new Project Tasks created on new Milestones. Manual syncing can occur by adding the Sync fields on the page layout, populating them, then saving the Task record.

Milestone and Task Communication Templates

“Create Project” Button

Resource Management

A Resource record is associated with a Contact or User record that can be tagged with Skill Sets and Resource Teams, which are used on Tasks and for the Availability Finder.

Chatter Groups can be used to assign multiple Users to a single Task by creating a new Contact record with the Group email address, then creating a Resource from that group’s Contact.

Automatically create Resource records for all Users or Contacts from the Milestones PM+ Help “Resource Creation” tab.

Automatic Task Assignments

“Auto Assign Task Resource” custom setting must be enabled. Tasks created prior to this enablement won’t be automatically assigned a Resource unless a Task record is updated after enablement.

When new Tasks are created or older Tasks are updated, Milestones PM+ will attempt to find a Resource with the same skills as the ‘Required Skills’ field and the fewest number of assigned tasks in the date range that the task spans. It may take a few minutes to populate the Resource field.

In order for a task to automatically be assigned, the following criteria must be met:

  • A task is created or updated with a blank value in the ‘Resource’ field
  • The task has one or multiple required skill populated in the ‘Required Skills’ field
  • The task is not marked complete
  • The task has dates populated in both the start and due date fields
  • There is at least one resource created with all of the tasks required skills populated in the ‘Skill Set’ field

Resource Management tab

“Daily Resource Allocation Percentage” is a Task field automatically calculated from the following required fields: Estimated Hours, Start Date, Due Date, Resource. It can be manually overridden after calculation (required fields must remain populated); to disable manual overrides, change the field to “Read-only” on the Page Layout or the field-level security by profile.

Resource Gantt has two ways to display Resources for the specified date range: Resource View (default) shows the Daily Resource Allocation Percentage and Task View shows the duration of each Task. If a Resource doesn’t have Task assignments calculated for the date range, no chart will be displayed. Multiple resources can be displayed (separated by a comma). After changing the inputs for Name and Dates, click “Refresh Gantt.”

Find Available Resources searches all Resources in a given date range and displays the percentage of their busiest day with the selected skill(s). To denote a Resource has a given skill, navigate to the Resource’s record and update the ‘Resource Skills’ field.

Alerts & Notifications

Alerts and Notifications are enabled by default. Email notifications will send when a Resource is assigned to a Task and when a predecessor Task is completed to the successor Task owner/Resource. To alert only successor Tasks of completed predecessor Tasks, select the custom setting ‘Disable Resource Assignment Notification’ checkbox. To disable all alerts, select the custom setting ‘Disable All Resource Email Notifications’ checkbox.

Time Tracking

Time Tracking is a feature that allows weekly time to be logged on any object, standard or custom, and submitted for approval.

Time Entry is the grid where users save and submit their hours by week. Users can enter time on any object for multiple days. The records displayed are based on the list views of the object selected. To further filter records to display, create a new list view on the object.

Time Tracking Settings allows users to select up to five objects for their Time Entry grid. For users with custom setting permissions, a gear will appear on the time entry page where settings can be made.

Time Entry Approval allows users to view Time Entries submitted and approved, and for managers to approve and deny Entries.

Enforce user Profile limitations

Custom Settings

Milestone1 settings

Merge Time Records – Merges all time records for an individual day that belong to a user. This setting affects time records created in the future; existing time records will not merge upon activation of this setting.

Time Tracking settings

Entry Grid

Display Complete Checkbox adds Complete checkbox for Tasks and Milestones.

Display Estimated Hours calculates daily averages based on Estimated Hours and Duration.

Free Salesforce project management app with time entry tracking
‘Display Estimated Hours’ on Time Entry Grid

Hide Submit and Approve/Deny to allow time logging without entry submissions.

Hide Submit without Notification Button – Removes action when submitting Time.
Used for: Communication management.

Max Rows Per Page – Number of lines to display at a time.

Time Entry Max Records Displayed – Limit how many pages to have available. Example, Max Rows Per Page at 10 and wanting no more than 10 pages, this setting would be set to 100.

Approval Manager

Only Allow Manager To Approve Time – When checked, submitted time entries will only be able to be approved/denied by a user’s manager. This field is set at a user level.

Interactive Gantt Chart

Chart-colorsDefault colors

  • Grey – Today is before Start Date
  • Blue – Today is after Start Date and before End Date, not complete
  • Green – Today is before End Date, is complete
  • Red – Today is after End Date, not complete

Lightning Gantt:

  • Navy – Project (on Program)
  • Purple navy (darker) – Milestone
  • Periwinkle (lighter) – Task

The lined arrows (red on legacy Gantt, black on Lightning Gantt) are dependencies based on the Predecessor field of the dependent record.

Gray dates are weekend days. Current date is highlighted (purple on legacy Gantt, yellow on Lightning Gantt).

Modify chart size

Height: Page Layout via Object Manager

Width: Page template via Lightning App Builder

Free Salesforce task management app with Project Gantt chart Free Salesforce task management app with Project Gantt chart

Sharing Filters

To hide specific records, add the “Internal” checkbox field to the Project/Milestone/Task page layout then select the box on each individual record to exclude when sharing.

To share, click “Print Gantt Chart” on the page component (different from Salesforce’s “Printable View” button). To remove records marked as “Internal,” click the dropdown and select External. Click “Print” for the print preview popup and select the Destination dropdown to save as PDF.

Drag-and-drop updating

Drag and drop the in-line bars to update start and end dates of Milestones and Tasks, and set predecessor/successor relationships.

To turn off this feature, select the custom setting Disable Interactive Gantt Chart.

Custom Settings

Setup>Platform Tools>Custom Code (Classic: Setup>Build>Develop)>Custom Settings>Manage Milestones1 Settings>Edit

  • Show Actuals on Gantt Chart
  • Show Duration on Gantt Chart
  • Show Resource on Gantt Chart
  • Show Percentage Column on Gantt Chart of Milestone and Project for "Percent Complete" Task field.
  • Show Record Type On Manage Project Plan

Lightning Gantt Chart

Starting with the June 2021 release of version 11.2, a new Gantt chart is available with enhanced inline functionality including Task Percentage updating and record details on hover.

Add the new Gantt to Program, Project, Milestone page layouts in Setup>Object Manager>[Program]/[Project]/[Milestone]>Page Layouts>Visualforce Pages>[Object] Gantt Chart.

Modify the record details on hover in Setup>Object Manager>[Program]/[Project]/[Milestone]>Field sets, Gantt Bar Hover Field Display


Existing Gantt.

Label: Milestone2_Charts_GanttProjects

Name: Milestone2_Charts_GanttProjects [MPM4_BASE__Milestone2_Charts_GanttProjects]

New Gantt.

Label: Program Gantt Chart

Name: Milestone1_Frap_Gantt_Program [MPM4_BASE__Milestone1_Frap_Gantt_Program]


Existing Gantt.

Label: Milestone2_Charts_GanttMilestones

Name: Milestone2_Charts_GanttMilestones [MPM4_BASE__Milestone2_Charts_GanttMilestones]

New Gantt.

Label: Project Gantt Chart

Name: Milestone1_Frap_Gantt_Project [MPM4_BASE__Milestone1_Frap_Gantt_Project]


Existing Gantt.

Label: Milestone2_Charts_GanttTasks

Name: Milestone2_Charts_GanttTasks [MPM4_BASE__Milestone2_Charts_GanttTasks]

New Gantt.

Label: Milestone Gantt Chart

Name: Milestone1_Frap_Gantt_Milestone [MPM4_BASE__Milestone1_Frap_Gantt_Milestone]

Manage Project Plan

Free Salesforce task management app with Project Gantt chart

Inline Creation

Projects, Milestones, and Tasks can easily be added right in Manage Project Plan.

  • Create Tasks in-line on the Milestone Gantt chart
  • Create Milestones and Tasks in-line on the Project Gantt chart
  • Create Projects and Milestones in-line on the Program Gantt chart

Alternatively, the two buttons on the far right open a new window to add their respective object.

Toggle Existing Items

The Toggle Existing Items button hides existing items from the Manage Project Plan, allowing an easier view when adding new in-line items.

Show/Hide Fields On Manage Project Plan

To show/hide fields on the Manage Project Plan, modify the ‘Manage Project Plan Fields’ fieldsets at the Project, Milestone, and Task object levels. Note: It is recommended to keep the fields included by default in the Manage Project Plan fieldsets.

To modify the ‘Manage Project Plan Fields’ fieldset

Setup>Object Manager (Classic: Build>Create>Objects)>[Project]/[Milestone]/[Task]>Field sets

Free Salesforce task management app with Project Gantt chart

Delete Column

To hide the Delete checkbox column, select the custom setting Disable Deletion On Project Plan Page.

Change Task color by Status

Process Builder walkthrough to change the color of a Project Task based on the value in the Stage picklist field. These steps can be modified to make additional process builders to change the color for Milestones and Projects.

  1. Go to Process Builder: Setup>Process Automation>Process Builder (Classic: Setup>Build>Create>Workflow & Approvals>Process Builder). Click “New” in the top right.
    • Process Name (“Change Gantt Color Based on Task Change” shown in example)
    • The process starts when A record changes
    • Save
  2. Add Object
    • Object, Task

      Note: if there are multiple Task options, view Object Manager to determine the placement of the Milestones PM+ Task.*

    • Start process When a record is created or edited
    • Save
  3. Add Criteria
    • Criteria Name (“Stage is Complete” shown in example)
    • Keep Criteria for Executing Actions, Conditions are met
    • Set Conditions
      • Field, Stage

        Note: confirm here that the Milestones PM+ Task was properly selected in step 2.1; if not, create a new process.

      • Keep Operator, Equals; Type, Picklist
      • Value, Complete
    • Keep Conditions, All of the conditions are met (AND)
    • Select Advanced, check the box “Do you want to execute the actions only when specified changes are made to the record?”
    • Save
  4. Add Action under Immediate Actions to the right of True
    • Action Type, Update Records
    • Action Name (“Color change” shown in example)
    • Record Type, MPM4_BASE__Milestone1_Task__c record that started your process
    • Keep Criteria for Updating Records, No criteria-just update the records!
    • Set new field values for the records you update
      • Field, Gantt Color
      • Keep Type, String
      • Value, hex color code; no pound #sign (“B200FF” shown in example, bright purple)
    • Save
  5. Repeat steps 3 and 4 to change the color of more Stage values.
  6. Activate in the top right.

Custom colors on Project Gantt chart with free Salesforce task management app Project Gantt chart custom colors with free Salesforce task management app Project Gantt chart custom colors with free Salesforce task management app Project Gantt chart custom colors with free Salesforce task management app

Custom colors on Project Gantt chart with free Salesforce task management app

Premium Edition Best Practices

See Free Edition Best Practices for basic Milestones PM+ functionality best practices.

  • When creating a Project that will be used as a template:
    • Ensure that Task/Event sync is set up as desired before exporting the template to ensure all Projects created from that template will have sync enabled.
    • Mark Project Tasks that are internal as such.
  • When logging time on behalf of another person, it's recommended to do so in the Time related list on the Project Task. The Time Entry grid will only allow logging time as yourself.
  • When mass editing Project Tasks (e.g. data load), resource email notifications for Project Tasks can be turned off in custom settings to avoid unnecessary emails being sent to users. (Setup>Custom settings>Milestone1 Settings>select Disable All Resource Email Notifications and Disable Resource Assignment Notification)
  • The “Task Sync ID” field on Project Milestones is required for Task/Event sync. When performing data migrations, include this field.

Interactive Gantt chart and Process Builder

* Note on multiple Task objects. Process Builder appears to sort objects by label, then duplicates alphabetized by API. Check the order in Object Manager.

Salesforce Process Builder with same-name field selection