Part – 1 Make Power Apps Custom Controls Form Responsive Using Containers

What is the responsive Power App form?

Responsive Power App forms are made to be viewed and interacted with on a variety of devices, offering a consistent and intuitive user experience irrespective of screen size or quality. This is achieved using features and design strategies. Usually, responsive design concepts and Power Apps’ ability to dynamically optimize the form layout are used to achieve this adaptability.

Essential Steps for Implementing Responsive Applications

Follow these steps to set up the form responsiveness:

1. Open the power apps and click on the setting.

2. Go into the display settings and turn off the “Scale to fit” Make sure that “Lock Orientation” and “Lock Aspect ratio” are disabled.

 

img-01

 

Responsive Form with individual controls.

Step 1: Click on the “Insert” icon and add the Text label property as shown in the below image. And Adjust label name according to the requirement and adjust the height and width of the label. Also changes the text as per the requirement.

 

img-02

img-03

 

Step 2: Select the “Insert” button displayed in the image below and opt for the Vertical Container.

  • We utilize the vertical container to arrange all controls sequentially, facilitating the submission of records into the data source. This arrangement allows for multiple controls to be organized vertically on the screen, enabling a smoother process for submitting records.

 

img-04

 

Step 3: Adjust the container’s X and Y position according to specific requirements. This flexibility allows for customization based on individual needs. Set the following steps based on your unique requirements.

  • X position is 0
  • Y Position is Lbl_Screen_Header.Y +Lbl_Screen_Header.Height

img-05

 

Step 4: Adjust the width and height of vertical container to fit the entire screen area. Ensure that the height and width adjustments align with the screen dimensions for optimal utilization.

Width: App.Width

Height: App.Height – Lbl_Screen_Header.Height

 

img-06

 

Step 5: Place a horizontal container within the vertical container to build the form with labels followed by text inputs in two parallel columns. This design will allow labels to be displayed side by side with text input areas, thus generating two columns within the form.

  • When the horizontal container is added within the vertical container, it has the same width and height as the vertical container. Disable the Flexible Height option and provide a specific height based on our requirements. Set the height to 80 in this example to meet our specific needs.

img-07

 

Step 6: Insert a label named “Employee Name” and a text input field for the employee’s name within the horizontal container.

  • Adjust the label control properties as below.
  • Flexible Width: Turn On.
  •  Align in Container: Custom and Stretch.
  • Ensure that for the label, the flexible width is enabled, and align it within the container by stretching it to match the container’s height, as illustrated in the provided image. Additionally, add another label named “Position Title” along with its respective text input, aligning them accordingly within the container.
  • While adding the text label, ensure the selected option for alignment within the container is set to “Stretch.” For all text input controls,

 

img-08

 

  • While adding the text input label, ensure the selected option for alignment within the container is set to “Center.” For all text input controls.

img-09

 

Step 7: Apply left and right padding to the container according to the desired outcome, ensuring that all controls are centered. Utilize the gap property to adjust the controls uniformly. Upon applying the Wrap property enable, the controls might shift upwards; thus, adjust the vertical alignment to center them based on the image provided.

  • Padding Left and Right: 30
  • Wrap toggle: On
  • Align (Vertical): Center

img-10

 

Step 8: Implement logic for the height of the horizontal container based on screen sizes denoted by specific numbers:

  • Mobile: Size 1
  • Tablet: Sizes 2 and 3
  • Desktop: Size 4

The current static height provided for Container 3 is 80. Adjust the logic for the horizontal container’s height considering these screen size specifications.

1| If(Screen1.Size<4,Lbl_EmployeeName.Height +TextInput_EmployeeName.Height +Lbl_PositionTitle.Height+Txtinput_PositionTitle.Height + 35,80)

img-11

 

Step 9: Upon minimizing the browser window, observe how all controls automatically adapt and adjust according to the screen size, ensuring optimal responsiveness.

 

img-12

 

Step 10: To incorporate additional controls like the ones above, insert another horizontal container within the primary vertical container. Subsequently, add corresponding labels and text inputs as per your specific requirements to maintain consistency with the existing setup.

 

img-13

Connecting to SharePoint Online using Managed Identity

When automating tasks in Microsoft 365, it’s best to avoid logon IDs and passwords.

The best practice is to use the least privileges and function in a zero-trust environment.

The ideal approach is to use a Managed Identity with the Sites.

Selected application scope, some approaches use a Sites.

Selected scope with an App Registration and Service Principal, but the best approach is to use Managed Identities for identity management in automation.

Approach 1: Connecting to SharePoint Online using Managed Identity with Granular Access Permissions

Microsoft Graph and SharePoint Online support some granular access permissions using Sites.

Selected application scope in Graph and app access role permissions in Site collections. It even works with Managed Identities.

The Sites selected application scope was added to Microsoft Graph a while back to enable granular app access permissions within SharePoint Online.

With this scope, one can grant application access to specific SharePoint Online site collections instead of granting access to all site collections in the tenant.

Managed Identities is a way of providing identities to Azure resources without any App credentials like certificates or client secrets involved.

The prerequisites:

Needed the following resources for setup:

  • A Logic App with a System Assigned Managed Identity.
  • A SharePoint Site with a SharePoint list populated with a few columns and items.
  • Access to grant Microsoft Graph application scopes and SharePoint site permissions.

A Logic App with a System-assigned Managed Identity:

Once the System assigned Managed Identity is enabled on the Logic App, Note down the Object (principal) ID for the Managed Identity (guid e8800382-610d-4761-9b15-873065e53227) – which will be used to grant Sites. Selected application scope in Microsoft Graph.

Blog-Post-01-02

Blog-Post-01-03

Visiting the Enterprise Application blade in the Azure AD Portal, select the recently created Managed Identity object and noted down the Application ID for the Managed Identity (guid 827fc69f-2814-44d7-96bc-492f2bf21c83) – which will be used to grant permission within the SharePoint site.

Application Id

Create a Team site with the name Test Team Site, which generated a SharePoint site, and added a SharePoint List with the name OrderList with necessary columns and a few items.

Grant Application Scope in Microsoft Graph

Use Microsoft Graph PowerShell SDK to grant the Sites. Selected application scope in Microsoft Graph.

$ObjectId is set to the guid value of Object (principal) ID for the Managed Identity noted down earlier.
 
# Add the correct ‘Object (principal) ID’ for the Managed Identity

$ObjectId = “e8800382-610d-4761-9b15-873065e53227”
 
# Add the correct Graph scope to grant

$graphScope = “Sites.Selected”
 
Connect-MgGraph -Scope AppRoleAssignment.ReadWrite.All
 
$graph = Get-MgServicePrincipal -Filter “AppId eq ‘00000003-0000-0000-c000-000000000000′”
 
$graphAppRole = $graph.AppRoles | ? Value -eq $graphScope
 
$appRoleAssignment = @{
 
    “principalId” = $ObjectId
 
    “resourceId”  = $graph.Id
 
    “appRoleId”   = $graphAppRole.Id
 
}
 
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $ObjectID -BodyParameter $appRoleAssignment | Format-List
 
Running the Powershell code produced the following output in the console, indicating that the scope was successfully granted.
 
AppRoleId: 883ea226-0bf2-4a8f-9f9d-92c9162a727d
 
CreatedDateTime: 14.02.2022 07:45:10
 
DeletedDateTime:
 
Id: 9Uv0TSLb…Yw3xRUH8
 
PrincipalDisplayName: test-team-site-automation
 
PrincipalId: e8800382-610d-4761-9b15-873065e53227
 
PrincipalType: ServicePrincipal
 
ResourceDisplayName: Microsoft Graph
 
ResourceId: 07165e04-89b3-4996-8b1d-a2a225eb5104
 
AdditionalProperties: {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#servicePrincipals(‘e8800382-610d-4761-9b15-873065e53227’)/appRoleAssignments/$entity]}
 
The Managed Identity now has the Sites.
 
Selected application scope in Microsoft Graph, but still requires app access within the specific SharePoint site.
 
Grant App Access to a Specific SharePoint Site
Microsoft Graph PowerShell SDK to grant the Managed Identity app access to the SharePoint site.
 
id in the application hashtable is set to the guid value of Application ID for the Managed Identity noted down earlier.
 
# Add the correct ‘Application (client) ID’ and ‘displayName’ for the Managed Identity

$application = @{
 
id = “827fc69f-2814-44d7-96bc-492f2bf21c83”
 
displayName = “test-team-site-automation”
 
}
 
# Add the correct role to grant the Managed Identity (read or write)

$appRole = “write”
 
# Add the correct SharePoint Online tenant URL and site name

$spoTenant = “tenant.sharepoint.com”
 
$spoSite  = “TestTeamSite”
 
# No need to change anything below

$spoSiteId = $spoTenant +:/sites/+ $spoSite +:”
 
Import-Module Microsoft.Graph.Sites
 
Connect-MgGraph -Scope Sites.FullControl.All
 
New-MgSitePermission -SiteId $spoSiteId -Roles $appRole -GrantedToIdentities @{ Application = $application }

Running the Powershell code produced the output of a permission ID in the console, indicating that the permission was successfully granted.

The Logic App’s Managed Identity should now have enough permissions to both read and write the SharePoint List items via Microsoft Graph.

Configure Logic App to Retrieve SharePoint List Items

I went back to the Logic App and the Logic app designer blade and added a new action step.

  • Connector: HTTP
  • Method: GET
  • URI: https://graph.microsoft.com/v1.0/sites/<tenant>.sharepoint.com:/sites/TestTeamSite:/lists/OrderList/items?$select=id,webUrl,fields,createdDateTime&$expand=fields($select=Title,Owner,Description,AutomationCompleted)&$top=999
  • Authentication
    • Authentication type: Managed Identity
    • Managed identity: System-assigned managed identity
    • Audience: https://graph.microsoft.com

Save the new configuration and triggered the Logic App. And behold – status code 200 and a response body with the list items!

Blog-Post-01-05

Success! The Logic App is able to work with data in SharePoint Online sites authenticating with its least-privileged Managed Identity, but only for sites it is specifically granted app access to.

Now you know how to utilize Sites. Selected application scope and app access roles in SharePoint Online to grant least-privileged access for automation processes using Managed Identities. This aligns with many SharePoint security best practices that focus on minimizing surface exposure while maintaining efficiency.

For further assistance or to explore tailored SharePoint Development Services, consider consulting a reputable company like Reality Tech.

Additional Read

The Ultimate Guide to Using SharePoint for End Users!

Approach 2: Registering the Azure App for SharePoint Online

Procedure

  1. Log on to the Azure portal (https://portal.azure.com/) using your global admin user account.
  2. Go to Azure Active Directory.
  3. In the navigation pane, click App Registrations.
    The App Registrations page appears.
  4. Click New Registration.
    The Register an application screen appears.
  5. In the Name box, type a name for the app.
  6. Under Supported account types, select Accounts in this organizational directory only (tenant_prefix – Single tenant).
  7. To verify the status of the app and to authorize the app from the Command Center, under Redirect URI, enter the Command Center URL.
    For example, enter https://host_name.domainname.com/commandcenter.
  8. Click Register.
  9. Copy and paste the following values in a document that you can access later:
    – Application ID
    – Directory ID
    You will enter these values in the Commvault software when you complete the Office 365 guided setup.
  10. In the navigation pane, click API permissions.
  11. Click Add a permission.
  12. Click Microsoft Graph and complete the following steps:
    – Click Application permissions.
    – Select the User. Read permission.
  13. Click Add Permissions.
  14. Click Grant admin consent for tenant_name.
  15. Click Yes.
  16. In the navigation pane, click Certificates & secrets.
    The Certificates & secrets page appears.
  17. Click New client secret.
    The Add a client secret dialog box appears.
  18. Enter a description, and then select the maximum value.
  19. Click Add.
  20. Copy and paste the client’s secret value in a document that you can access later.
    You will enter this value in the Command Center when you complete the Office 365 guided setup.
  21. To assign full permissions to the tenant to back up SharePoint sites, in your browser, go to the tenant URL.
    For example, go to https://<office_365_tenant_URL>/_layouts/15/appinv.aspx. The SharePoint admin center page appears.
  22. In the App ID box, enter the application ID that you recorded earlier, and then click Lookup.
    In the Title box, the name of the application appears.
  23. In the App Domain box, type tenantname.onmicrosoft.com.
    To get the correct domain name, go to the Microsoft Azure website, Custom domain names.
  24. In the App’s Permission Request XML box, type the following XML string:
    <AppPermissionRequests AllowAppOnlyPolicy=”true”><AppPermissionRequest Scope=”http://sharepoint/content/tenant” Right=”FullControl” /><AppPermissionRequest Scope=”http://sharepoint/social/tenant” Right=”Read” /></AppPermissionRequests>
  25. Click Create.
  26. Click Trust It.

Start Your SharePoint Project in a Click

Our technology and wide delivery footprint have created billions of dollars in value for clients globally and are widely recognized by industry professionals and analysts.

 

 

Maximizing Data Efficiency: Comprehensive Guide to Exporting Power Bi Data to Excel

In the dynamic landscape of data analytics and business intelligence, the seamless integration between Power BI and Excel has become indispensable. Organizations leveraging these powerful tools benefit from enhanced data visualization, analysis, and collaboration. In this comprehensive guide, we delve into the intricacies of exporting Power BI data to Excel, unlocking a world of possibilities for data-driven decision-making.

Understanding the Dynamics: Power BI and Excel Synergy

Power BI, Microsoft’s robust business analytics service, empowers users to visualize and share insights across their organization. On the other hand, Excel remains a cornerstone for data manipulation and analysis. The synergy between these two tools amplifies their individual capabilities, offering a unified solution for end-to-end data management.

Unleashing the Power of Export: Step-by-Step Guide

1. Initiating the Export Process

To export your Power BI data to Excel, follow these steps:

  • Open your Power BI report or dashboard.
  • Identify the specific data set you want to export.
  • Navigate to the ellipsis (…) menu on the visual or table.
  • Select “Export data” and choose “Excel” as the desired format.

 

img-01

 

2. Choosing Export Options

Understanding the export options ensures tailored results:

  • Summary Data: Opt for summary data export for a high-level overview.
  • Detailed Data: Choose detailed data export for granular insights.

3. Data Formatting and Cleansing in Excel

Upon export, Excel provides a platform for further data refinement:

  • Formatting Tools: Leverage Excel’s formatting tools for enhanced visual appeal.
  • Data Cleansing: Address inconsistencies or outliers within Excel for data accuracy.

Overcoming Common Challenges

1. Handling Large Datasets

Exporting extensive datasets can be challenging, but strategic approaches mitigate issues:

  • Data Chunking: Divide large datasets into manageable chunks for efficient export.
  • Utilizing Power Query: Leverage Power Query to filter and refine data before exporting.

2. Managing Data Relationships

Maintaining data relationships between Power BI and Excel is crucial:

  • Consistent Naming Conventions: Ensure uniform naming conventions for seamless data integration.
  • Update Mechanisms: Regularly update data to reflect real-time changes.

Realizing the Business Impact

The seamless export of Power BI data to Excel translates into tangible business benefits:

  • Enhanced Decision-Making: Access detailed insights in Excel for informed decision-making.
  • Collaborative Analysis: Facilitate collaborative data analysis among team members.
  • Streamlined Reporting: Generate customized reports in Excel for diverse stakeholders.

Conclusion – In conclusion, mastering the art of exporting Power BI data to Excel empowers organizations with a holistic approach to data management and analysis. The symbiotic relationship between these Microsoft tools opens avenues for efficient decision-making and collaborative insights.

Creating Logs for Every Action in Power Automate

The process of “creating logs for Power Automate instances” involves systematically recording and archiving essential information about each step and action taken during the execution of automated workflows. This comprehensive log becomes an asset, offering users insights into the intricacies of their workflows, enabling efficient troubleshooting, and facilitating performance analysis.

In this blog post, we explore the significance of creating logs for Power Automate instances and how it transforms into a practice for users seeking a deeper understanding of their automated processes. Imagine having a detailed record of when a workflow starts, the events that trigger its execution, the data it processes, and the outcomes it produces—all neatly documented for reference. This level of visibility not only enhances troubleshooting capabilities but also empowers users to optimize and refine their workflows for peak efficiency.

Step: 1 First Add the “When an item is created action and add the Site Address and List Name.

 

img-01

 

Step: 2 Next, add another Compose action to retrieve the workflow URL. Add the expression for get the URL in SharePoint Online.

We need to concat following string in the compose action

String 1: Environment URL (Region needs to be changed as per tenant configuration)
https://asia.flow.microsoft.com/manage/environments

String 2: Environment Name
workflow().tags.environmentName

String 3: “Flows”

String 4:WorkFlow Name
workflow().name

String 5: “Runs”

String 6: Workflow Run Name:
workflow().run.name

concat(‘https://asia.flow.microsoft.com/manage/environments/’, workflow().tags.environmentName,’/flows/’, workflow().name, ‘/runs/’, workflow().run.name)
img-02
Step: 3 Add the “Create Item” action and include the site name and site URL for when users want to upload logs to the list in SharePoint Online.
Title: Include the dynamic “Title” obtained from the “When an item is created” action.
WFItem URL: Add the dynamic value “Output” obtained from the “Compose 2” action.
Stage: Here is the manually added “Pending by Stage 1.”
Assigned To: Enter the Assigned To user email.
Associated List ID: Add the dynamic “ID” obtained from the “When an item is created.”
Status: Include the dynamic “Status Value” obtained from the “When an item is created.”
Created By Original Claims: Add the dynamic “Created by Claims” obtained from the “When an item is created.”
Modified By Original Claims: Add the dynamic “Modified by Claims” obtained from the “When an item is created.”
img-03
Step: 4 Add the “Start and wait for approval” action.
  • Approval type: Add the approval type which you want to choose in the choice value.
  • Title: Added the Title
  • Assigned to: Added the username which you want to send for approval.

 

img-04

 

Step: 5 Next, include the condition action and add the dynamic “Outcome” obtained from the “Start and Wait for Approval” action. Ensure it is equal to “Approve,” as shown in the screenshot below.

 

img-05

 

Step: 6 Again, add the “Create Item” action in both sides “If Yes” and “If No.”

Approve By Display Name: Add the dynamic content “Responder display name” obtained from the “Start and Wait for Approval” action. This action is automatically applied in the “Apply to each” loop.

Comments: Add the dynamic content “Responses Comments” obtained from the “Start and wait for Approval” action.

 

img-06

 

Step: 7 Create a new entry in the SharePoint list and verify the flow.

  • Below is a screenshot of the Workflow History list, where we create a log. It displays all the column values that we add in the “Create Item” action in Power Automate.

 

img-07

How to Create a Word Document From a Template in Power Automate

In Microsoft’s Power Automate, crafting dynamic and personalized Word documents through templates has become a streamlined process. Let’s start the detailed steps that illuminate the path to seamlessly generating these documents using Power Automate.

Crafting Your Word Template

Step 1: Activating the developer option

To begin, open up your Office Word application. Navigate to the “File” tab, then click on “Options.”

img-01

 

This leads to the “Customize Ribbon” tab, where you activate the “Developer” option by checking the designated box. This action grants access to the Developer tools on the application’s homepage tab.

img-02

Step 2: Incorporating Dynamic Content

Enabling the Developer option facilitates the use of the “Insert Plain Text” control, allowing the inclusion of dynamic content. Then after Create a template according to your needs.

img-03

 

(Highlighted is the “Insert Plain Text” option)

Utilize this tool to add fields, such as “Name,” for dynamic content within your Word template. Navigate to Developer, select the text you wish to make dynamic, and click on the Highlighted Icon for the desired effect.

img-04

 

Step 3: Uploading to SharePoint

Once your template is created, ensure to upload it to the SharePoint library for accessibility and seamless integration.

img-05

Developing a Flow in Power Automate

Step 1: Setting Up the Flow

After uploading the template, configure a manual trigger flow. Incorporate necessary fields, like the person’s name, ensuring you’re effectively setting the stage for dynamic input.

img-06

 

Step 2: Populating the Word Template

In the ‘Manually trigger a flow’ section, include the action called “Word.” Then, select ‘Word online (Business),’ where you’ll find the “Populate a Microsoft Word template” action.

img-07

(Search for “word”)

img-08

(Select action called “Populate a Microsoft Word template”)

Select “Populate a Microsoft Word template” action and Put in the important info about where your Word template is in SharePoint. Then, pick the Document library and select the template file. Use the manual trigger field to keep things changing.

img-09

(Consult this step for the action called “Populate a Microsoft Word template”)

Next, choose ‘Create file’ action and where you want to keep the new Word files created. You can even give them a special name like “Offboard_Employeename.”

img-10

(Consult this step for create file)

Step 3: Initiating the Flow Manually

Once the flow is set, manually initiate it. This prompts the input of the person’s name, seamlessly integrating the dynamic element into the document.

img-11

 

Step 4: Generating the Word File

Upon execution, witness the magic as the file, named as per the flow, is automatically generated in the SharePoint document library. Open the Word document to observe the dynamic change, showcasing the effectiveness of Power Automate.

img-12

(Generated File the SharePoint document library)

 

img-13

(Updated Content of Word File)

Conclusion – Creating Word documents from templates within Power Automate empowers users to streamline and personalize their document creation process. By following these steps, one can harness the full potential of Power Automate’s capabilities in generating dynamic and customized documents effortlessly.

Power Apps Modern Controls

The controls in canvas applications now come with a modern touch. These controls make it easier for creators to set up, offering a quicker and more straightforward configuration process.

At the same time, they enhance the overall experience for end-users by providing a seamless interface.

The design of these contemporary controls prioritizes accessibility, user-friendliness, and performance, resulting in visually appealing, highly functional, and easily understandable elements.

To complement these controls, there’s a newly introduced theming system that aligns with the Fluent 2 design framework. This system allows centralized adjustments to the visual appearance and atmosphere of an application.

Power Apps Modern Controls are still in the preview feature, so we will have to activate it manually from the Power Apps settings.

Go to the any Power Apps Settings and click on “Upcoming features”.

Inside the “Preview” tab, toggle the switch for “Try out the modern controls” to the “On”.

img-01

To view a list of all modern controls, navigate to the app authoring menu and choose “Insert.” From the list of controls, select “Modern”.

img-02

On the app authoring menu, select > Themes.

Choose one of the six default themes from the Themes pane.

  • You can quickly change the visual presentation of your application by applying modern themes—pre-established collections of styles that influence the user interface. These themes follow Microsoft’s Fluent design language, adjusting various style elements like color, typography, borders, and shadows in a cohesive and aesthetically pleasing manner. This modern theming approach streamlines the customization process, allowing creators to easily design a visually harmonious and unified application.

img-03

Follows a structured approach with a predefined layout and components. Components are automatically generated based on the data model, providing a consistent user interface. It suits scenarios where data and business processes are the primary focus.

Concept: Utilizes pre-built components based on Microsoft’s Fluent design system, offering a consistent and user-friendly experience.

Data Sources: Primarily focuses on the Common Data Service, although some integrations with other sources are possible.

Automatically generates the user interface based on the underlying data model.

Tightly integrates with the Common Data Service (CDS), providing a unified and structured data source.

Suitable for scenarios where the focus is on data-driven applications with predefined entities and relationships.

Modern controls and theming are default in preview: Before the end of this year, all new apps built in make.preview.powerapps.com (and in the preview environment) have modern controls enabled by default as a control set. The opt-in setting is still part of the general tab and can be switched off if required.

Fluent icons: Makers can add standalone icons. They can also add an icon on the button.

Automatically generates the user interface based on the underlying data model.

Modern controls

Badge – A badge is a visual decoration for UI elements.

A Power Apps badge, referred to as an informational token, presents brief details like a user’s task indicator. Typically, it provides a quick way to check notifications or important messages without the necessity of reading through extensive text.

  • Content: This refers to the text displayed inside the badge control.
  • Content Language: It defines the audience’s language (e.g., “en-US”).
  • Shape: There are three different badge shapes available, including:

img-04

 

Header – A control that creates a modern app header.

The Header control serves as a crucial element, streamlining the user interface design for a standard app.

With minimal setup, this control seamlessly integrates with themes utilizing modern theming and dynamic responsiveness, automatically adapting to the dimensions of the parent container or app.

It accommodates a logo and a page title and displays the user picture, all while providing various distinctive styling options.

img-5

 

Tabs or Tab List: Select a tab to navigate screens or take actions within the app.

The Power Apps tab list control displays a series of tabs, each representing a distinct section or page within an app. Its primary purpose is to facilitate seamless navigation between related content, allowing users to effortlessly switch between different views or modes.

Date Picker: This new control surpasses the classic date control, offering a more user-friendly UI and improved UX. A notable feature includes the ‘go to today’ option, which is truly impressive. Navigating to any year or date is easy—simply click on the ‘go to today’ option, and it will bring you to the current date.

img-06

Progress Bar: This control provides options such as success, warning, and, most importantly, “Indeterminate,” where the progress bar keeps loading continuously, resembling buffering. All other properties are similar to the slider (classic control).

img-07

Conclusion: PowerApps Modern Controls represents a potent and innovative tool, empowering you to craft modern and engaging applications with enhanced features and functionalities.

Extracting News Post Images in Emails with Power Automate Flow

This solution is used to display images of news banner images in Outlook desktop when sending news communication over email.

There are six ways to upload images for a news banner:

  1. Stock Images: When uploading images using stock images, we can view them in the Outlook web version and desktop version without any changes.
  2. Web Search: When uploading images using web search, they can be seen in the Outlook web version, but these images do not show in the desktop version.
  3. One Drive: When uploading images using OneDrive, only the user with access to that specific OneDrive can see the image in the Outlook web version and desktop version.
  4. Site: When uploading images from the SharePoint site, they can be seen in the Outlook web version, but these images are not displayed in the desktop version.
  5. Upload: When uploading images from the desktop, they can be seen in the Outlook web version, but these images do not display in the desktop version.
  6. From a Link: When uploading images using a link, if the image link is copied from a running site, the image can be seen in the Outlook web version, but it does not show in the desktop version. If the image link is copied from another SharePoint site, the image cannot be seen in both the Outlook web version and the desktop version.

These are steps to see the images in Outlook Desktop.

Step 1: Select the trigger “Get files (properties only)”, then choose the SharePoint site address and library name.

img-01

Step 2: Then added the “Compose” action. Add the Banner Image URL in the compose inputs. Once the banner image URL compose action is added, it will automatically add the apply to each action.

img-02

Step 3: Then added another “Compose” action. Input the output from the previous compose action with the ‘decodeUriComponent’ expression in the compose input field.

Decode URI Component” in Power Automate reverses URL encoding, converting encoded URI components back to their original human-readable form for accurate data interpretation or manipulation within the flow.

img-03

 decodeUriComponent(outputs('BannerImageURL'))

Step 4: Then added another “Compose” action. Input the output from the compose action (BannerImageURL ) with the ‘uriPathAndQuery’ expression in the compose input field.

img-04

Value of the above action:

uriPathAndQuery(outputs('BannerImageURL')

Step 5: Select the ‘Send HTTP request to SharePoint’ action.

  1. Add the site address
  2. Add the method as a GET
  3. In the URI, add the substring expression with the output of (URIPathAndQuery) composed action.

img-05

Value of the above action:

substring(outputs('URIPathAndQuery'),1)

Step 6: Then added another “Compose” action. In the input add body of the “Send an HTTP request to SharePoint” action.

img-06

Step 7: Then added another “Compose” action. In this compose we get the content type from the “Send an HTTP request to SharePoint” actions body.

img-07

Value of the above action:

outputs('Send_an_HTTP_request_to_SharePoint')?['body']['$content-type']

Step 8: Then added another “Compose” action. In this compose we get the content from the “Send an HTTP request to SharePoint” actions body.

img-08

Value of the above action:

outputs('Send_an_HTTP_request_to_SharePoint')?['body']['$content']

Step 9: Then added another “Compose” action. After the data add output of (“Compose-ContentType”) and after base64 add output of (“Compose-Content”) action.

img-09

Step 10: Added action Send an email.

Add the email address of the user

Add subject

Add the output of (“Compose – ImageURL”) in the body.

img-10

Output after running this flow

img-11

Step 11: The setup of the flow concludes in just a few simple steps.

img-12

Conclusion

Making news images show up properly in Outlook emails involves different ways of adding these pictures. However, each method affects how they appear on both the web and desktop versions differently. To see these images correctly in Outlook on your computer, we follow a step-by-step process.

This includes things like converting web addresses to show the right images, asking SharePoint nicely for the pictures, and figuring out what type of images they are. Finally, we put all this together and sent an email with the image link so that it shows up the way we want in Outlook. It might sound technical, but with these steps, we ensure that the images appear just right when you open your email in Outlook.

SharePoint Premium

Presenting SharePoint Premium: Revolutionizing Content Management and Experiences with AI Technology

SharePoint, recognized as the largest and most versatile cloud content management platform worldwide, plays a pivotal role in supporting Microsoft 365 applications like OneDrive, Teams, Syntex, Viva, Loop, Stream, and the newly introduced Microsoft 365 Copilot. The content from SharePoint serves as a primary foundation for your interactions within Copilot, underscoring its importance that extends beyond its basic features.

SharePoint vs. SharePoint Premium?

SharePoint

  • SharePoint stands out as the most widely used, largest, and exceptionally versatile cloud tool for content management on a global scale.
  • With 300 million monthly active users and a staggering upload of 2 billion new documents daily.
  • SharePoint serves as a content management platform, allowing you to host and manage content. Utilizing SharePoint empowers you to create sophisticated applications extending beyond Microsoft 365, all while maintaining fully managed and controlled content within your organization’s trust boundary. This flexibility spans from no-code solutions to fully managed implementations.

Why Need of SharePoint Premium

SharePoint Premium is an upgraded version of Microsoft’s popular collaboration platform, SharePoint, infused with AI, automation, and advanced security features to address the growing content management needs of organizations. Here are some key reasons why someone might choose SharePoint Premium:

  • Enhanced Content Experiences:
    • Streamlined file collaboration: Foster seamless co-authoring and document management with features like versioning, locking, and real-time updates.
    • Intelligent search: Find what you need quickly and easily with AI-powered search capabilities that understand context and intent.
    • Leverage AI to understand your content, surface relevant information, and personalize user experiences.
  • Boosted Productivity:
    • Automated workflows: Reduce manual tasks and streamline processes with automated workflows triggered by specific events or conditions.
    • Content assembly automation: Automatically generate documents by combining pre-approved content modules, saving time, and ensuring consistency.
    • eSignature integration: Get documents signed electronically quickly and securely, eliminating the need for printing and physical signatures
  • Advanced Security and Governance:
    • DLP (Data Loss Prevention): Prevent sensitive data from being shared or leaked accidentally with data loss prevention policies.
    • Improved access control: Granular permissions and access management ensure only authorized users can access specific content.
    • Content lifecycle management: Manage the lifecycle of your content from creation to deletion, ensuring compliance and information governance.

Overall, SharePoint Premium offers a more intelligent, secure, and productive content management experience compared to the standard SharePoint. Whether you’re dealing with large volumes of content, complex compliance requirements, or simply want to streamline your workflows, SharePoint Premium can be a valuable investment.

Here are some additional points to consider:

  • SharePoint Premium is a paid add-on to your existing Microsoft 365 subscription.
  • The specific features and benefits of SharePoint Premium may vary depending on your subscription plan.
  • It’s essential to assess your organization’s specific needs and requirements before deciding whether SharePoint Premium is right for you.

SharePoint Premium Work:

SharePoint Premium unlocks a treasure trove of features that take content management and collaboration to a whole new level. Let’s dive into some exciting functionalities you can leverage, accompanied by helpful screenshots:

Content platforms must transcend the role of mere file repositories. They should provide sophisticated solutions designed to seamlessly operate with any file, catering to the entire lifecycle of your pivotal and high-value documents.

Initially, we are enhancing the capabilities of our integrated file viewer by extending the influence of Office collaboration. This advancement enables support for an extensive range of over 400 file types. Soon, users will have the ability to incorporate features such as ink, comments, mentions, tasks, and more into any supported file type, mirroring the collaborative functionalities currently enjoyed with Office documents.

img-01

SharePoint Premium introduces innovative solutions tailored for handling high-value documents. The new Business Documents app within Teams allows users to seamlessly engage with contracts, statements of work, orders, invoices, and other important documents. Within the app, users can conveniently access a comprehensive view of the entire list of high-value documents. Additionally, the app provides actionable insights, including timely alerts for contracts that are nearing expiration or require attention. This integration enhances the efficiency and management of critical documents within the collaborative environment of Teams.

gif-1

SharePoint eSignature:

SharePoint eSignature introduces a secure digital transformation for document approval workflows. The general availability of this feature is scheduled to roll out throughout the first quarter of 2024, commencing with tenants in the United States. Notably, if your organization presently employs alternative eSignature services, we are pleased to announce Adobe and DocuSign as our SharePoint eSignature launch partners. Third-party integration with Adobe Acrobat Sign and DocuSign is expected to be generally available in early 2024, providing users with enhanced flexibility in their eSignature choices.

Autofill Columns:

Enable dynamic addition of new columns to a document library using AI, allowing for the automatic population of discovered values.

img-03

PII Detection:

Identify and flag files containing personally identifiable information (PII), including addresses, phone numbers, credit card details, and other sensitive data.

Multilabel Classifier:

Employ a single AI model to automatically set content types and determine the most suitable model for comprehensive data extraction and analysis. This eliminates the need to run multiple models to identify the best match.

Redaction:

Locate and redact specific sensitive information, such as names, addresses, and social security numbers, to ensure the removal of visibility for select confidential details during content viewing.

Content Governance using Data Access Governance (DAG)

Ensuring the appropriate sharing of information is crucial as workloads generate more content. It’s essential to prevent accidental oversharing or exposure of sensitive data in search or Copilot. SharePoint Premium expands traditional IT controls, giving content owners and creators the tools to manage content at scale throughout its lifecycle.

Overshared sites and content pose risks like unauthorized access and operational issues for organizations. Data Access Governance (DAG) insights are valuable in this context. DAG reports provide a comprehensive view of potentially overshared sites, categorized by sharing policy, Teams-connected sites, sensitivity labels, privacy, and more. Notably, sites housing high-value business content are highlighted, as they often require more stringent policies and reviews.

img-04

Safeguarding Collaboration Through Sensitivity Labels Across Microsoft Teams, Microsoft 365 Groups, and SharePoint Sites

Beyond safeguarding documents and emails, sensitivity labels offer protection for content within various containers like Microsoft Teams sites, Microsoft 365 groups (previously Office 365 groups), and SharePoint sites. These labels can be applied to manage settings such as:

  • Privacy (public or private) of team sites and Microsoft 365 groups
  • External user access, external sharing from SharePoint sites
  • Access from unmanaged devices
  • Authentication contexts
  • Default sharing links for SharePoint sites (configuration via PowerShell only)
  • Site sharing settings (configuration via PowerShell only) and default labels for channel meetings.

Safeguarding Collaboration: Implementing Sensitivity Labels Across Microsoft Teams, Microsoft 365 Groups, and SharePoint Sites

Once sensitivity labels for containers are set up, users can view and use them for Microsoft team sites, Microsoft 365 groups, and SharePoint sites. For instance, when making a new team site in SharePoint.

img-01

Once a sensitivity label has been assigned to a site, changing that label in SharePoint or Teams requires specific roles:

  • For a group-connected site: Microsoft 365 group Owners
  • For a non-group-connected site: SharePoint site admin
  • Learn the process of activating sensitivity labels for containers and ensuring label synchronization.

If you haven’t yet enabled sensitivity labels for containers, do the following set of steps as a one-time procedure:

Ensure that this PowerShell snippet is executed with Global Administration privileges.

 
Import-Module AzureADPreview
Connect-AzureAD

#Run the code snippet below if you don't have directory settings
Get-AzureADDirectorySettingTemplate

$TemplateId = (Get-AzureADDirectorySettingTemplate | where { $_.DisplayName -eq "Group.Unified" }).Id

$Template = Get-AzureADDirectorySettingTemplate | where -Property Id -Value $TemplateId -EQ

$Setting = $Template.CreateDirectorySetting()

#Use URL of Your Tenant
$Setting["UsageGuidelinesUrl"] = "https://Tenant.sharepoint.com/_layouts/15/sharepoint.aspx"

$Setting["EnableMIPLabels"] = "True"

New-AzureADDirectorySetting -DirectorySetting $Setting

$Setting.Values

#For existing settings
#$Setting = Get-AzureADDirectorySetting -Id (Get-AzureADDirectorySetting | where -Property DisplayName -Value "Group.Unified" -EQ).id
#$Setting.Values
#$Setting["EnableMIPLabels"] = "True"
#Set-AzureADDirectorySetting -Id $Setting.Id -DirectorySetting $Setting

Once you run this script in Windows PowerShell (run ISE as an Administrator), a pop-up will appear prompting you to input the credentials of the “Global Administrative Account”. Following that, review the highlighted outcome below. (Name: EnableMIPLabels Value: True)

img-02

Optimizing Group and Site Settings: A Configuration Guide

Once sensitivity labels are activated for containers as detailed earlier, you can now establish protection settings for groups and sites within the sensitivity labeling setup. Access Microsoft Purview > Information Protection > Labels > Create Label. You’ll notice that the option for “Group & sites” in the label scope is now enabled.

To access Microsoft Compliance, click here Microsoft Purview

img-03

Next, within the “Define protection settings for groups and sites” page, choose either or both provided options:

  • Adjust the “Privacy and External user access” settings to configure Privacy and External user’s access.
  • Adjust “External sharing and Conditional Access” settings to configure Control external sharing from labeled SharePoint sites and Use Microsoft Endpoint Conditional Access to protect labeled SharePoint sites settings.

img-04

For “Privacy and external user access settings”:

  • Public: Allows anyone in your organization access to the labeled site or group.
  • Private: Limits access to approved members only within your organization.
  • None: Protects content with the sensitivity label while enabling users to adjust privacy settings themselves.

Your chosen setting replaces prior privacy configurations and locks it. Changing requires removing the sensitivity label first. Once removed, the labeled privacy setting remains, and users regain control.

  • External user access: Manages the group owner’s ability to add guests to the group.

img-05

If you’ve chosen External Sharing, proceed to adjust these options:

  • “Control external sharing from labeled SharePoint sites”: Choose from external sharing options like anyone, new and existing guests, existing guests, or only internal users.
  • If your sensitivity label hasn’t been published yet, proceed by adding it to a sensitivity label policy. Users assigned to this policy, encompassing this label, will gain the ability to choose it for sites and groups.

img-06

 

Select this option: If you want to:
Anyone Allow site owners and others with full control permission to share the site with people who authenticate. Allow site users to decide when sharing files and folders to require authentication or allow unauthenticated people to access the item. Anyone links to files and folders can be freely forwarded.
New and existing guests Allow site owners and others with full control permission to share the site with people outside the organization. These people will need to sign in and will be added to the directory. Allow site users to share files and folders with people who aren’t in the organization’s directory.
Existing guests Allow sharing with only people already in your directory. These users may exist in your directory because they previously accepted sharing invitations or because they were manually added. (These users have #EXT# in their user’s principal name.)
Only people in your organization Prevent all site users from sharing any site content externally.

Power Automate Using Copilot

What is Power Automate Copilot?

Microsoft’s Power Automate AI Copilot is a solution designed to streamline complex tasks and procedures.

Its primary function is to utilize artificial intelligence to recognize user queries and provide the best possible results.

To take advantage of the Power Automate AI Copilot, you must have access to a Power Automate environment that is in the United States or Europe through a work or school account that has been granted authorization.

How Copilot Feature Works in Power Automate?

  • Power Automate transcends the conventional workflow design by integrating AI-driven conversations, primarily through Copilot. Seamlessly embedded within Power Automates flow studio, Copilot acts as a guiding force, offering support and direction during the creation or modification of flows.
  • Within Power Automate, Copilot introduces an interactive, conversational element to the flow-building process. Users can engage in open-ended discussions, seeking assistance or clarification while constructing flows. Crucially, Copilot’s natural language processing eliminates the need for specialized knowledge of Power Automate’s intricacies, allowing users to create workflows, from simple processes to complex enterprise-wide procedures.
  • This user-friendly approach ensures inclusivity, enabling users of varying expertise levels to build robust, effective flows collaboratively and confidently with Power Automate’s Copilot.
  • There are many methods to generate the flow using copilot features.
    • This inclusive and user-friendly approach ensures that users, regardless of their level of expertise, can confidently and collaboratively build robust and effective flows with Power Automate Copilot.

Method – 1: Upon accessing Power Automate, you will notice a description box displayed on the homepage, as depicted in the image below.

img-01

Method – 2:  An alternative method is available on the left panel of the homepage where you can select “Create.” This action will prompt the appearance of options on the right side, including the “Describe it to design it” feature, as illustrated in the image below. Subsequently, upon selecting this option, a new window opens allowing you to input your description.

img-02

Example – 1

 Let’s build the onboarding Approval process using Copilot.

Sample Prompt: I want to develop the flow for the onboarding process my requirements is here When new request is created or modified in the SharePoint list, an email is sent to the manager for the approval process. Once the manager approves the request, an email is sent to the HR Admin including email approvers, After the HR admin approves the request, the request status is updated to ‘Completed’, and email is sent to the request creator to be conforming that the request has been completed.

img-03

  • Click on the next button you can see that all required power automates connectors required in the automatically add as show in the below image.

img-04

  • When Click on the ‘Create flow’ button, Power Automate AI Copilot uses its AI development function to find and execute relevant activities, which automatically creates the flow.

img-05

  • When you click the trigger, a pop-up will appear on the left-hand side, prompting you to select the relevant information needed to complete a specific task. The SharePoint trigger “When item is created or Modified” is available in this scenario, and it requires two primary parameters: the site address and the List or Library name. As an example, consider the following:

img-06

  • Similarly, you must include all specific actions, necessary items, and relevant steps required for the onboarding approval process.
  • You may also include actions based on your individual needs by typing into the Copilot function. For example, if you wish to add an “update item” action under a specific condition, enter the following question, as seen below.
    Sample prompt “add the update item action in the condition true then update the status value Pending by Accounting set up”.

img-07

  • If the copilot does not add the certain action, then it’s also provided the suggestion to how you can add the action and performed your task as show in the below image:

img-08

  • If users wish to remove a specific action, they can achieve this by entering the command “Delete the Send an email action” into the AI-generated box. This input serves as an instruction for the artificial intelligence system, prompting it to identify and subsequently eliminate the specified “Send an email” action from the process or workflow. Users can use this straightforward command to communicate their intent to the AI, enabling a seamless and efficient removal of the designated action.

Example – 2

Sample Prompt: I aim to create a workflow where, within the ‘Get Items’ action in a SharePoint list. only item with a ‘Completed’ status are retrieved. Send an email notification will be sent, and a new entry will be generated in a separate SharePoint list.

img-09

Proceed to the next stage by clicking on the “Next” button. Take a moment to attentively observe the smooth integration of Power Automate actions, as they seamlessly become part of the workflow without manual intervention. For a more comprehensive understanding of this process, refer to the visual representation presented in the image below, as indicated by the user in the details box.

img-10

Users can customize conditions and logic based on their preferences. Select the ‘Get Items’ option and open the left-side box to observe the AI (Artificial Intelligence) independently generating a filter query for the ‘completed’ status, as previously mentioned. Additionally, users can include the site and list to establish the connection.

img-11

Users can change the filter query then users write in the AI- generated box and AI changed the filter query which user mention likewise, below example. Users have the option to modify the filter query by entering their specifications into the AI-generated box. The AI will then adjust the filter query based on the users provided.

If users wish to remove a specific action, they can achieve this by entering the command “Delete the Send an email action” into the AI-generated box. This input serves as an instruction for the artificial intelligence system, prompting it to identify and subsequently eliminate the specified “Send an email” action from the process or workflow. Users can use this straightforward command to communicate their intent to the AI, enabling a seamless and efficient removal of the designated action.

img-12

Users have the flexibility to incorporate the action at their preferred location, as demonstrated in the image below. This means that users can choose where within the provided context they would like to add or perform the specified action. The image serves as a visual guide, illustrating the diverse options or possibilities for integrating the action within the given framework.

img-13

Users have a complex task with multiple steps and uses need help understanding how it works. users would write down questions or instructions in the AI system’s input box. The AI would then analyse users input and provide you with a complete explanation of the task, including each step, any dependencies, and any other relevant information users might need to know. This explanation would be tailored to user’s specific needs and would help users understand the workflow in a comprehensive and easy-to-grasp manner.

The preview version of Copilot within Power Automate has certain constraints and boundaries.
  1. Limited Parameterization Support: Copilot’s current functionality might not fill in parameters for all actions, although it is available in certain connectors.
  2. Limited Support for Looping Constructs: Creating looping constructs like ‘Apply to each’ and ‘do until’ has limited support within Copilot.
  3. No Support for Solution Flow Using Connections Instead of Connection References: Copilot does not support using a solution flow with connections instead of connection references. It is recommended to utilize a connection reference instead.
  4. ncompatibility with Personal Microsoft Accounts: Copilot cannot be utilized with personal Microsoft accounts (e.g., someone@live.com). It requires a work or school account like someone@contoso.com.
  5. Language Support: Copilot currently only supports the English language for its models.
  6. A flow may include an unsupported hybrid trigger. Hybrid triggers operate without connections and are manually triggered from outside of Power Automate. Examples of such triggers include actions like selecting an item or selecting a row.

Newsletters