From Forms to Action: Building Recommendation Engines with Microsoft Power Automate

When most people think about Power Automate, they think about notifications, approvals, and moving data between some specified number of systems.

What is often overlooked is its ability to function as a lightweight decision engine.

Recently, I designed and configured a workflow that transformed assessment responses into structured recommendations. The pipeline then generated personalized planning documents, and automatically organized records within Sharepoint and OneDrive. While the business use case itself is proprietary, the architectural patterns are applicable across industries including employee onboarding, customer success, education, professional development, and service delivery.

The challenge wasn't collecting information.

The challenge was transforming information into consistent outcomes.

The Problem

Most assessment-driven workflows follow a similar pattern:

Form Submission

Process Responses

Generate Recommendations

Create Documents

Store Records

At first glance, this appears straightforward.

However, recommendation logic becomes increasingly difficult as additional questions, services, and decision criteria are introduced.

A common implementation pattern looks like this:

If Answer A

Assign Recommendation X

If Answer B

Assign Recommendation Y

If Answer C

Assign Recommendation Z

This works initially but introduces several operational challenges, such as:

- Recommendation overlap

- Logic duplication

- Difficult maintenance

- Inconsistent outcomes

- Limited scalability

As the workflow continues to grow, users can begin to receive too many recommendations, many of which are redundant or because recommendation logic wasn’t actually optimized to recommend the best and most aligned option.

A Better Pattern:

Score → Classify → Recommend

Rather than assigning recommendations directly from responses, I redesigned the workflow around a three-stage decision model.

Assessment Responses

Scoring

Classification

Recommendation Mapping

This separation creates cleaner logic and significantly improves maintainability.

Stage 1: Scoring

Each response contributes points toward one or more categories.

Example:

Leadership Score Growth Score

Transition Score Execution Score

Instead of assigning recommendations immediately, the workflow builds a profile based on cumulative scoring.

Stage 2: Classification

Once scoring is complete, decision logic identifies the dominant category.

Highest Score

Primary Classification

This becomes the user's primary outcome.

The classification represents a summary of all responses rather than a reaction to any single answer.

Stage 3: Recommendation Mapping

Recommendations are assigned from the classification rather than individual responses.

Classification A

Recommendation Package A

Classification B

Recommendation Package B

Classification C

Recommendation Package C

This produces more focused and explainable outcomes.

Power Automate Architecture

The implementation leveraged a combination of Microsoft Forms, Power Automate, and SharePoint/OneDrive.

Microsoft Forms

Get Response Details

Initialize Variables

Score Assessment

Determine Classification

Generate Recommendations

Create Planning Document

Store in SharePoint

The workflow automatically:

- Processes submissions

- Calculates scores

- Determines classifications

- Generates recommendations

- Creates documents

- Organizes records

without requiring manual intervention.

Design Patterns That Improved Reliability

1. Separate Scoring from Recommendations

The most important lesson learned.

Avoid:

Answer

Recommendation

Prefer:

Answer

Score

Classification

Recommendation

This reduces complexity and improves maintainability.

2. Use Variables for State Management

Power Automate workflows become difficult to troubleshoot when state is scattered throughout conditions.

Centralizing score tracking through variables provides:

- Better readability

- Easier debugging

- Cleaner decision logic

3. Keep Recommendation Logic Modular

Business rules change frequently.

By isolating recommendation mappings from scoring logic, recommendation packages can evolve without redesigning the entire workflow.

4. Design for Scale

Many low-code solutions work well with ten questions.

The real test is whether they still work with fifty.

Designing around classifications instead of individual responses allows workflows to grow without becoming unmanageable.

Operational Considerations

As with any production workflow, functionality is only one part of the equation.

Several engineering considerations influenced the final design:

Observability

Track:

- Submission IDs

- Processing status

- Classification outcomes

- Document generation success

Idempotency

Prevent duplicate submissions from generating duplicate records.

Maintainability

Separate business logic from workflow orchestration whenever possible.

Scalability

Design for future categories, recommendation packages, and reporting requirements.

Final Thoughts

Power Automate is often viewed as a simple automation platform. While not the most robust solution, it still served its purpose automating logical recommendations from a basic form responses.

In reality, it can support surprisingly sophisticated decision-support systems when workflows are designed thoughtfully.

The key lesson from this project was that recommendation engines should not be driven directly by answers.

They should be driven by classifications.

That single architectural decision transformed a growing collection of conditions into a maintainable, scalable recommendation framework.

Sometimes the most valuable automation isn't about moving data.

It's about operationalizing simple decisions.

Next
Next

Engineering Systems That Fail Less and Perform More: Storage Reliability, Durability, and Data Protection