6 Feb’17

Dynamics 365, EnterpriseIntelligent Time Entry Alerts in PM App


At CloudFronts, we use our Dynamics 365 PM App to track and manage Projects with Task and Resource Scheduling, Project Billing and Invoicing, Timesheets, Gantt Chart, Time and Expense Entries, User Skillsets and many additional features.

We recently implemented an intelligent time entry reminder notification workflow to intimate users about pending time entries with the goal of establishing a culture of doing time entries on a daily basis.

Why do we need this?

A Professional Services company relies on team members who contribute to billable entries which in turn helps the company estimate Project Costs, Forecast Revenue and most importantly ensure billing is done on time and accurately.

High Level Flow Diagram

The below image shows the diagrammatic representation of high level flow of what we implemented.

Custom Logic

The Custom Workflow logic has series of steps that checks and based on the conditions it sends out email to that particular User.

  1. Check if it’s a Weekend

    As the step name suggests, this will check if today is a Saturday or Sunday and if the condition is true the workflow will stop.

  2. Check if it’s a Public Holiday
    If current day is not a weekend, there is a possibility that it might be a public holiday.

    So in this step it checks if today is a Public holiday. If true, then the workflow stops.

  3. Get Previous Working Day
    This step fetches the Previous Working Day as in if today is Monday then the previous working day in our case is Friday.

    Else if Tuesday then, previous working day is Monday.

  4. Check if the Previous Working day is Public Holiday
    Now there might be the case, that the previous working day was a Public holiday then in that case the time entries will not be there for the users.

    So if the Previous Working day is a Public Holiday then the workflow stops.

  5. Fetch Users

    This step will get the users who enter time entries in the system, be it a billable resource or a non-billable resource.

  6. Fetch Time Entries
    Here in this step, fetch the time entries less than 8 hours.

    If we have complete 8 hours’ time entry, then no alert is sent to that particular user.

    Else if we have incomplete time entries then the next step is to check if the user was on Leave.

  7. Is User on Leave?
    If we have less than 8 hours’ time entry, then there is a possibility where that person was on leave on the previous working day.

    In that case no reminder will be sent to that particular user.

  8. Send Email
    With the above criteria’s and conditions, if we get that user was working and has not completed his/her daily time entry, then an alert will be sent to that user.

So with this simple logic and series of steps, CloudFronts was able to achieve this and intimate their users to complete their time entries.

Written by

Team Member


Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.

Want to streamline your business processes?

  • This field is for validation purposes and should be left unchanged.

Recent Articles

  • Reading more then 10K records in D3FOE OData API

    11 July’ 2018

    Introduction: We all know Dynamics 365 Finance and Operations has limitation of 10K records to be fetched at a time usi...

    Read more
  • Paging in D365 Customer Engagement v9.0

    10 July’ 2018

    Introduction: The Xrm.retrieveMultipleRecords method is used to retrieve a collection of records in Dynamics 365 Custom...

    Read more
  • Set up Dynamics 365 connection in Microsoft Social Engagement

    10 July’ 2018

    Introduction: This blog explains how to Set up Dynamics 365 connection in Microsoft Social Engagement. Steps to be follo...

    Read more
  • Voice of the Customer failed to install

    10 July’ 2018

    Introduction: Many people face issues in installing Voice of Customer solution on v9 environment and trying repeatedly ...

    Read more
  • Scribe Insight AX as a Web Service Find Block issue

    10 July’ 2018

    Introduction: If we need to look up for any value from AX then we do it by using a Find Block in Scribe Insight Eg: Basi...

    Read more