How a U.S. Castings Manufacturer Enabled Email-Based Approval for New Product Stages in Dynamics 365 - CloudFronts

How a U.S. Castings Manufacturer Enabled Email-Based Approval for New Product Stages in Dynamics 365

01Summary

SIP Industries, based in Houston, Texas, is a manufacturer of engineered components with engineering and production in India and customers in the U.S. It runs every new part through a six-stage New Product Development (NPD) process in Dynamics 365. The process was well designed, but most of the people who had to approve each stage did not work in the CRM. Plant engineers, quality inspectors and customer-side reviewers were chased over email, and the CRM team keyed their replies into Dynamics 365 and moved the Business Process Flow (BPF) by hand. CloudFronts built an approval layer on Power Automate that sends each approver a stage-specific email with a single button. The button opens a branded HTML form, already filled in from the NPD record, that needs no login or Dynamics 365 licence. When the approver submits, Dynamics 365 saves the decision, moves the BPF to the next stage once that stage’s conditions are met, and emails the next approver. Nobody moves a stage by hand.

Table of Contents

02About the Customer

The customer manufactures engineered components to customer specification. Engineering, tooling, pattern making and first article inspection happen in India, while a large share of its customers and its U.S. engineering team sit in the United States. Every new part goes through feasibility, drawing approval, pattern development, inspection and customer sign-off before it reaches production, and each of those steps is owned by a different team.

03Business Challenges

The NPD process already lived in Dynamics 365 as a Business Process Flow on a custom New Product Development table. The stages themselves worked well. The delays came from the approval step: most of the approvers at each stage were not CRM users, so every stage waited until someone collected their answer by email and entered it in Dynamics 365.

  • Approvers lived outside the CRM. Plant engineers, QA inspectors in India, the U.S. engineering team and customer reviewers rarely or never logged in to Dynamics 365. Giving each of them a licence, training and a reason to open the app was not realistic.
  • Approvals arrived as email replies. A “looks good, go ahead” in an email thread had to be read, interpreted and keyed into the NPD record by the CRM team. Notes, dates and estimates were often lost or entered days later.
  • Stages were moved by hand. Even after an approval was recorded, someone had to open the record and click Next Stage. When that person was busy, the next team did not know it was their turn.
  • Some stages needed more than one decision. Feasibility only closes when feasibility, engineering approval and the engineering drawing are all in place. First Article Inspection needs sign-off from both the India QA team and the U.S. engineering team. Tracking these combinations by hand was where most delays started.
  • Follow-ups depended on memory. Drawing approvals in particular could sit with a reviewer for weeks. There was no automatic reminder, so chasing depended on someone remembering to do it.
  • No audit trail in one place. Who approved what, and when, was spread across personal mailboxes rather than on the NPD record.

04Solution Overview

CloudFronts built an approval layer on top of the existing NPD Business Process Flow. Each time the NPD record enters a stage, Dynamics 365 sends the right approver an email written for that stage, with the key details of the part and a single Review & Approve button.

The button opens a branded web form in the browser. The form is filled in from whatever is already saved on the NPD record, lists the documents stored in SharePoint for that product, and lets the approver upload new files. The approver records their decision and notes and clicks Submit. Dynamics 365 saves the answers, moves the BPF to the next stage if that stage’s conditions are now met, and the next approver receives their email.

A rejection never moves the process. It sends a notification back to the NPD team, and the record stays in its current stage until the issue is resolved.

05Technical Approach

The NPD Process and Its Stage Gates

The NPD Business Process Flow has six stages. Each stage has its own approvers and its own rule for when it is complete.

StageApproverCaptured on the FormStage Gate
FeasibilityFeasibility and Engineering teamsFeasibility approval; engineering approval, notes, estimated development timeline, estimated tooling costFeasibility approved, engineering approved and engineering drawing created
Drawing ApprovalDrawing reviewerDrawing received, sample required, feedback, approvalDrawing approved on the form
PatternPlant / tooling teamPattern status and notesPattern Status set to Ready For Inspection
First Article Inspection (FAI)India QA and U.S. engineeringFAI approved, FAI date, sample sent to U.S., shipment date; U.S. engineering approval and commentsBoth the India and U.S. FAI approvals recorded
Customer ApprovalCustomerOutcome (Yes / No / Requires Changes); approval date set automaticallyCustomer approves the sample
ProductionProduction teamNotification of release to productionFinal stage

NPD stages, approvers and stage gates

List of New Product Development records in Dynamics 365
New Product Development records in Dynamics 365

The forms only show fields that apply. On the India FAI form, the “Sample Sent to U.S.” field appears only if the drawing stage marked a sample as required, and the shipment date appears only once the sample has been sent. The U.S. FAI form shows the U.S.-side inspection fields only when a sample is actually on its way.

What the Approver Experiences

  1. A stage-specific email arrivesThe email comes from the company’s CRM mailbox. Its content is written for the stage: a Pattern email shows pattern details, an FAI email shows inspection details. It ends with one button: Review & Approve.
  2. The form opens, already filled inClicking the button opens a branded form in the browser with no login. Every field already saved on the NPD record is shown, together with the product’s SharePoint documents and an option to upload more.
  3. The approver submits a decisionThe approver records approval, rejection or changes requested, adds notes and clicks Submit. Fields left blank keep their saved values, so a quick approval never wipes earlier data.
  4. Dynamics 365 moves the process onThe NPD record is updated, the BPF moves to the next stage if the stage gate is met, and the next approver receives their email. The full exchange is visible on the NPD timeline.
Drawing Approval request email with the Submit Drawing Approval button
The Drawing Approval request email sent by Flow 1, with the button that opens the approval form
NPD record in Dynamics 365 with the Business Process Flow at Production and the tracked approval emails on the timeline
An NPD record that has moved through every stage to Production. Each request and response is a tracked email on the timeline.

Four Generic Flows Instead of Twenty

The obvious build is one set of flows per stage: an email flow, a form flow and a save flow for Feasibility, another three for Drawing, and so on. With eight forms that quickly passes twenty near-identical flows, and every branding or logic change has to be repeated in each one. Instead, the whole solution runs on four flows that take a stage key (feasibility, engineering, drawing, pattern, fai, fai_us, customer, production) and behave accordingly.

FlowTriggerWhat It Does
1. Send Approval EmailNPD record modified (status and approval fields)Works out the current stage, builds the stage-specific email, sends it as a tracked CRM email, and moves the stages whose gates depend on several conditions
2. Show Approval FormHTTP request (the button link)Reads the NPD record, returns the stage’s HTML form already filled in, lists SharePoint documents and accepts uploads
3. Save Approval ResponseHTTP request (form submit)Writes the answers to Dataverse, moves the BPF for stages that close on a single approval, and notifies the NPD team on rejection
4. Drawing Follow-Up ReminderDaily scheduleSends a reminder for open drawing approvals every 14 days until they are answered

The four Power Automate flows behind the approval layer

Inside Each Flow, Step by Step

The screenshots below show each flow in the Power Automate designer, from top to bottom, followed by what each step does.

Flow 1: Send Approval Email

Flow 1, Send Approval Email, in the Power Automate designer
Flow 1: Send Approval Email
  1. When NPD Status or Feasibility Approval Changes. The flow runs when an NPD record is saved and one of the fields that drive the process has changed: NPD status, feasibility approval, engineering approval, engineering drawing created, pattern status, or either of the two FAI approvals.
  2. Init varIntro and Init varRows. Two empty text holders, filled in later with the opening line of the email and the product details for the stage.
  3. Stage Key. Reads the NPD status and approval fields and decides what this run should do: send one of the eight approval emails, move the process to the next stage because a stage is complete, or do nothing yet.
  4. If Feasibility Stage Complete. Handles the stages that need more than one condition. When feasibility, engineering approval and the engineering drawing are all in place, when the pattern is marked Ready For Inspection, or when both FAI approvals are recorded, the flow finds the record’s Business Process Flow, checks it is still in that stage, and moves it to the next one.
  5. If Waiting For Drawing. If feasibility and engineering are approved but the engineering drawing has not been created yet, there is nothing to send, so the flow stops.
  6. Stage Label. Turns the stage into a readable name, such as “Drawing Approval”, used in the email subject and text.
  7. Get Stage Start, Check Recent Same Email and If Email Already Sent. Looks up when the record entered its current stage and checks whether the same request has already been sent since then. If it has, the flow stops, so each approver gets one email per stage.
  8. If Drawing Set Follow Up Date. When the record enters Drawing Approval, sets Last Follow Up to that date and Follow Up to 14 days later. Flow 4 uses these dates for reminders.
  9. Approval Form Link. Builds the link behind the email button. It points to Flow 2 and carries the stage and the NPD record ID.
  10. Get NPD Details, List Customer Accounts, Select Customer Names and Customer Names. Reads the full NPD record and the customers linked to it, and joins the customer names into one line for the email.
  11. Switch Email Content. Writes the opening line and the list of details for the stage. There is one case for each of the eight emails, so a Pattern email shows pattern details and an FAI email shows inspection details.
  12. Button Html and Email Description. Builds the “Submit” button and puts the full email body together.
  13. Create Approval Email in CRM and Send Approval Email Bound Action. Creates the email as an Email activity on the NPD record, from the CRM mailbox, and sends it with the Dynamics 365 SendEmail action, so it appears on the NPD timeline.

Flow 2: Show Approval Form

Flow 2, Show Approval Form, in the Power Automate designer
Flow 2: Show Approval Form
  1. When a HTTP request is received. Runs when the approver clicks the button in the email. The link tells the flow which stage and which NPD record to show.
  2. Init varFormTitle, Init varFormFields and Init varFoundryOptions. Text holders for the form heading, the form fields, and the list of foundries used on the Pattern form.
  3. Get NPD. Reads the NPD record. If the record cannot be found, Response Record Not Found shows the approver a short message instead of a form.
  4. Current Values. Collects the values already saved on the record, so the form opens filled in.
  5. Init varDocumentsHtml, List NPD Document Locations and If Folder Exists. Finds the product’s SharePoint folder. If there is one, the flow lists its files and builds a clickable list of documents for the form.
  6. Switch on Stage. Builds the title and fields for the requested stage. There is one case for each of the eight forms. The Pattern case also loads the foundry list for a dropdown.
  7. Response Show Form. Sends the finished HTML page back to the browser, which shows it as an ordinary web page.

Flow 3: Save Approval Response

Flow 3, Save Approval Response, in the Power Automate designer
Flow 3: Save Approval Response
  1. When a HTTP request is received. Runs when the approver clicks Submit on the form. It receives the stage, the NPD record ID, the answers and any uploaded files.
  2. Init varApproved, varNextStageId, varStageLabel, varNotes and varFolderPath. Holders for whether the response was an approval, which stage comes next, the stage name, the notes, and the SharePoint folder for uploads.
  3. Get NPD. Reads the NPD record.
  4. Switch on Stage. Saves the answers for that stage to the NPD record, writing only the fields the approver filled in. It also records whether the response was an approval and which stage comes next.
  5. If Approved Move To Next Stage. For stages that close on a single approval, such as Drawing Approval and Customer Approval, moves the Business Process Flow to the next stage. A rejection or “Requires Changes” leaves the stage as it is.
  6. Has Attachments. If the approver uploaded files, finds the product’s SharePoint folder, or creates one if it does not exist, and uploads each file into it.
  7. Response Success or Response Failed. Shows the approver a confirmation page, or an error page if something went wrong.
  8. Email Description, Create Confirmation Email in CRM and Send Confirmation Email Bound Action. Sends the NPD team a tracked email with the response, so they know about approvals and rejections straight away.

Flow 4: Drawing Approval Follow-Up Reminder

Flow 4, Drawing Approval Follow-Up Reminder, in the Power Automate designer
Flow 4: Drawing Approval Follow-Up Reminder
  1. Every Day. Runs once a day.
  2. Follow Up Due On Or Before. Works out today’s date.
  3. List NPDs Awaiting Drawing Approval. Finds the active NPD records that are still waiting for drawing approval and whose Follow Up date is today or earlier.
  4. For Each NPD Due For Follow Up. For each of those records, builds a reminder email, creates and sends it as a tracked email on the NPD record, and then sets Last Follow Up to today and Follow Up to 14 days from today.

Serving an HTML Form from Power Automate

The form is not hosted anywhere. The button in the email links to a Power Automate flow with an HTTP request trigger, passing the stage and the NPD record ID as query parameters. The flow reads the record from Dataverse, builds the HTML for that stage with the current values filled in, and returns it with a Response action and a text/html content type. The browser renders it as an ordinary web page.

Approval link in the emailHTTP
GET https://<flow-trigger-url>&stage=drawing&recordId=<npd-record-guid>

→ Flow 2 reads the NPD record from Dataverse
→ Builds the Drawing Approval form with saved values filled in
→ Response: 200, Content-Type: text/html

Submitting the form posts the fields to the second HTTP flow, which parses them and updates the NPD record. Only fields the approver actually filled in are written, and date-only fields are saved at midday UTC so that approvers in India and the U.S. always see the same date.

Moving the Business Process Flow Automatically

A BPF stage is not a column on the NPD record. It lives on a separate BPF instance record linked to it. To move the process, the flow looks up the instance for the NPD record, finds the ID of the next stage, and updates the active stage and the traversed path. Users see the stage change on the record exactly as if someone had clicked Next Stage.

Advancing the BPF instanceDataverse Web API
PATCH /api/data/v9.2/<bpf_instance_entityset>(<instance-id>)
{
  "activestageid@odata.bind": "/processstages(<next-stage-id>)",
  "traversedpath": "<existing-path>,<next-stage-id>"
}

Stage moves are split between two flows on purpose, based on where each business rule lives:

Stage MoveMoved ByWhy There
Feasibility → Drawing ApprovalFlow 1 (record change)Needs three conditions that can be set from the form or directly in the CRM
Drawing Approval → PatternFlow 3 (form submit)Closes on a single approval
Pattern → FAIFlow 1 (record change)Pattern Status can be set to Ready For Inspection from the form or in the CRM
FAI → Customer ApprovalFlow 1 (record change)Needs approvals from two teams, which may arrive in either order
Customer Approval → ProductionFlow 3 (form submit)Closes on the customer’s single decision

Where each automatic stage move happens

Tracked Emails, Not Just Sent Emails

Power Automate can send mail through Outlook in a single step, but that email never appears in Dynamics 365. Every request and reminder in this solution is created as an Email activity in Dataverse, regarding the NPD record, and sent with the SendEmail action from a dedicated CRM mailbox. Anyone who opens the NPD record sees who was asked, when, and exactly what they were sent.

Guardrails for Real-World Use

  • 🔁One Email per Stage EntryRecord-change triggers can fire several times for one save. The email flow runs one instance at a time and checks when the current BPF stage started, so each stage entry sends exactly one request.
  • 📝Blank Means KeepThe save flow only writes fields the approver filled in. A quick approval never clears notes, dates or estimates entered earlier.
  • ⛔Rejections Do Not Move the StageA “No” or “Requires Changes” sends a notification and leaves the stage unchanged, so the process can never skip ahead by accident.
  • 🕒Time-Zone-Safe DatesDate-only fields are saved at midday UTC, so approvers in India and the U.S. see the same date on the form and in the CRM.
  • ⏰Automatic Follow-UpsEntering Drawing Approval sets a follow-up date 14 days out. A daily flow sends the reminder when that date arrives and sets the next one.
  • 📎Documents on the FormEach form lists the product’s SharePoint documents and accepts uploads, so approvers review the latest drawing or report without searching for it.
Drawing Approval tab on the NPD record showing follow-up dates and the values saved from the approval form
Drawing Approval tab: the follow-up date is set 14 days after the last follow-up, and the approver’s answers are saved from the form

06Business Impact

  • 0Dynamics 365 licences needed by approvers outside the CRM
  • 0Manual stage moves across the six-stage NPD process
  • 8Stage-specific approval forms, filled in from the NPD record
  • 4Generic Power Automate flows running the whole process
  • Approvers act from their inbox. Plant, QA, U.S. engineering and customer reviewers approve with one click and a short form, without a CRM login, licence or training.
  • The process moves the moment the work is done. Stage gates are checked automatically, and the BPF advances as soon as the last required approval arrives, not when someone next opens the record.
  • The CRM team stops doing data entry for others. Decisions, notes, dates and estimates are captured at the source, in the right fields, by the person who made the decision.
  • Every decision is on the record. Requests, reminders and responses are tracked as activities on the NPD timeline, giving a complete audit trail without searching mailboxes.
  • Reminders are sent automatically. Drawing approvals are chased automatically every 14 days until they are answered.

Because every stage entry and every approval is now timestamped in Dataverse, time spent in each NPD stage can be reported in Power BI directly, making it easy to see where new products wait longest.

07Conclusion

In most approval processes, the decision itself takes minutes. The days go into finding the right person, getting their answer into the system and remembering to move the process on. By bringing a filled-in form to the approver’s inbox and letting Dynamics 365 move the Business Process Flow itself, SIP Industries no longer needs the CRM team to collect approvals and move each NPD stage by hand. Dynamics 365 now does both automatically.

The pattern is not specific to product development. A stage-aware email, an HTML form served by Power Automate and an automatic BPF move work for any multi-stage process whose approvers sit outside the CRM: quote approvals, supplier onboarding, engineering change requests, credit approvals and field service sign-offs.

Ready to Modernize Your Product-Development Process?

If your organization is looking to digitize a manual product-development or approval process in Microsoft Dynamics 365, our specialists can help build a scalable solution that reduces manual effort, improves visibility, and strengthens process governance.

About the Author

Cassandra Rodrigues

Cassandra Rodrigues is a Microsoft Dynamics 365 and Power Platform Consultant with four years of experience delivering CRM customization, business-process automation, customer portals, and system integrations. Her work spans Dynamics 365 Sales, Customer Service, Project Operations, Power Apps, Power Automate, Power Pages, Microsoft Dataverse, JavaScript, C# plugins, and Azure Functions. She focuses on understanding how people work today and translating complex business processes into practical, scalable digital solutions.


Share Story :

SEARCH BLOGS :

FOLLOW CLOUDFRONTS BLOG :


Categories

Secured By miniOrange