Microsoft 製品勉強メモ - Power Platform関連

Power Platformについて[PL-900: Microsoft Power Platform Fundamentals](https://learn.microsoft.com/ja-jp/training/paths/power-plat-fundamentals/)は初級、
[PL-200: Microsoft Power Platform Functional Consultant](https://learn.microsoft.com/ja-jp/credentials/certifications/exams/pl-200/)は中級
[PL-500: Microsoft Power Automate RPA Developer](https://learn.microsoft.com/en-us/credentials/certifications/exams/pl-500/)はdesktopやサーバー向けの機能
試験を受けるなら、pl900→ pl200→ pl100（APP maker）→ pl400（platform　developer）

- [Get started using Dataverse](#get-started-using-dataverse)
- [Manage permissions and administration for Dataverse](#manage-permissions-and-administration-for-dataverse)
- [Create a canvas app in Power Apps](#create-a-canvas-app-in-power-apps)
- [Create a model-driven application in Power Apps](#create-a-model-driven-application-in-power-apps)
- [Automate a business process using Power Automate](#automate-a-business-process-using-power-automate)
- [Start using buttons in Power Automate](#start-using-buttons-in-power-automate)
- [Use best practices to secure and govern Microsoft Power Platform environments](#use-best-practices-to-secure-and-govern-microsoft-power-platform-environments)

-------

##### Get started using Dataverse
勉強材料：https://learn.microsoft.com/en-us/training/paths/get-started-cds/

- [Identify foundational components of Microsoft Power Platform](https://learn.microsoft.com/en-us/training/modules/introduction-common-data-service/)
  - [Describe Power Platform administration](https://learn.microsoft.com/en-us/training/modules/introduction-common-data-service/2-describe-power-platform-administration)
    - Microsoft Dataverse environments allow you to manage user access, security settings, and the storage that is associated with that database.
    - Each environment is created under a Microsoft Entra ID tenant.
    - You can create more than one environment to manage solution development and data storage by setting up one environment for development, another for testing, and another for production use
    - The Power Platform admin center (Https://admin.powerplatform.microsoft.com) is the primary administrative experience for the Microsoft Power Platform.
      - manage their environments and configure many of the primary settings for Power Apps, Power Automate, and customer engagement apps for Dynamics 365.

  - [Explore Microsoft Dataverse](https://learn.microsoft.com/en-us/training/modules/introduction-common-data-service/4-explore-microsoft-dataverse)
    - Columns
      - Splitting the data into multiple tables also means that you will not have to store repetitive data or support huge rows with large amounts of blank data
    - dataflows
      - Dataflows are used to ingest, transform, and load data into Microsoft Dataverse environments, Power BI workspaces, or your organization's Azure Data Lake Storage account

  - [Examine Power Platform connectors](https://learn.microsoft.com/en-us/training/modules/introduction-common-data-service/5-examine-power-platform-connectors)
    - The two types of data sources are tabular, and function based.
      - Tabular data - data source supports it, Power Apps can create, edit, and delete data from these data sources. Examples include Microsoft Dataverse, SharePoint, and SQL Server.
      - Function-based data - A function-based data source is one that uses functions to interact with the data source
    - Connectors are divided into standard and premium.
      - popular standard connectors are SharePoint, Outlook, and YouTube
      - Premium connectors require additional licensing for your app and/or users. A few premium connectors are SQL Server, Survey Monkey, and Mail Chimp.
        - the main advantage of premium connectors is that they allow you to connect to a larger number of services.
      - Connectors can provide input and output between the data source and Power Platform
    - Triggers and Actions
      - Triggers are only used in Power Automate and prompt a flow to begin
      - Actions are used in Power Automate and Power Apps. Actions are prompted by the user or a trigger and allow interaction with your data source by some function.

- [Create and manage environments in Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-environments/)
  - [Add users and roles within an environment](https://learn.microsoft.com/en-us/training/modules/create-manage-environments/4-roles)
    - After you have created an environment, users from Microsoft Entra ID that are associated with your tenant and have a selected security role are automatically added to the environment.

- [Create tables in Dataverse](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/)
  - [Table characteristics](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/2-learn-about-entities)
    - Database tables have a primary key. A primary key uniquely identifies a single row in the table. In Dataverse, the primary key is a Globally Unique Identifier (GUID), a 32-character string
      - also a column called the primary column, This is a text string that is used to represent the row in apps and flows. When you create a Dataverse table, this column is defaulted to Name.
    - You cannot change the following after the table is created:
      - Schema name
      - Table type
      - Table ownership
    - The table will inherit the publisher prefix from the solution.

  - [Table relationships](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/learn-about-relationships)
    - One-to-many relationships have a hierarchy between the rows in the table relationship. Rows that are related through Many-to-many table relationships are considered peers.

  - [Dataverse logic and security](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/logic-security)
    - Business Rules
      - Business rules validate data across multiple columns in a table, and provide warning and error messages, regardless of the app that's used to create the data.
      - business rules are created and managed in the Power Apps maker portal
      - Model-driven apps can use all actions available on business rules, however not all business rule actions are available for canvas apps. The following actions aren't available on canvas apps:
        - Show or hide columns.
        - Enable or disable columns.
        - Create business recommendations based on business intelligence.

  - [Dataverse auditing](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/auditing)
    - Dataverse auditing logs changes that are made to customer records in an environment with a Dataverse database

  - [Dual-write vs. virtual tables](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps-common-data-service/2b-dual-write-vs-virtual-table)
    - Dual-write and virtual entities allow Dataverse to access this data and write back to the original data source.
      - out-of-box infrastructure that provides near-real-time interaction between customer engagement apps and finance and operations apps
      - Finance and operations apps are a virtual data source in Dataverse, and enable full create, read, update, and delete (CRUD) operations from Dataverse and Microsoft Power Platform

- [Manage tables in Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-entities/)
  - [Identify tables and table types in Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-entities/1-intro)
    - Types of tables
      - Standard - The base set of tables that are created for every instance of a Dataverse database. 
      - Complex - tables that contain complex, server-side business logic, including real-time workflows or plug-ins. Some of the tables that are used in Dynamics 365 applications are complex. 
        - To use complex tables, users are required to have a P2 or Dynamics 365 license.
      - Restricted - Certain tables that are tied to Dynamics 365 application functionalities require each user to have the corresponding license for that Dynamics 365 application if they want to create, update, or delete rows within the restricted tables
        - Customers can't add restricted tables to Dataverse
      - Custom - Are created for a specific business application. All licensed users of Dataverse can access custom tables if they are assigned proper security permissions to do so.

  - [Licensing requirements for each table type](https://learn.microsoft.com/en-us/training/modules/create-manage-entities/4-licensing)
    - Standard and Custom tables
      - Microsoft 365, Per app plan, Per user plan, Dynamics 365
    - Complex tables
      - Per user plan, Dynamics 365
    - Restricted tables
      - Specific Dynamics 365 application licenses

- [Create and manage columns within a table in Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/)
  - [Define columns in Microsoft Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/1-fields)
    - Always use standard tables and columns when possible

  - [Column types in Microsoft Dataverse](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/2-field-types)
    - You can add any combination of columns to a custom or standard table to meet your needs, but you can't delete a standard column from a standard table.

  - [Create a primary name column](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/4-primary-name)
    - A Primary Name column is always created by Microsoft Dataverse when you create a new custom table
      - Primary Key column is a GUID
      - choose between a text column or autogenerated whole number

  - [Restrictions that apply to columns in a table](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/5-restrictions)
    - Maximum Number of columns in a table:
      - no hard upper limit on the number of columns that you can have in a table, but there's an upper boundary due to limits in how much data you can store in a single record
      - As a rule, you should have less than a few hundred columns in a table
    - [Rollup columns](https://learn.microsoft.com/en-us/power-apps/maker/data-platform/define-rollup-fields) (contains an aggregate value computed over the rows related to a specified row) :
      - Max of 100 for each organization
      - Max of 10 for each table
      - Can't trigger workflows
    - Choices columns:
      - can support thousands of options within a Choice
      - Don't use Choice columns to select categories that actually represent separate items of data
    - Primary Name column
      - You can only have one primary column for each custom table.

  - [Create an auto numbering column](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/6-auto-numbering)
    - can also activate autonumber functionality in an existing text column by opening the column and selecting Autonumber in the datatype dropdown
      - auto number functionality can also be disabled at any time by opening the column and selecting text as the type in the Data type drop-down list.
    - String prefixed number 
    - Date prefixed number
    - Custom
    - Seeding a starting value

  - [Create an alternate key](https://learn.microsoft.com/en-us/training/modules/create-manage-fields-within-entity/7-alternate-key)
    - By default, Microsoft Dataverse tables have a GUID as their only unique column. This GUID is called the Primary Key
    - keys can be based on a single column (Order ID) or a combination of fields, such as Financial year and Order ID
      - A key can be made up of one or many columns. If you select multiple columns, then the key is called a compound key.
    - If you have duplicated data in a column that is used by the key in multiple records, then the key will not be created.

- [Working with choices in Dataverse](https://learn.microsoft.com/en-us/training/modules/working-with-option-sets/)
  - [Define choice column](https://learn.microsoft.com/en-us/training/modules/working-with-option-sets/1-option-sets)
    - best suited for a small set of standard short terms rather than a long list of complex entries. 
      - You should not use choices when the field usually contains unique entries that are not easily standardized.

- [Load/export data and create data views in Dataverse](https://learn.microsoft.com/en-us/training/modules/load-export-data-create-data-views/)
  - [Load data into a table](https://learn.microsoft.com/en-us/training/modules/load-export-data-create-data-views/3-load)
    - every table has required columns that must exist, and you should add them to your input file

  - [Add, update, or delete data in a table by using Excel](https://learn.microsoft.com/en-us/training/modules/load-export-data-create-data-views/5-excel)
    - To delete data, delete one or more rows in the spreadsheet and then select Publish. To edit data, simply edit any value in the spreadsheet and then select Publish.

  - [Import data using Power Query](https://learn.microsoft.com/en-us/training/modules/load-export-data-create-data-views/5a-import)
    - Once you create a dataflow in the Power Apps portal, you can get data from it using the Dataverse connector. Or using Power BI Desktop Dataflow connector, depending on which destination you chose when creating the dataflow.

  - [Generate a new dataflow from an Excel Template](https://learn.microsoft.com/en-us/training/modules/load-export-data-create-data-views/5b-template)
    - create Microsoft Power Platform dataflows from queries in Microsoft Excel workbooks
      - nly available to Office Insiders

- [Connect to other data in a Power Apps canvas app](https://learn.microsoft.com/en-us/training/modules/connect-to-other-data-in-powerapps-canvas-app/)
  - [Overview of the different data sources Completed](https://learn.microsoft.com/en-us/training/modules/connect-to-other-data-in-powerapps-canvas-app/1-overview-data-sources)
    - Tabular data - A tabular data source is one that returns data in a structured table format.
    - Action-based data - An action-based data source is one that uses functions to interact with the data source. 

  - [Work with action-based data sources](https://learn.microsoft.com/en-us/training/modules/connect-to-other-data-in-powerapps-canvas-app/2-work-with-action-based-data-sources)
  - One important difference to note between tabular and action-based data sources is action-based data sources can't be used with the Forms control


##### Manage permissions and administration for Dataverse
勉強材料：https://learn.microsoft.com/en-us/training/paths/manage-permissions-administration-common-data-service/

- [Get started with security roles in Dataverse](https://learn.microsoft.com/en-us/training/modules/get-started-security-roles/)
  - [Understand environment roles](https://learn.microsoft.com/en-us/training/modules/get-started-security-roles/2-roles)
    - Environments have two predefined roles that provide access to permissions within an environment. if the environment has a Dataverse database, more roles are added and the permissions options broaden.
      - Environment Admin
      - Environment Maker
        - A user is automatically associated with the Environment Maker role when they are added to an environment.
    - When an environment has a Dataverse database, users must be assigned the System Administrator role instead of the Environment Admin role for full admin privileges
      - Users who make apps that connect to the database and need to create or update entities and security roles need to be assigned the System Customizer role

  - [Understand security concepts in Dataverse](https://learn.microsoft.com/en-us/training/modules/get-started-security-roles/4-security-concepts)
    - Dataverse uses role-based security to group together a collection of privileges.
      -  A key concept of Dataverse security to understand is that privileges are accumulative with the greatest amount of access prevailing.
    -  Every user assigned to a Dataverse environment will belong to a business unit.
        - Every Dataverse database has a single root business unit, and multiple child business units can be created as needed 
        - A user’s security roles are assigned within their business unit. Each user is a member of only one business unit
    - Dataverse supports two types of record ownership. Organization owned, and User or Team owned. 
      - Record ownership is a choice that happens at the time the table is created and can’t be changed. 
    - Teams are owned by a Business Unit. 
      - Every Business Unit has one default team that is automatically created when the Business Unit is created.
      - There are two types of teams, owning teams and access teams
    - Sharing with a team is a more efficient way of sharing
      - Access teams are more performant because they don’t allow owning records by the team or having security roles assigned to the team
    - Column-level security managed by creating a Column Security Profile
      - Column Security Profiles are then associated with a user or Teams
    - package up and move Security roles and Column Security Profiles from one environment to the next using Dataverse solutions
    - Hierarchy security to control access
      - Manager hierarchy
        - The manager’s and the subordinate’s relationship is established by using the Manager field on the user table.
      - Position hierarchy
        - various job positions in the organization can be defined and arranged in the hierarchy using the Position table. You can then add users to any given position using the Position lookup column on the user record
      - Keep the effective hierarchy security to 50 users or less under a manager/position. 
      -  Avoid creating a large number of business units, instead, create fewer business units and add hierarchy security.

  - [Configure Dataverse teams for security](https://learn.microsoft.com/en-us/training/modules/get-started-security-roles/6a-teams)
    - teams provide an easy way to share business objects and let you collaborate with other people across business units
    - Types of teams
      - Owner team: an owner team owns records and has security roles assigned to the team
      - Access team: an access team doesn't own records and doesn't have security roles assigned to the team.
      - Microsoft Entra ID group team: Similar to owner team

  - [Configure Dataverse group teams for security](https://learn.microsoft.com/en-us/training/modules/get-started-security-roles/6b-teams-group)
    - Microsoft Entra ID group team, two group team types
      - Security and Microsoft 365(office)
      - Team members are dynamically derived (added and removed) when they access the environment based on their Microsoft Entra ID group membership.


- [Use administration options for Dataverse](https://learn.microsoft.com/en-us/training/modules/use-admin-options-cds/)


##### Create a canvas app in Power Apps
勉強材料：https://learn.microsoft.com/en-us/training/paths/create-powerapps/

- [Get started with Power Apps canvas apps](https://learn.microsoft.com/en-us/training/modules/get-started-with-powerapps/)

- [Customize a canvas app in Power Apps](https://learn.microsoft.com/en-us/training/modules/customize-apps-in-powerapps/)
  - [Explore screens and controls in Power Apps](https://learn.microsoft.com/en-us/training/modules/customize-apps-in-powerapps/2-explore-screens-and-controls)
    - A control is a UI element that produces an action or shows information. Many controls in Power Apps are similar to controls that you've used in other apps: labels, text-input boxes, drop-down lists, navigation elements, and so on.

  - [Exercise - Get started with functions in Power Apps](https://learn.microsoft.com/en-us/training/modules/customize-apps-in-powerapps/3-get-started-with-functions)
    - If your formula returns an error, then please note that the language setting of your Power Apps environment can affect some separators and operators. For example, the above formula is expressed in a language and region that uses dot or period as the decimal separator, such as Japan or the United Kingdom.

- [How to build the UI in a canvas app in Power Apps](https://learn.microsoft.com/en-us/training/modules/how-to-build-ui-canvas-app/)
  - [Use themes to quickly change the appearance of your app](https://learn.microsoft.com/en-us/training/modules/how-to-build-ui-canvas-app/1-use-themes)
    - A quick and easy way to change the colors in your Canvas app is to apply a theme
    - there's no option to create a Custom theme for a canvas app and store it to be used for other apps.

- [Navigation in a canvas app in Power Apps](https://learn.microsoft.com/en-us/training/modules/navigation-canvas-app/)

- [Manage apps in Power Apps](https://learn.microsoft.com/en-us/training/modules/manage-apps-in-powerapps/)
  - [Exercise - Manage app versions in Power Apps](https://learn.microsoft.com/en-us/training/modules/manage-apps-in-powerapps/1-manage-app-versions)
    - After restoring a previous version, the restored version needs to be published before users will see the new version.
      - Make sure the App is not open in Power Apps Studio. If the app is open, you will not be able to restore the version.
      - Verify the version you would like to restore is not older than six months. At the current time, only app versions less than six months old can be restored.

  - [Exercise - Share apps in Power Apps](https://learn.microsoft.com/en-us/training/modules/manage-apps-in-powerapps/2-share-apps)
    - If you want the user to also be able to edit the app, then select the Co-owner check box. By default, the user receives the User permission. Here's a description of both permissions:
      - Co-owner - Users can use, edit, and share the app, but not delete or change the owner.
      - User - Users can use the app.
    - If your app includes any premium components such as map or address input components, your users need licensing in order to use the app. You see the option to Request licenses
      -  you can only use this option for users (not security groups or distribution lists).
    - Basic information about permissions and licensing that you should be aware of are:
      -  Users and contributors need permissions to any data connections and gateways that a shared app uses. Some permissions come implicitly with the app, but you must explicitly grant others. If you create an app based on Microsoft Dataverse, you must also ensure that the users you share the app with have the appropriate permissions for the table or tables on which the app relies. Specifically, those users must belong to a security role that can perform tasks such as creating, reading, writing, and deleting relevant rows. In many cases, you want to create one or more custom security roles with the exact permissions that users need to run the app. You can then assign a role to each user as appropriate.
      -  People who have Co-owner permission also need a Power Apps plan so that they can perform edits on the app.

  - [Exercise - Understand environments in Power Apps](https://learn.microsoft.com/en-us/training/modules/manage-apps-in-powerapps/3-understand-environments)
    - Keep in mind that environments are relevant only to app creators and Power Apps admins. When you share an app with users, those users simply run the app, providing they have the correct permissions. In other words, they don't have to worry about what environment the app came from.
    - There are tenant restrictions on capacity and environment creation. When you create an environment you must have, 1 GB available capacity, else you cannot create a new environment. You will either have to free up space or purchase additional capacity for your tenant.
    - There are user pre-requisites to being added to an environment, including the need to be enabled in Microsoft Entra ID, have an active license, and be a member of the environment's security group. If you receive errors on any of these as you attempt to add a user, you will need to ensure these prerequisites are met before attempting to add the user again. We will include a link the summary unit for how to do this.

  - [Build a mobile-optimized app from Power Apps](https://learn.microsoft.com/en-us/training/modules/build-mobile-optimized/) 


##### Create a model driven application in Power Apps
勉強材料：https://learn.microsoft.com/en-us/training/paths/create-app-models-business-processes/

- [How to build your first model-driven app with Dataverse](https://learn.microsoft.com/en-us/training/modules/build-first-model-driven-app-dataverse/)
  - [Introduction to model-driven apps](https://learn.microsoft.com/en-us/training/modules/build-first-model-driven-app-dataverse/model-driven-apps)
    - canvas apps, where you build out an app screen-by-screen by adding logic and code
      - canvas apps, you have complete control over the appearance and behavior of your app
    - Model-driven apps use a component-focused approach to develop the app
      - the layout is based on the components that you add to the app

  - [Model-driven apps, powered by Microsoft Dataverse](https://learn.microsoft.com/en-us/training/modules/build-first-model-driven-app-dataverse/dataverse-model-driven-apps)
    - When creating model-driven apps, it's important to focus on three areas:
      - Modeling business data
      - Defining business processes
      - Composing the app

- [Get started with model-driven apps in Power Apps](https://learn.microsoft.com/en-us/training/modules/get-started-with-model-driven-apps-in-powerapps/)
  - [Components of model-driven apps](https://learn.microsoft.com/en-us/training/modules/get-started-with-model-driven-apps-in-powerapps/2-building-blocks-of-model-driven-apps)
    - Logic
      - Business process flow, Workflow, Actions, Business rule, Power Automate Flow

  - [Exercise - Control security when sharing model-driven apps](https://learn.microsoft.com/en-us/training/modules/get-started-with-model-driven-apps-in-powerapps/5-control-security-when-sharing-model-driven-apps)

- [Configure forms, charts, and dashboards in model-driven apps](https://learn.microsoft.com/en-us/training/modules/configure-model-driven-apps-customer-engagement-apps/)
  - [Configure multiple forms](https://learn.microsoft.com/en-us/training/modules/configure-model-driven-apps-customer-engagement-apps/03-configure-multiple-forms)
    - Controlling user access to forms is not necessarily a secure means to prevent access to data. Sometimes users have other ways to interact with data such as advanced find or background automation.
    - Miscellaneous form details
      - Each table must have a designated fallback form. This is the form that all users would see if they don't have a security role assigned that matches your role-tailored forms. 
        - Fallback forms are only available with main forms and don't apply to quick create, quick view, and card forms.
      - When a user has access to multiple forms, a form selector is available near the top of the form. If a user has access to only a single form for a given table, there's no form selector visible.
      - You can designate a main form as inactive. This makes it not visible to all users, regardless of security roles. This feature was included primarily to manage new forms included when organizations upgrade but you can use it to prevent people from being able to use any main form.

  - [Configure grids](https://learn.microsoft.com/en-us/training/modules/configure-model-driven-apps-customer-engagement-apps/06-configure-grids)
    -  Power Apps grid control allows users to view, open, and edit records from views and subgrids. In addition to inline editing, the control provides other capabilities. Capabilities include:
      - A modern data browsing experience via infinite scrolling, allowing users to scroll indefinitely through data until they find the records they're interested in.
      - An ability to customize the visual appearance of columns for specific needs.

  - [Create and edit views](https://learn.microsoft.com/en-us/training/modules/configure-model-driven-apps-customer-engagement-apps/07-configure-special-views)
    - You cannot create/edit a view within a managed solution. Ensure that the app you want to create/edit a view is not in a managed solution (In your Solutions table, look for the column with the header Managed and select one with a value of No.)

  - [Use interactive streams and tiles](https://learn.microsoft.com/en-us/training/modules/configure-model-driven-apps-customer-engagement-apps/10-streams-tiles)
    - Multi-stream dashboards
      - There's no limit on how many streams you can configure on the dashboard. The data in a stream can be based on a single table, but each stream can be based on a different table.
    - Single-stream dashboards
      - over a single stream based on a table view, with the visual filters already applied.


##### Automate a business process using Power Automate
勉強材料：https://learn.microsoft.com/en-us/training/paths/automate-process-power-automate/

- [Get started with Power Automate](https://learn.microsoft.com/en-us/training/modules/get-started-flows/)
  - [Introducing Power Automate](https://learn.microsoft.com/en-us/training/modules/get-started-flows/1-introduction)
    - Power Automate is an online workflow service that automates actions across the most common apps and services.
    - A common use of Power Automate is to receive notifications. For example, you can instantly receive an email or a push notification on your phone whenever a sales lead is added to Dynamics 365 or Salesforce.

  - [Exercise - Create recurring flows](https://learn.microsoft.com/en-us/training/modules/get-started-flows/6-flow-scheduled-flows)

  - [Exercise - Monitor incoming emails](https://learn.microsoft.com/en-us/training/modules/get-started-flows/flow-monitor-incoming-emails)

  - [Share flows](https://learn.microsoft.com/en-us/training/modules/get-started-flows/8-flow-share-flows)

- [Build approval flows with Power Automate](https://learn.microsoft.com/en-us/training/modules/build-approval-flows/)
  - [Exercise - Create a business process flow](https://learn.microsoft.com/en-us/training/modules/build-approval-flows/5-create-business-process-flow)
    - Keep these tips in mind as you work on your business process flow in the designer:
      - To take a snapshot of everything in the business process flow designer, select Snapshot on the action bar. This option is useful if you want to share and get comments about the process from a team member.
      - Use the mini map to quickly go to different parts of the process. This option is useful when you have a complicated process that scrolls off the screen.
      - To add a description of the business process, select the arrow beside the process name in the upper-left corner of the page. You can enter up to 2,000 characters in the description field.

- [Build flows to manage user information](https://learn.microsoft.com/en-us/training/modules/manage-user-information/)
  - [Build a flow that uses information like locations or date](https://learn.microsoft.com/en-us/training/modules/manage-user-information/2-tokens)
  - [Build a flow accepts user input when run](https://learn.microsoft.com/en-us/training/modules/manage-user-information/3-user-input)
  - [Create a flow that blocks time on your calendar](https://learn.microsoft.com/en-us/training/modules/manage-user-information/4-store-documents)

- [Power Automate's deep integration across multiple data sources](https://learn.microsoft.com/en-us/training/modules/multiple-data-sources/)
  - [Exercise - Build a flow that runs when an event in Dynamics 365 occurs](https://learn.microsoft.com/en-us/training/modules/multiple-data-sources/2-event)
  - [Exercise - Build a flow that uses SQL](https://learn.microsoft.com/en-us/training/modules/multiple-data-sources/3-sql)
    - Changes that you make in the destination aren't copied back to the source, because two-way synchronization isn't supported. If you try to set up two-way synchronization, you'll create an infinite loop where changes are sent endlessly between the source and destination.
    - Column names in the source and destination don't need to match, but you must provide data for all required columns when you insert or update an item. Power Automate identifies the required fields for you.

- [Use the Admin center to manage environments and data policies in Power Automate](https://learn.microsoft.com/en-us/training/modules/administer-flows/)
  - [Export and import flows](https://learn.microsoft.com/en-us/training/modules/administer-flows/2-flow-export-import)
  - [Learn how to distribute button flows](https://learn.microsoft.com/en-us/training/modules/administer-flows/3-share-flows)
  
- [Use AI Builder in Power Automate](https://learn.microsoft.com/en-us/training/modules/ai-builder-power-automate/)

- [Optimize your business process with process advisor](https://learn.microsoft.com/en-us/training/modules/business-process-optimization-process-advisor/)


##### Start using buttons in Power Automate
勉強材料：https://learn.microsoft.com/en-us/training/paths/get-started-power-automate-buttons/

- [Introduction to using Power Automate buttons](https://learn.microsoft.com/en-us/training/modules/intro-power-automate-buttons/)
  - [Introduction to Microsoft Power Automate buttons](https://learn.microsoft.com/en-us/training/modules/intro-power-automate-buttons/1-introduction)
    - Microsoft Power Automate buttons are the app-based virtual buttons that provide you with the flexibility to automate repetitive tasks with just a tap of a button, from any place and at any time, through your mobile device.

  - [Types of Power Automate buttons](https://learn.microsoft.com/en-us/training/modules/intro-power-automate-buttons/2-types)
    - The three types of Power Automate buttons are:
      - An app-based virtual button with a flow with no user input
      - An app-based virtual button with a flow with user input or trigger tokens
      - A physical button

  - [Use trigger tokens](https://learn.microsoft.com/en-us/training/modules/intro-power-automate-buttons/4-trigger-tokens)
    - trigger tokens are data points that are known and available to the device on which the button flow is running.
      -  the date, time, and the current address where the phone is located are automatically available for use

  - [Share a button](https://learn.microsoft.com/en-us/training/modules/intro-power-automate-buttons/5-share)
    - Power Automate provides an easy way to share your buttons with other users of your community who have a similar need.
      - flow can be shared with other users, Microsoft Entra ID Groups, or Office 365 Groups within your tenant.

- [Create a Power Automate button without user input](https://learn.microsoft.com/en-us/training/modules/button-without-user-input/)
  - [Introduction to the design process of a button flow](https://learn.microsoft.com/en-us/training/modules/button-without-user-input/1-intro-design-process)
    - two ways to design the process for a Button Flow
      - Using an existing template 
      - Building a flow from blank
 
  - [Reasons to use trigger tokens and how to add them to a flow](https://learn.microsoft.com/en-us/training/modules/button-without-user-input/2-trigger-token)
    - Trigger tokens are data points that are known and available to the device on which the button flow is running
      - These tokens are dependent on factors such as time and the geographic location of the device at a given moment.
  - [Create a Power Automate button that sends an email with your location](https://learn.microsoft.com/en-us/training/modules/button-without-user-input/4-email-location)
  - [Create a weather report Power Automate button](https://learn.microsoft.com/en-us/training/modules/button-without-user-input/3-weather-report)

- [Create a Power Automate button with user input](https://learn.microsoft.com/en-us/training/modules/button-user-input/)
  - [Six types of user inputs](https://learn.microsoft.com/en-us/training/modules/button-user-input/1-user-inputs)
    - Text, Yes/No, File, Email, Number, Date

  - [Create a Power Automate button that uses all input types](https://learn.microsoft.com/en-us/training/modules/button-user-input/2-input-types)
  - [Create a Power Automate button that sends an email](https://learn.microsoft.com/en-us/training/modules/button-user-input/3-email-photo)
  - [Use an existing button template to add a new Outlook task](https://learn.microsoft.com/en-us/training/modules/button-user-input/5-exercise)

- [Create a flow that uses a physical button](https://learn.microsoft.com/en-us/training/modules/physical-input-button/)

- [Share Power Automate buttons](https://learn.microsoft.com/en-us/training/modules/share-buttons/)
  - [Introduction to sharing a button flow](https://learn.microsoft.com/en-us/training/modules/share-buttons/1-introduction)
    - two options for you to share flows with your colleagues
      - Co-owners have full edit permissions for the flow
      - run-only users can only run the flow
    
  - [Discover button flow connection security](https://learn.microsoft.com/en-us/training/modules/share-buttons/6-security)
    - All flows, including button flows, use connections. The security of connections can be viewed through a flow or the connector


##### Use best practices to secure and govern Microsoft Power Platform environments
勉強材料：https://learn.microsoft.com/en-us/training/paths/best-practices-environments/

- [Introduction to Microsoft Power Platform security and governance](https://learn.microsoft.com/en-us/training/modules/security-governance-intro/)
  - [Data Loss Prevention policies](https://learn.microsoft.com/en-us/training/modules/security-governance-intro/3-data-loss-prevention)
    - Data Loss Prevention (DLP) policies are like safety rules for your connectors in Power Apps and Power Automate
      - hey let you decide which connectors can talk to each other and which can't.
      - DLP policies as sorting connectors into three groups: Business, Non-business, and Blocked.
    - Administrators cannot restrict access to the default environment. Otherwise, users are likely to create resources outside of the visibility of administrators, which will mean that admins will no longer have any visibility or control of those resources.

  - [Microsoft Power Platform Center of Excellence Starter Kit](https://learn.microsoft.com/en-us/training/modules/security-governance-intro/4-center-of-excellence-starter-kit)
    - Microsoft Power Platform Center of Excellence (CoE) Starter Kit is a set of apps, flows, custom connectors, and a Power BI dashboard that allows organizations to govern their Microsoft Power Platform environments.
      - It's useful for two types of people: Cyber Security analysts and folks interested in Organizational Change Management (OCM).
      - The DLP Editor V2 app, found within the Center of Excellence Starter Kit, includes functionality that detects if a pending change to a DLP policy breaks existing apps.

- [Plan and manage your Microsoft Power Platform environment](https://learn.microsoft.com/en-us/training/modules/plan-manage-environment/)
  - [Prerequisites for Microsoft Power Platform DLP](https://learn.microsoft.com/en-us/training/modules/plan-manage-environment/2-prerequisites)
    - DLP prerequisites follow a similar pattern, depending on whether you're trying to set an environment or tenant-scoped DLP policy.
      - To establish an environment-wide DLP policy, the person who is creating the DLP policy must be an environment or tenant admin.
      - When creating a tenant-wide DLP policy, the person who is creating the DLP policy must be a tenant admin.
      - For additional prerequisite information on managing DLP policies, refer to Microsoft's in-product documentation for Power Automate.

- [Get started with Microsoft Power Platform Center of Excellence](https://learn.microsoft.com/en-us/training/modules/get-started-center-excellence/)
  
- [Manage solutions in Power Apps and Power Automate](https://learn.microsoft.com/en-us/training/modules/manage-solutions-power-automate/)
  - [Introduction](https://learn.microsoft.com/en-us/training/modules/manage-solutions-power-automate/1-introduction)
    - Solutions allow you to package features, such as apps in Microsoft Power Apps (canvas and model-driven), site maps, flows, entities, forms, custom connectors, web resources, choices, charts, and fields, to transport from one environment to another.

  - [Automate solution management](https://learn.microsoft.com/en-us/training/modules/manage-solutions-power-automate/6b-automate-solution-management)
    - Application Lifecycle Management (ALM)

- [Implementation recommendations for Microsoft Power Platform environments](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/)
  - [Use DLP data groups to protect important data](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/3-default)
    - To control the flow of sensitive information, you can create rules to permit or prevent connectors from communicating with each other
    - DLP Policies allow you to assign connectors to one of three data groups to accomplish this task.
      - Business - Connectors that are processing business-related data.
      - Non-business (default) - Connectors that don't support valid business use cases.
      - Blocked - Connectors that are not to be used.

  - [Recommended DLP policy settings for the default environment](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/4-implement)
  - [Recommended DLP policy settings for Dynamics 365 environments](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/5-customer-experience)

  - [Use Flow for directional data governance](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/6-directional-data)
    - have data coming from outside sources through connectors, and this data goes into services that hold your important business information. When it comes to Data Loss Prevention (DLP) policies, they usually require both these connectors to talk to each other

  - [Manage HTTP connectors with a DLP policy](https://learn.microsoft.com/en-us/training/modules/implementation-recommendations/8-http)
    - HTTP triggers and actions are considered built into Microsoft Power Platform and by default, don’t appear as connectors in the DLP policy editor.
    - These triggers/actions can only be managed in DLP policies that have a schema version

- [Manage Power Virtual Agents](https://learn.microsoft.com/en-us/training/modules/implement-power-virtual-agents/)
  - [Introduction](https://learn.microsoft.com/en-us/training/modules/implement-power-virtual-agents/1-introduction)
    - Microsoft Power Virtual Agents lets you create smart chatbots using AI

  - [Bot topics permissions](https://learn.microsoft.com/en-us/training/modules/implement-power-virtual-agents/3-bot-topics)
    - Topics are the no-code way to create discrete conversation paths
    - Topics are siloed in each bot and can't be shared, even if they're part of the same environment

  - [Bot entities and flow permissions](https://learn.microsoft.com/en-us/training/modules/implement-power-virtual-agents/4-bot-entities)
    - Power Virtual Agents chatbots come with prebuilt entities that are provided by the system and help the bot identify common information
      - Chatbot in the environment don't have access to the tables that they see in the same environment in Microsoft Power Apps or Power Automate.
      - the only option to connect with tables is by using Power Automate flow

- [Manage environmental changes in Microsoft Power Platform](https://learn.microsoft.com/en-us/training/paths/best-practices-environments/)

- [Use templates to enforce governance policies in Microsoft Power Platform](https://learn.microsoft.com/en-us/training/modules/templates-governance-policies/)