Our contracts team needs to implement automated renewal reminders for customer contracts in D365 Sales 9.2. We’re debating between Power Automate flows and classic workflows. The requirements are straightforward: send email reminders 90, 60, and 30 days before contract end dates, escalate to account managers if no action taken, and track reminder history. Our IT team suggests Power Automate for modern capabilities and future support, but our operations team is comfortable with classic workflows and concerned about the learning curve. What are the practical differences in terms of Power Automate flexibility versus workflow simplicity? More importantly, what’s Microsoft’s direction for future support of classic workflows? We don’t want to invest time building something that will be deprecated soon. Would appreciate insights from anyone who’s made this migration decision.
Power Automate vs. Classic Workflows for Contract Renewal Reminders
This isn’t purely a feature comparison — it’s a deprecation risk decision. Address that first.
Microsoft’s Deprecation Direction
Classic background workflows (async workflows in the designer) are in maintenance mode. Microsoft has signaled that Power Automate cloud flows are the strategic replacement for process automation in the Power Platform ecosystem. Classic workflows still function in D365 9.2, but new investment from Microsoft — connectors, AI Builder, co-pilot actions — lands exclusively in Power Automate. Verify current deprecation timelines in the Microsoft Learn roadmap for your specific tenant version, but the directional risk of building net-new classic workflows in 2024+ is real.
Pre-Upgrade Checks (Before Committing to Either Path)
- License validation: Power Automate cloud flows with premium connectors (e.g., HTTP, custom connectors) require Power Automate per-user/per-flow licenses. Dataverse-native triggers may be covered under existing D365 Sales licenses — verify against your entitlements.
- Environment version: Confirm your D365 Sales version is 9.2.x and that your Power Platform environment is on a current release wave. Scheduled flows with recurrence triggers behave differently on older platform builds.
- Connector availability: The Dataverse connector (not legacy CDS connector) is required for reliable entity-level triggers. Verify the legacy CDS connector isn’t the default in your environment.
- Email routing: Determine whether reminder emails route through Server-Side Sync or Exchange directly — this affects which send-email action you use in Power Automate.
- Existing workflow inventory: Audit current classic workflows on the Contract entity to identify conflicts before building parallel logic.
Recommended Implementation Sequence (Power Automate Path)
- Build a scheduled cloud flow with daily recurrence as the trigger — not an entity-change trigger, since you need time-based logic.
- Use a List rows action against the Contract entity filtered by
EndDate eq [Today+90],[Today+60],[Today+30]— run three parallel branches or three separate flows per threshold. - Add a condition checking a custom field (e.g.,
cr_reminder_acknowledged) to suppress duplicate sends. - Send email via the Send an email notification (V3) Dataverse action — keeps activity history natively in D365.
- Log each reminder as an Email activity record linked to the contract using Add a new row on the Email entity.
- For escalation: add a deadline-gated branch — if no
cr_acknowledgedupdate within 5 business days, Update a row on the opportunity/account to flag owner and trigger a task assignment to the account manager.
Rollback Procedure
If the Power Automate flow causes duplicate emails or performance issues post-deployment:
- Turn off the scheduled cloud flow immediately in the Power Automate portal — do not delete, preserve for audit.
- Reactivate the legacy classic workflow from Settings > Processes if a parallel backup was retained in deactivated state.
- Review flow run history in the portal to identify which contract records received erroneous actions; use bulk update via Advanced Find to reset the
cr_reminder_acknowledgedflag. - Open a support ticket with run IDs before purging flow history — Microsoft support needs these for root cause analysis.
Classic Workflow Trade-offs (Honest Assessment)
Classic workflows handle simple time-based waits with Wait conditions natively — no scheduled trigger needed. For your ops team’s comfort level, that’s genuinely simpler to configure. The problem: wait conditions in classic workflows consume async service resources, don’t support modern connector actions, and produce no structured run history queryable outside the workflow log. Tracking reminder history requires manual custom entity logging. Power Automate gives you structured run history, retry logic, and extensibility at the cost of slightly higher initial complexity.
The ops team’s concern about learning curve is valid short-term. The IT team’s concern about deprecation risk is valid long-term. Build in Power Automate.
This draft is based on general Microsoft Dynamics 365 Sales knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.
Power Automate is definitely the future direction. Microsoft has explicitly stated that classic workflows are in maintenance mode, meaning they’ll continue to work but won’t receive new features. Power Automate gives you much more flexibility - you can integrate with Teams, SharePoint, external systems, and use AI Builder for intelligent automation. For your contract reminder scenario, Power Automate’s scheduled flows with date triggers are perfect. The learning curve is real but not steep, especially for basic scenarios like reminders.
While I agree Power Automate is the strategic direction, don’t underestimate classic workflow simplicity for basic scenarios. Your contract reminder requirements are exactly what classic workflows handle well - date-based triggers, email notifications, and field updates. Classic workflows are embedded in D365 with native integration, while Power Automate requires separate licensing in some scenarios and has different performance characteristics. If your team is comfortable with workflows and the requirements are simple, there’s no urgent need to migrate.
Carlos makes a fair point about simplicity, but I’d still recommend Power Automate. The flexibility advantage is huge - you can easily add approval processes, integrate with external contract management systems, or send reminders via Teams instead of just email. All without developer involvement. Classic workflows require much more effort for anything beyond basic email and field updates. Also, Power Automate’s error handling and retry logic is far superior to classic workflows. When reminder emails fail, Power Automate gives you detailed diagnostics and automatic retry options.
I’ve migrated dozens of organizations from classic workflows to Power Automate. Here’s what I tell everyone: if you’re building NEW automation today, use Power Automate. Period. Classic workflows are not getting deprecated immediately, but Microsoft’s investment is 100% in Power Automate. The feature gap grows every quarter. For contract reminders specifically, Power Automate’s parallel branching lets you send reminders to multiple stakeholders simultaneously, something that’s clunky in classic workflows. The licensing concern Carlos mentioned is valid but overblown - most D365 Sales licenses include Power Automate capabilities sufficient for this use case.
Think about your future roadmap beyond just contract reminders. If you build in Power Automate now, you’re establishing a pattern for all future automation. Your team learns the tool once, then applies it everywhere. If you stick with classic workflows for this project, you’ll eventually need to migrate anyway when you tackle more complex automation that workflows can’t handle. The learning curve investment in Power Automate pays dividends across your entire automation portfolio, not just this one use case.
The consensus seems clear - Power Automate is the right choice despite the learning curve. I’m convinced by the future support argument and the flexibility for expanding the automation later. We’ll likely start with the basic reminder flow and gradually add more sophisticated features like approval routing and Teams notifications as our team gets comfortable with the platform.
Excellent decision, and let me provide comprehensive guidance on all three dimensions you’re evaluating.
Power Automate Flexibility: Power Automate provides significant advantages over classic workflows for contract renewal automation:
-
Multi-Channel Notifications: Beyond email, you can send reminders via Teams messages, mobile push notifications, or SMS. This ensures contract managers see reminders in their preferred communication channel.
-
Advanced Scheduling: Power Automate’s recurrence triggers and delay actions give you precise control over timing. You can implement business-day-only reminders (skip weekends), stagger reminders throughout the day to avoid email floods, or adjust timing based on contract value (high-value contracts get earlier reminders).
-
Conditional Logic: Easily implement complex escalation rules - if no response after 90-day reminder, escalate to regional manager; if still no response after 60-day reminder, escalate to VP. Power Automate’s branches and conditions make this straightforward.
-
External Integration: Connect contract renewals to external systems - update contract management platforms, create tasks in project management tools, or trigger billing system notifications. This ecosystem integration is Power Automate’s strongest advantage.
-
Error Handling: Built-in retry policies, error notifications, and detailed run history. When a reminder fails (invalid email, system timeout), Power Automate automatically retries and logs the issue for troubleshooting.
For your specific requirements (90/60/30-day reminders with escalation), Power Automate can implement this as a single flow with parallel branches, each handling one reminder interval. The flow monitors contract end dates, calculates reminder timing, sends notifications, and tracks acknowledgment - all in one automated process.
Workflow Simplicity: Classic workflows do have advantages for straightforward scenarios:
-
Native Integration: Workflows are built into D365 with no separate licensing or authentication complexity. They execute within the platform’s security context automatically.
-
Familiar Interface: For teams comfortable with D365 administration, the workflow designer is intuitive. Creating a basic reminder workflow takes minutes with no training.
-
Predictable Performance: Workflows execute synchronously or asynchronously with well-understood performance characteristics. No external service dependencies.
-
Simple Maintenance: Business analysts can modify workflow logic without understanding Power Platform architecture or connector authentication.
For your contract reminder scenario, a classic workflow would work: create three separate workflows (90-day, 60-day, 30-day), each triggered by a date field calculation. Send email, update a reminder status field, done. It’s simple and functional.
However, workflow simplicity becomes a limitation as requirements evolve. Adding approval routing, external system integration, or complex conditional logic transforms “simple” workflows into complex workflow chains that are difficult to troubleshoot and maintain.
Future Support: This is the decisive factor. Microsoft’s official position:
- Classic workflows remain supported and will continue functioning indefinitely in D365
- No new features or enhancements planned for classic workflows
- All new automation capabilities released exclusively in Power Automate
- Microsoft strongly recommends Power Automate for all new automation projects
- Migration tools available to convert existing workflows to Power Automate
The practical implication: classic workflows won’t suddenly stop working, but they’re a dead-end technology. Building new workflows today means you’ll eventually migrate to Power Automate anyway when you need capabilities workflows can’t provide.
Microsoft’s investment is entirely in Power Platform (Power Automate, Power Apps, Power BI). Every quarterly release brings new Power Automate connectors, AI capabilities, and enterprise features. Classic workflows receive security patches and bug fixes only.
Recommendation for Your Contract Renewal System: Implement in Power Automate using this architecture:
-
Scheduled Cloud Flow: Create a flow that runs daily, queries contracts where end date is approaching (90, 60, or 30 days out), and hasn’t received a reminder at that interval yet.
-
Reminder Logic: Use conditions to determine which reminder stage each contract is in. Send appropriate email template for that stage. Update a custom field on the contract record tracking last reminder date and stage.
-
Escalation Branch: If a contract reaches 30 days without acknowledgment (check a custom “Renewal Acknowledged” field), trigger escalation email to account manager with contract details and action items.
-
Tracking: Create a custom Contract Reminder History entity to log each reminder sent - date, recipient, stage, delivery status. This gives you complete audit trail and reporting capability.
-
Approval Integration: Add an approval action to the flow so when account managers receive escalation emails, they can approve/reject renewal directly from email or Teams. Approval response updates the contract record automatically.
This Power Automate approach handles your immediate requirements while positioning you for future enhancements. As your team gains proficiency, you can easily add:
- Teams channel notifications for high-value contract renewals
- Integration with DocuSign or Adobe Sign for electronic renewal signatures
- AI Builder to predict renewal likelihood based on customer engagement
- Power BI dashboard showing renewal pipeline and reminder effectiveness
Regarding the learning curve concern: Microsoft provides excellent Power Automate training through Microsoft Learn (free online modules). Your operations team can complete the “Automate a business process using Power Automate” learning path in 4-6 hours. For your specific contract reminder scenario, I estimate 2-3 hours to build the initial flow, another 2-3 hours for testing and refinement.
The investment in Power Automate skills pays immediate dividends because the same patterns apply across all automation scenarios - lead assignment, opportunity tracking, customer service case routing, quote approvals. Learn once, apply everywhere.
Final recommendation: Build in Power Automate, start with the core reminder functionality (90/60/30-day emails), then iterate to add escalation, approval, and tracking features incrementally. This approach manages the learning curve while delivering business value quickly. Your future self will thank you for choosing the platform Microsoft is actively developing rather than the legacy technology in maintenance mode.