Power Automate Beginner to Pro Tutorial [Full Course] Pragmatic Works・2 minutes read
Devin Knight introduces a three-hour Power Automate session, emphasizing training individuals to solve problems independently using Power Automate, Power BI, and Azure SQL Server, with a focus on citizen developers and best practices. The session covers basics, triggers, approval flows, and orchestration using Power Automate Desktop, alongside features like connectors, templates, environments, and application lifecycle management for effective automation and collaboration.
Insights Devin Knight, President of Training at Pragmatic Works, emphasizes the importance of training individuals to solve problems independently. Knight introduces the Power Platform, tailored for citizen developers to address business challenges using Power BI, Power Apps, Power Automate, and Power Virtual Agents. Cloud flows and desktop flows in Power Automate serve different automation needs, with cloud flows designed for modern applications and desktop flows for legacy applications lacking APIs. Templates, connectors, and environments in Power Automate facilitate quick automation setup, expanded connectivity options, and efficient application lifecycle management. Power Automate Desktop offers a solution for automating legacy applications, with features like variables, UI elements, images, and subflows enhancing flow execution and simplifying complex automation tasks. Get key ideas from YouTube videos. It’s free Summary 00:00
"Empowering with Power Automate: Three-Hour Session" Devin Knight welcomes viewers to a Power Automate session, emphasizing its duration of three hours. Knight acknowledges varying time zones of participants and introduces himself as the President of Training at Pragmatic Works. He highlights Pragmatic Works' focus on training and empowering individuals to solve problems independently. Knight mentions his expertise in Power BI, Azure SQL Server, and Power Automate, along with being an author and a member of the Jacksonville Power BI User Group. He directs viewers to his blog, Twitter, and email for further engagement. The agenda for the session includes covering basics of flows, triggers, conditional logic, approval flows, and robotic process automation using Power Automate Desktop. Knight assures viewers of the session's recording availability on YouTube for future reference. Participants are advised to have a Power Automate subscription, preferably at a premium level, or a trial subscription to follow along. The session will conclude with a discussion on Power Automate administration, focusing on best practices and application lifecycle management. Knight introduces the Power Platform, comprising Power BI, Power Apps, Power Automate, and Power Virtual Agents, tailored for citizen developers to solve business problems independently. 12:33
"Connecting Salesforce, Dynamics, and Outlook with Power Automate" Salesforce, Dynamics, OneDrive, and Outlook.com can be interconnected using available connectors or by creating custom connectors. Custom connectors can be shared with others after creation, expanding connectivity options. A connector library exists for finding custom connectors made by others for utilization. Cloud flows are designed for modern applications with APIs, allowing design and development from a web browser. Cloud flows serve as an orchestration tool for desktop flows, enabling scheduling and triggering of desktop flows. Desktop flows are for automating older applications lacking APIs, acquired by Microsoft from Softomotive. Triggers, actions, and conditional logic are essential components of cloud flows, with triggers initiating flow execution. Templates in Power Automate provide pre-designed solutions for quick automation setup. Environments in Power Automate act as containers for holding Power Platform collateral like Power Apps and Power Automate solutions. Solutions are used for moving work between different environments, following application lifecycle management practices. 25:30
"Email to Teams Integration for Support Cases" A software company has a support staff for product assistance via email. The company aims to receive email notifications for support cases. They want to receive both emails and Teams messages for support cases. To achieve this, they search for a template called "Post to Microsoft Teams." The template connects to Microsoft Teams and Office 365 Outlook. Users must sign in to their accounts for proper connection. The template searches the inbox for emails and sends Teams messages. Conditional logic can be added to filter emails based on specific criteria. Users can select the Teams channel for posting messages. Flows can be tested manually or automatically for functionality. 37:54
Creating Automated Flows in Microsoft Cloudflow To create a new flow from scratch, click on the "New Flow" button. Options for different types of flows include Automated Flow, Instant Flow, Scheduled Flow, Desktop Flow, and Business Process Flow. Automated Flow is triggered by specific events like form submissions or database updates. Instant Flow requires manual initiation, either through a web browser, mobile app, or physical button. Scheduled Flow runs based on a set schedule. Desktop Flows automate legacy applications. Business Process Flows involve human intervention in multi-step processes like closing a deal. Select the Automated Cloudflow option to create a new flow. Name the flow and choose a trigger, such as "When a new response is submitted." Connect to a Microsoft Form by selecting the form ID or using a custom value if the form isn't listed. Capture detailed information from form responses using the "Get Response Details" action. Utilize dynamic content to pass values between actions and triggers. Rename actions and add notes for clarity and debugging purposes. Send an email to respondents by adding the "Send an Email" action from the Outlook connector. Use dynamic content to determine the email recipient. 50:56
Creating Personalized Emails with Dynamic Content The process involves expanding two sections and selecting the "add dynamic content" button to send an email to the form filler, using details from the Get Response action. Dynamic content is utilized to extract the email field from the registration page, allowing the email to be sent to the form filler. The subject line of the email can be customized, such as "Thank you for registering for the Power Automate workshop." An HTML editor is available to compose the email body, enabling the inclusion of pre-written HTML code or the creation of new content. A Microsoft Teams meeting link is embedded in the email for users to access the class meeting. Dynamic content, like the first name of the attendee, can be added to personalize the email further. Testing the email flow involves submitting a response to the form, triggering the flow to execute and send the email. The flow execution is successful, and the email is received with dynamic content and the Teams meeting link. The flow can be monitored for execution details, including time taken and success status. A new scenario introduces the need to filter and notify specific individuals based on the type of request received in a SharePoint list, focusing on Power Automate requests. 01:03:34
"Flow Execution Based on Conditional Logic" Conditional logic is introduced as a concept to split flow execution based on meeting specific requirements. Adding a condition involves selecting a conditional function or action from the options available. The condition is set to check if a requested topic column equals "Power Automate" to determine the flow's path. If the condition is true, the flow proceeds down the left path; if false, it goes down the right path. Upon a true evaluation, an email or Teams message is sent to notify the user of the request. The email action is added within the "if yes" box to send an email with dynamic content. The email subject line includes the session name, while the body contains dynamic content like customer name, email, and problem description. The flow is saved and tested by manually inserting a new value into SharePoint to trigger the flow. The flow runs successfully, sending an email with the relevant details to the user. The text explains the limitations of using conditions and suggests using trigger conditions to prevent unnecessary flow executions, saving on licensing costs. 01:16:30
Master Power Automate Expressions for Efficiency Select the "Compose" action to begin the process. Within the "Compose" action, add dynamic content by incorporating an expression. The expression language used in Power Automate is unique and requires attention. Refer to a document library for Power Automate expressions for further guidance. Utilize the "equals" function within the expression to evaluate a column's equivalence to a specific value. Navigate between the expression and dynamic content tabs to incorporate the requested topic column. Ensure to enclose text values like "Power Automate" within single quotes in the expression. Consider using an experimental feature for a more user-friendly expression editor. Replace unnecessary conditions with trigger conditions to streamline flow execution. Prefix expressions with an "@" sign within trigger conditions for proper identification. 01:29:41
Pragmatic Works: Training, Mentoring, Discounts, Automation Pragmatic Works offers various training options, including live instructors, packages, and mentoring services. The mentoring service allows one-on-one sessions with experts, where users can share their screen and address specific problems. Users purchase a bucket of hours for mentoring, usable in increments of 30 minutes to a maximum of two hours daily. Pragmatic Works currently offers a half-off price for on-demand learning on their website, pragmaticworks.com. Subscribing to their YouTube channel and enabling notifications is recommended for updates on videos and content. Approvals in automation involve human interaction to approve or reject actions before execution. Approvals can be set to require everyone's approval or just the first responder's approval. Approval titles and details can be customized, including dynamic content and links for more information. Approval outcomes, such as approve or reject, can trigger subsequent actions in the automation flow. Conditions can be set to determine the next steps based on the outcome of the approval process. 01:42:30
Automating Approval Processes with Power Automate To set up an email action for approval, place it in the "if yes" section. Saving the approval triggers a manual test by inserting a new value into a SharePoint list. Insert a new value in the SharePoint list, like "Sears Robot," with details like email and interests. Approval notifications are sent via Microsoft Teams and email to approvers like Jonathan and Devin. Approvals can be managed in Microsoft Teams, with links to the SharePoint list for review. Jonathan approved an approval request, triggering the completion of the flow. Power Automate Desktop is a separate application for automating legacy applications. Desktop flows are ideal for automating legacy applications without clear APIs. Power Automate Desktop requires a Dataverse database for metadata storage. The application Contoso Invoicing is used as an example for automating legacy processes. 01:55:14
Automating Legacy Invoicing with Power Automate The legacy application requires manual entry of invoices, prompting the need for automation. Power Automate Desktop aims to streamline the process by automating steps like launching the application and entering invoices. Creation of a new flow in Power Automate Desktop is essential to automate tasks. The environment selected must have a Dataverse database for Power Automate Desktop flows to function. Subflows can be utilized to compartmentalize and simplify complex flows for better understanding. The interface of Power Automate Desktop includes sections for actions, workspace, subflows, variables, UI elements, and images. Variables within Power Automate Desktop aid in making flow executions dynamic. UI elements capture and rename elements within applications for automation. Images can be captured to represent UI elements for reference. The process of automating tasks involves launching the Contoso Invoicing application and configuring actions within the flow. 02:08:08
Recording Macros in Excel with Power Automate To record a macro in Excel, a similar process can be done using the desktop recorder in Power Automate Desktop. Launching the desktop recorder opens a new window on the screen, minimizing Power Automate Desktop while displaying the desktop recorder as the primary application. The Contoso Invoicing application is visible on the right side of the screen. Clicking the record button initiates the recording of all clicks made while interacting with the application. Clicking within the red rectangles that appear in the application captures those clicks in the recording for automation. Clicking on specific elements like "Invoices" or "New Record" records those actions in the recording. Deliberately clicking within each section of the form is recommended instead of using the tab key for navigation. Mistakes can be corrected by backtracking within the desktop recorder to edit or eliminate steps. After recording all necessary steps, clicking "Finish" in the desktop recorder saves the actions in Power Automate Desktop. Running the desktop flow executes the recorded actions, entering the specified information into the application. 02:21:26
Enhancing UI Clarity and Flow Efficiency Change the UI element names to enhance clarity in flow execution. Visit the UI element feature to rename each item for better understanding. Screenshots in the UI element section aid in identifying clicks and locations. Rename UI elements by selecting them and using the three-dot menu. Renaming updates elements in the flow, simplifying identification. Rewire steps to replace hard-coded text with variables. Double-click or right-click on actions to edit and replace hard-coded values with dynamic ones. Use the select variable option to replace hard-coded text with dynamic variables. Extract the invoice ID using the "get details of a UI element" action. Utilize the set variable action to map variables and pass values between them. 02:35:02
"Automating Desktop Flows with Cloud Integration" The "Terminate Process" action is used to close an app after launching it, by specifying the process ID and mapping it to the beginning of the flow. Weight actions can be added to wait for specific UI elements or set time intervals, useful for web automation. Debugging techniques include adding message boxes to display variable values during flow execution. Breakpoints allow pausing flow execution for troubleshooting, ensuring correct operation before continuing. A free "RPA in a Day" class is recommended for further learning on desktop flows. Integrating desktop flows with cloud flows involves using a data gateway or machine settings to connect the desktop solution to the cloud. In the cloud flow editor, a manual trigger is used to create a new cloud flow named "Run My Desktop Flow." Adding an action to run a desktop flow requires selecting the "Run a Flow Built with Power Automate Desktop" action. Configuring machine settings in Power Automate Desktop connects the desktop solution to the cloud for remote execution. Choosing between attended and unattended modes determines if the automation requires a user to be logged in for execution. 02:48:18
"Efficiently manage and execute automated workflows" To pass in specific values in a flow, enter the desired amount, such as 65.68, and designate the contact, like "myself," and the account, for example, "Devin's Donuts," before saving the flow for execution. Execute the flow by testing it manually, allowing it to run the desktop flow from the cloud, which will automatically input the designated values, like 68.95 for the amount and "Devin's Donuts" for the account, into the Contoso Invoicing application. Utilize solutions to manage work effectively by creating a solution, such as "Learn with the Nerds," to package and organize Power Apps, Power Automate solutions, and other items, enabling easy migration between environments by zipping the solution for transfer.