Skip to main content

Sample Implementation: Automating Employee Onboarding

We implemented an automated onboarding flow using Power Automate, triggered by updates in a SharePoint list. While the flow structure was manually built, Copilot assisted in crafting expressions for logic-based actions like Filter array, improving accuracy and efficiency.

 

Flow Overview

Trigger:

  • Activated when a new item is created in the Employees@oda SharePoint list.
  • Syncs with SharePoint every 12 hours.

Compose Action:

  • Evaluates two fields: ODA Email ID and Is Active.
  • Uses the expression: Produces outputs like “true-true” or “false-false” to guide the flow.

Switch Condition:
Based on the compose output, the flow branches into four scenarios:

1] True-True: ODA Email Created, Employee Active

  • Creates ODA email and saves record to SharePoint.
  • Proceeds through approvals: HR Coordinator → Operations → Admin.
  • Admin creates an intranet ID and assigns a manager.
  • Handles duplicate usernames with conditional logic and Copilot-assisted expressions.
  • Sends welcome mail and notifications to the department owners.

 

2] False-True: No ODA Email, Employee Active (Consultants)

  • Skips email creation but saves the record.
  • Goes through HR and Operations approvals.
  • Sends notification upon approval.

 

3] False-False: No ODA Email, Employee Not Active

  • Entry is rejected and deleted.
  • Sends rejection email with reason:
    “ODA mailbox and Is Active both cannot be False.”

WhatsApp Image 2025-07-23 at 4.43.18 PM

 

4] True-False: ODA Email Created, Employee Not Active

  • Entry is rejected and deleted.
  • Sends rejection email with reason:
    “ODA mailbox is True, but Is Active is False.”

WhatsApp Image 2025-07-23 at 4.43.17 PM

 

Copilot’s Role

One key area where Copilot helped was in writing a Filter array expression to detect duplicate intranet usernames:

and (
  equals(item()?[‘FinalIntranetUsername’], triggerBody()?[‘Intranet_x0020_Username’]),
  not(equals(item()?[‘ID’], triggerBody()?[‘ID’]))
)

 

What It Does:

  • Checks whether there is existing username is present in list.
  • Excludes the current item from the comparison to avoid false positives.

This logic ensures unique usernames and triggers admin intervention when duplicates are found, an essential part of maintaining data integrity.

 

Challenges and Considerations

Even with all its power, Copilot isn’t magic. Here are a few things I’ve learned to watch out for:

1. Data Quality Matters: If your data is messy or incomplete, Copilot’s suggestions might miss the mark. Neat, well-integrated data is key to getting accurate results.

2. Performance Bottlenecks: Large datasets or inefficient formulas can slow things down. I recommend using star schema designs and optimizing DAX queries to keep things smooth.

3. Security & Governance: AI tools raise important questions around data privacy. Make sure you’ve got strong access controls and compliance frameworks in place.

4. User Training: Copilot is powerful, but users still need to understand the basics of Power Platform. Invest in training to help your team make the most of it.

5. Platform Readiness: Not every setup supports Copilot out of the box. Check your licensing, tenant settings, and regional availability before diving in.

 

User Stories

1. See how Komatsu achieves end-to-end automation with Power Automate
2. Digital insurance agency, Nsure.com, reduces manual processing time by 60% using generative AI and Power Automate
3. Uber Technologies saves $9 million a year by automating business processes with Power Automate

 

Wrapping Up

Copilot in Power Platform isn’t just about saving time; it’s about transforming how we work. From automating onboarding to building intelligent apps and bots, its helping teams move faster and smarter.

Tags:

Automation