Become a Dynamics 365 expert with Syvantis Learn
Provide additional details about the offer you're running.
This store requires javascript to be enabled for some features to work correctly.
Provide additional details about the offer you're running.
Send follow-up notifications to salespeople via Power Automate
Power Automate • Power Platform
In this Fast Class, learn how to use Power Automate with Dynamics 365 Sales to create automatic email notifications for salespeople. Through two practical examples, an opportunity follow-up reminder and an expired quote notification, you’ll see how scheduled flows can identify records that need attention and notify the appropriate salesperson with useful details and a direct link to the record.
Keeping track of follow-up dates and expired quotes can add unnecessary mental load for busy salespeople. Power Automate can help by automatically checking Dynamics 365 Sales records and sending reminders when something needs attention, helping salespeople stay on top of prospect management without having to track every date individually.
This Fast Class covers two notification flows: one that reminds salespeople when an opportunity has reached its follow-up date and another that alerts them when a quote has passed its effective date. Along the way, we’ll look at techniques for filtering Dataverse records, comparing dates, creating dynamic emails, linking directly to CRM records, and preparing flows for production.
Before you begin
To build these flows, you’ll need either a Dynamics 365 Sales Enterprise license that provides access to the Dataverse connectors or a Power Automate license. Although Power Automate is a low-code, user-friendly application, it still takes practice to learn. Working in a sandbox allows you to experiment before putting your flows into production.
Creating an opportunity follow-up reminder
For the first use case, a custom Follow Up Date field has been added to the opportunity. The goal is to email the salesperson who owns the record when that date has passed, reminding them to reach out or take another appropriate action on the opportunity. The flow is created as a scheduled automated cloud flow that runs once every day. When configuring the recurrence, specify details such as the start date, frequency, minutes, and time zone. In the example, Central Time is selected.
Adding a production safeguard
When a recurring flow is moved to production, it can begin running automatically. To prevent emails from being sent before the flow is ready, the example uses a Boolean variable as a safeguard. A condition checks that variable before allowing the rest of the flow to run. Once the flow is ready for production, the variable can be changed so the main portion of the flow is allowed to execute.
Finding opportunities that need attention
Next, use the Dataverse List rows action to retrieve opportunity records. The flow filters the results so it only retrieves opportunities that:
Creating the filter requires the backend names of the appropriate columns. These can be found by opening the Opportunities table in Power Apps and examining the applicable columns. In the example, the open status corresponds to a state code value of 0. The Follow Up Date is also filtered so records with a null or empty date aren’t included. Renaming actions as you build the flow can also make it much easier to understand and maintain later, especially as flows become longer and include several similar actions.
Comparing the follow-up date to the current date
The flow needs to determine whether each follow-up date is earlier than the current date. To make the comparison easier, variables are created for the current date and follow-up date. The ticks expression converts dates into integers that can then be compared. The utcNow expression provides the current date and time for the current-date variable. Because List rows can return multiple opportunities, these actions are handled within an Apply to each step. A condition then determines whether the Follow Up Date is less than the current date. You can also include the current date if you want reminders to be sent when the follow-up is due today.
Getting the salesperson
When an opportunity requires follow-up, the flow needs the email address of the salesperson who owns the record. The Dataverse Get a row by ID action retrieves the system user based on the owner ID associated with the opportunity. From that salesperson record, the flow can retrieve the primary email address.
Creating the reminder email
The Outlook send an email action can then create the notification. Dynamic content from the opportunity can be included in the message, such as:
To create the dynamic record link, copy the URL for an opportunity through the portion immediately before the record ID, then append the dynamic opportunity identifier from Power Automate. This gives the salesperson a link that takes them directly to the opportunity that needs attention. Additional email options can also be configured, such as copying another recipient or setting the message importance.
Remember your production URL
If you create the flow in a sandbox, its record URLs will differ from production URLs. Remember to replace the sandbox portion of the URL when moving the flow into production. Adding a comment or note to the appropriate flow action can serve as a reminder to complete this important go-live step.
Creating an expired quote notification
The second flow uses a similar approach to notify salespeople when quotes have passed their effective date. This gives the salesperson an opportunity to reengage with the prospect, create a new quote, or take another appropriate action instead of allowing an expired quote to sit unnoticed. As with the opportunity flow, this flow runs on a recurring schedule and uses variables for the Effective To date and the current date. The Dataverse List rows action retrieves quotes and filters the records. In this example, the flow looks for:
The flow then processes the returned quote records using Apply to each. The ticks expression again converts the dates into integers so they can easily be compared.
Sending the expired quote email
After identifying an expired quote, the flow retrieves the quote owner using get a row by ID and sends an email to that salesperson. Dynamic information from the quote can be included in the notification, including the quote ID and effective to date. A dynamic URL can also send the salesperson directly to the appropriate quote record. The formatDateTime expression can be used to clean up the effective to date before displaying it in the email. This avoids including unnecessary time information and produces a cleaner date for the recipient.
Making your flows easier to maintain
Clear documentation can make a major difference when you return to a flow later or hand it over to someone else. Useful practices demonstrated in this Fast Class include:
These practices can make it easier to understand the purpose and structure of a flow long after it was originally created.
Putting automated sales reminders to work
Salespeople are often on the go, and simple automatic reminders can help them keep up with important follow-ups. By combining scheduled Power Automate flows with Dynamics 365 Sales data, you can find records with dates that require attention and automatically email the appropriate record owner. The opportunity follow-up and expired quote examples demonstrate a reusable approach for building notifications around important CRM dates, helping your team keep important sales activities from slipping through the cracks.
* This transcript summary has been generated from the Fast Class video by Microsoft Copilot. The Fast Class itself was prepared and taught by Syvantis expert consultants.
TUNE INTO THE LIVE CLASS
Ask your questions and get real-time responses from your trusted Syvantis consultants.
What's on the schedule?
Dynamics 365 Business Central
Dynamics 365 Sales (CRM)
Dynamics 365 Customer Insights
Power Platform
Keep learning...
Business Process Designers. Technical Experts. Dedicated Partners.