cancel
Showing results for 
Search instead for 
Did you mean: 

Join the discussion

Most Recent
ManishSolanki
Super User
Super User

Check out my post to get target or actual link of a file from the shortcut link (.url) in SharePoint library!

Read more...

EmadBeshai
Super User
Super User

To Convert the Word to PDF you have to follow the below:

  1. As shown below, create the document in OneDrive if it is not already there.
  2. Call the OneDrive File Convert step, pass the file ID from the previous step, and select PDF as the conversion type.

EmadBeshai_0-1716713851609.png

If this post helps you with your problem, please give it a Thumbs Up. 

EmadBeshai
Super User
Super User
wyattdave
Responsive Resident
Responsive Resident

One of the big challenges of understanding why your failed is reading the error message, this one minute fix will show you how to always get the right error message

Read more...

Lucas001
Super User
Super User

Using environment variables for a smoother deployment of PA Flows with a dataflow trigger.

Read more...

trice602
Super User
Super User

Often times there are requests to append file names with a timestamp, customerID, or another identifier when files are created in SharePoint Libraries. This short flow will show you how to do it, step by step.  We will add the date in the following format MM-dd-yyyy to the file name.

Read more...

wyattdave
Responsive Resident
Responsive Resident

There are many reasons a Outlook trigger wont find but I have found a common issues when promoting flows between environments with different mailboxes.

Read more...

Joseph_Fadero
Continued Contributor
Continued Contributor

Have you ever wondered how to automate repetitive chores with Power Automate? You're not by yourself! This article is your one-stop shop for learning the fundamentals before creating your first flow.

Let's take it apart:

 

1. The Spark: Triggers

Think of a trigger as your flow's starting pistol. It is a triggering event.

Examples include receiving a new email, uploading a file to OneDrive, at a specific time interval and seeing a tweet with a specific hashtag.

Think of this: When a new sales leader appears in your CRM, a flow is triggered. The lead is then automatically emailed a welcome message!


2. Actions

Actions are the backbones of your flow. They are the specific actions that occur when the trigger fires the starting gun.

Action Examples: Sending an email notification, generating a project management task, or modifying a database record.

Real-World Use Case: Your flow detects a new email with an attached invoice. It then retrieves invoice information and instantly changes your accounting system.


3. Connecting the Dots: Connections

Connections function like bridges, allowing your flow to interface with a wide range of external services and apps.

Connecting to: Office 365, SharePoint, Twitter, Salesforce, and pretty much any other supported service.

Imagine this scenario: You wish to send out an automatic tweet every time a new blog article is published on your website. Your flow uses a connection to Twitter to make it happen!


4. Flow of Information: Dynamic Content

Dynamic content is the heart of your flow. It is the information sent on by triggers and actions.

Consider: Extracted email subject, sender information, or file attributes such as size and name.

Put It into Action: When a new expenditure report arrives in your mailbox, your flow can extract the total amount from the email and automatically send it for approval.


5. Expressions.

They enable you to manipulate data dynamically, adding a layer of enchantment to flows.

Expression examples include combining text strings, computing dates, and extracting certain sections of text. Let's Get Specific: Use an expression to format a date pulled from a trigger into the exact format required by your calendar app.


6. Making decisions: Conditional logic.

Condition logic is analogous to your flow's "if-then" statements. They allow your flow to select options based on certain criteria.

Conditional examples include: "If the order exceeds $1000, notify the manager via email." Otherwise, continue with the standard processing." Likewise, "If a tweet mentions a specific product, reply with a discount code."

Real-life scenario: When a new client record is entered into your system, utilize condition logic to determine their location and allocate them to the right sales agent.

 

Would you like to see a video demonstration of some of the concepts? Check out the Youtube Channel: CDHQ

Read more...

Rahman1005
Advocate III
Advocate III

Wouldn't it be wonderful if upon your next login to Dynamics, you were promptly informed of significant events that occurred during your absence? Such as leads being assigned to you, opportunities closed by your team, or new cases opened.

Now, all of this is achievable through 'in-app notifications' for Dynamics 365.

Enable the feature within your model driven apps and users will see notifications when they log in, navigate pages or are on a page for more than a minute.

Enable the feature.

  1. Navigate to the maker admin(https://make.powerapps.com/) and open the model-driven app you would like to enable this feature in and select the edit.
  2. Select settings, Navigate to Features and enable 'In-app notifications'.

Rahman1005_0-1711963426510.png

 

After refreshing your browser, you should see the notification bell in your header.

Rahman1005_1-1711963440758.png

 

In this example I am going to create a notification when a new phone call record is created for case, and I am going to show the notification to the case owner. Obviously, you can use any trigger in Power Automate flow to create a notification.
We are going to create an automated cloud flow when creating the new flow. Click ‘+New Flow’ Make sure you name your flow, for my example I called the flow ‘In-App Notification on new call’.
For the trigger I’m going to use the ‘When a row is added, modified or deleted’. The change type is ‘added’ and the table name is ‘phone calls’. My scope is organization (I want this to run for everyone in the organization) and I am going to run this flow as the modifying user. That’s all you have to enter in the trigger step!

Rahman1005_2-1711963469754.png

 

In the next step I am going to get case record.

Rahman1005_3-1711963483971.png

 

In the next step we’re going to create the actual notification in data verse. Click on ‘+New Step’ and select ‘Add a new row’. For “Table name” select the ‘Notifications’ table.

The rest of this step is really about who the notification goes to and what we want to show in the notification.

In the “Title” field I am going to enter “New phone call has been added for your case!!!”. The title field will show in bold in the notification.

In the ‘Body‘ field I am going to enter “A new phone call has been added for your Case Number:” followed by the dynamic content in the case number field of the case that triggered the flow. The data in the ‘Body‘ field will show below the ‘Title‘ field in the notification.

The ‘Data‘ field in the step is a JSON structure to provide a more advanced control over the notification. links, and/or custom icons. However, those make for better notifications.

In the ‘Expiry (seconds)‘ field I will enter the number of seconds after which the notification will be deleted. I am going to set this for 20 minutes, which equals 1200 seconds.

The ‘Icon Type‘ field will allow you to choose an icon to be shown in the notification. There are a few icons you can use out of the box, and it looks like can use a custom icon as well. I haven’t figured out how to do that yet, so I am going to pick the out of the box “Info” icon.

The ‘Owner(Owners)‘ field represents who will see the notification,. Note that I entered /system users first and the dynamic content (Owner(value)) in parentheses.

Lastly you can set a priority and set the toast type to ‘Timed’. That’s all for the flow configuration! Make sure you save your flow and test it to make sure everything works as expected!

Rahman1005_4-1711963502172.png

 

In Content, paste the following JSON. Replace the <entityLogicalName> with the entity name and <recordId> with the GUID of the specific record for which the link needs to be generated.
{

"actions":[

             {

"title": "Open Phone Call",

"data":{

"url": “?pagetype=entityrecord&etn=<entityligicalname>&id=<=recordId>",

"navigationTarget": "newWindow" }

              }

           ]               

}

 

I am going to add a phone call for a case now.

Rahman1005_5-1711963514509.png

 

Rahman1005_6-1711963535186.png

 

After the phone call created, a notification is received along with an action. Clicking on 'Open Phone Call' will open the popup case record.

Rahman1005_7-1711963545046.png

 

After clicking the 'Open Phone call” action, the case record will be displayed in a new window.

 

Rahman1005_8-1711963555584.png

 

Thank you..!

happyume
Multi Super User
Multi Super User

Out of the box, Power Apps supports Regular Expression (or RegEx) matching through in-built IsMatch, Match and MatchAll functions, however this is not natively supported within Power Automate.

Read more...

trice602
Super User
Super User

If you have worked in the Power Automate space long enough, you have probably come across the request "can you turn this webpage into a pdf?"  In this quick step-by-step walkthrough, I will show you how to do this fast!

Read more...

wyattdave
Responsive Resident
Responsive Resident

Summing up or getting an average an array should be easy, but sadly there isn't an out of the box way in Power Automate but there is a way 😎

Read more...

Deenuji
Community Champion
Community Champion

Power Fx is a versatile language known for its simplicity and effectiveness in handling various data operations, including dates. In this blog post, we'll explore how to perform common date-related tasks using Power Fx Formulas in power automate desktop.

Read more...

wyattdave
Responsive Resident
Responsive Resident

With everything moving to solutions I have been finding that sometimes the app user does not have permission to call the flow. This blog explains a workaround to fix it

Read more...

trice602
Super User
Super User

This is a common question I have answered more than once here and it is time to revisit my accepted solution from August of 2023.  In this example, I will show you how you can reference a saved image you want to include as an embedded/inline image and include in a Send an email (V2) action from either OneDrive or SharePoint - the formats are slightly different.  Goes without saying, make sure the permissions on your image allow others to view (if applicable).

 

 

Read more...

wyattdave
Responsive Resident
Responsive Resident

Some API's return a 302 redirect url, which Postman and other web clients automatically follow. Unfortunately its not that easy in Power Automate so here's how to fix it

Read more...

Monika001
Helper I
Helper I

User story: 

Create an access team whenever a new row is added to the Accounts table. Add the creator of the new row and their manager to the access team. Automate this process using power automate flow. 

What is an access team?

Access teams are a type of team that can be created in the Microsoft power platform to enable an extra level of security to your application. Access teams empower us to have a record level of security for our dataverse tables. Now, you might be wondering, when we already have some ways to achieve security in dataverse why use access teams?

Consider a scenario where an Azure Active Directory group has already been established for the purpose of restricting user access to a particular application. However, you do not want everyone in that AAD group to access all the records of that application. That is, you want some people to access only some records based on the ownership of the records. This is where the access group can help. With the help of power automate flows, you can automate to create access teams dynamically.

Read more...

wyattdave
Responsive Resident
Responsive Resident

Everyone has their own particular style when making flows in Power Automate, and that is part of the beauty of being a developer. But development by its very nature is about sharing and learning from others (its why Stack Overflow is probably most visited developer site).

So after making far too many flows, I've pulled together what I think of as the best approach to Power Automate (and many other RPA tools), and it's called the 'Direct' methodology.

Read more...

Rahman1005
Advocate III
Advocate III

Adaptive Cards are self-contained user interface components that transcend platform boundaries. Crafted in JSON format, these snippets of UI can be seamlessly exchanged between applications.

Upon reaching a particular application, the JSON content is dynamically rendered into native UI elements, seamlessly blending with the app's aesthetic. This approach facilitates the creation and seamless integration of lightweight UI elements across diverse platforms and frameworks.

User Story:

We're preparing to implement a leave approval workflow in Teams utilizing adaptive cards. Employees will submit their leave requests, and line managers will receive notifications within Teams.

Step 1 – Design the Adaptive Card

Prior to establishing the flow, let's initiate the card design process using the designer tool to ensure readiness. Visit https://adaptivecards.io/designer/  to access the designer interface and adjust the 'host app' setting to Microsoft Teams – Light / Dark. Once the card example is updated, we can proceed with development.

Rahman1005_0-1707802998019.png

 

Navigate to https://adaptivecards.io/designer and in Card Payload Editor upload below JSON.

{

    "type": "AdaptiveCard",

    "body": [

        {

            "type": "Container",

            "style": "emphasis",

            "items": [

                {

                    "type": "ColumnSet",

                    "columns": [

                        {

                            "type": "Column",

                            "items": [

                                {

                                    "type": "TextBlock",

                                    "size": "Large",

                                    "weight": "Bolder",

                                    "text": "**New Leave Request**"

                                }

                            ],

                            "width": "stretch"

                        },

                        {

                            "type": "Column",

                            "items": [

                                {

                                    "type": "Image",

                                    "url": "https://adaptivecards.io/content/pending.png",

                                    "altText": "Pending",

                                    "height": "30px"

                                }

                            ],

                            "width": "auto"

                        }

                    ]

                }

            ],

            "bleed": true

        },

        {

            "type": "Container",

            "items": [

                {

                    "type": "ColumnSet",

                    "columns": [

                        {

                            "type": "Column",

                            "items": [

                                {

                                    "type": "TextBlock",

                                    "size": "ExtraLarge",

                                    "text": "@{triggerOutputs()?['body/Title']}",

                                    "wrap": true

                                }

                            ],

                            "width": "stretch"

                        },

                        {

                            "type": "Column",

                            "items": [

                                {

                                    "type": "ActionSet",

                                    "actions": [

                                        {

                                            "type": "Action.OpenUrl",

                                            "title": "View Item",

                                            "url": "@{triggerOutputs()?['body/{Link}']}"

                                        }

                                    ]

                                }

                            ],

                            "width": "auto"

                        }

                    ]

                },

                {

                    "type": "FactSet",

                    "spacing": "Large",

                    "facts": [

                        {

                            "title": "Submitted By",

                            "value": "**@{triggerOutputs()?['body/Author/DisplayName']}** @{triggerOutputs()?['body/Author/Email']}"

                        },

                        {

                            "title": "Employee",

                            "value": "@{triggerOutputs()?['body/Title']}"

                        },

                        {

                            "title": "Start Date",

                            "value": "@{triggerOutputs()?['body/StateDate']}"

                        },

                        {

                            "title": "End Date",

                            "value": "@{triggerOutputs()?['body/EndDate']}"

                        }

                    ]

                }

            ]

        },

        {

            "type": "Container",

            "items": [

                {

                    "type": "ActionSet",

                    "actions": [

                        {

                            "type": "Action.Submit",

                            "title": "Approve",

                            "style": "positive",

                            "data": {

                                "id": "@{triggerOutputs()?['body/ID']}",

                                "action": "approve"

                            }

                        },

                        {

                            "type": "Action.ShowCard",

                            "title": "Reject",

                            "style": "destructive",

                            "card": {

                                "type": "AdaptiveCard",

                                "body": [

                                    {

                                        "type": "Input.Text",

                                        "id": "RejectCommentID",

                                        "placeholder": "Please specify an appropriate reason for rejection.",

                                        "isMultiline": true

                                    }

                                ],

                                "actions": [

                                    {

                                        "type": "Action.Submit",

                                        "title": "Send",

                                        "data": {

                                            "id": "@{triggerOutputs()?['body/ID']}",

                                            "action": "reject"

                                        }

                                    }

                                ],

                                "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"

                            }

                        }

                    ]

                }

            ]

        }

    ],

    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",

    "version": "1.2",

    "fallbackText": "This card requires Adaptive Cards v1.2 support to be rendered properly."

}

 

Step 2 – Building The Flow

  • To create the Flow, Go to Power Automate -> Create -> Start from Blank -> Automated Flow.
  • Give an appropriate name for the Flow and select the “When an item is created” trigger and click on Create button.

Rahman1005_1-1707802998021.png

 

  • Add “Post an Adaptive Card to Teams Channel and wait for response” action.

 

  • Team: Select the Team in which you want to post the approval
  • Channel: Select the Channel in which you want to post the approval
  • Message: Copy the json given above and paste it in the message section and ensure the dynamic content is copied properly, or if you have built your own adaptive card then paste your json here and add any dynamic content as required.
  • Update Message: Provide the update message, which will be shown after approver user has provided the decision using the card.
  • Should update card: Select yes here.

Rahman1005_2-1707802998026.png

 

 

  • Add “Condition” action to check whether approver has approved or rejected the request, on left hand side of the condition copy.
  • body(' Postadaptivecardandwaitforaresponse')['submitActionId'] expression (without quotes) and on right hand side provide “Approve” value or whatever your action value is defined in your adaptive card for the buttons.

 

Rahman1005_3-1707802998026.png

 

  • Under the “yes” branch to update the item and send message to the employee once leave request approval or rejected, do following.

Rahman1005_4-1707802998030.png

 

Rahman1005_5-1707802998032.png

 

  • Finally, the navigate to SharePoint site and create a new leave request.

Rahman1005_6-1707802998035.png

 

  • Manger will receive message in teams chats please refer below screen short.

Rahman1005_7-1707802998039.png

 

  • Adaptive card wait for response.

Rahman1005_8-1707802998040.png

 

 

  • Once manager approve’ s the request employee will receive message in teams that his leave request is approved.

Rahman1005_9-1707802998041.png

 

 

Complete Flow.

Rahman1005_10-1707802998044.png

 

 

Thank you...!

Bennykil
Regular Visitor

I found this while working with a colleague and was faced with a sticky situation at work. I have this table in my database. However, I would like to send the data from the period date a day late. For example, I would like an email reporting Monday data on a Tuesday morning. So Friday reports Thursday data.

 

Now, here’s the problem. I would like to report Friday data, not Sunday data on Monday. 

 

How did we solve it? Let's find out

Read more...

ThisIsAShame
Regular Visitor

This is an article that outlines how to use Dataverse to reassign an approval on the behalf of someone else. Lots of posts say that you can’t reassign an approval without manually making the user click “Reassign”, but I outline a flow below that lets you reassign any existing approval as long as you have Dataverse access and 1 Premium license. This means that you don’t have to edit your existing flows, or add any workarounds to your processes. This will simply replicate the “Reassign” button users have, but let’s you press it for them.

Read more...

365-Assist
Multi Super User
Multi Super User

Are you tired of scrolling through endless lists of initialized variables in Power Automate? I have created a workaround using parallel branches to streamline the workflow. 

 

I have also created a YouTube video that further explains the steps I used -> Power Automate - Group Initialize Variable actions (youtube.com)

Read more...

jag1976
Employee
Employee

In today's fast-paced business environment, the ability to swiftly and effectively export data stands as a cornerstone for maintaining a competitive edge. For users of Dynamics Customer Insight, a pivotal component in the Microsoft suite, the constraint of a limited data download capability from Dataverse tables has been a notable bottleneck. This limitation not only impedes the expediency of data exports in Customer Insight but also impacts on vital Dynamics Marketing functions such as lead generation and analytics.

Read more...

egregorich
Frequent Visitor

Microsoft has provided some PowerShell that allows admins to check their Power Platform environment for invalid Power Automate Licenses before it becomes an issue. You can run a check using PowerShell to see if you will have any issues.

Read more...

ManishSolanki
Super User
Super User

A simple use case explaining transforming data in SP list to Timesheet view!

Read more...

VJR
Multi Super User
Multi Super User

Since there is no direct tutorial that fully goes through each topic of the certification you would have to follow an approach of taking the scope topics and learning each topic and below guide would assist.

 

Here is a document regarding the same that contains:
➡ A direction on how to approach for the preparation
➡ Scope and Topics asked in the exam
➡ Tips and pointers
➡ What type of questions are asked
➡ Reference links to important pages

 

 

ManishSolanki
Super User
Super User

How to convert CSV file to array of JSON objects? This tutorial is best suited for large CSV file. Check out here!

Read more...

ManishSolanki
Super User
Super User

How to join arrays efficiently in Power Automate? Check this out!

Read more...

Nived_Nambiar
Super User
Super User

Hi all,

 

Here I am sharing how easily we can update an array property values using another array. This approach would help to avoid long way of updating array which involves loops. Here we will see how we will do it with select action itself. Kindly go through this article to get full idea on how we will be doing this !

Read more...

Agnius
Most Valuable Professional
Most Valuable Professional

Most RPA best practice articles and videos suggest using an external config file. And they are definitely right at that. But what I think they got completely wrong is the type of file to use, as they usually suggest using Excel worksheets.

Excel might seem sexy (I honestly never thought I would ever find proper context to say this), as users are used to it and thus it makes it easy to teach entry-level developers to use it.  But I think there is a much better alternative to that and this article describes how and why to use it. 

Read more...

Helpful resources

About the Author
  • Experienced Consultant with a demonstrated history of working in the information technology and services industry. Skilled in Office 365, Azure, SharePoint Online, PowerShell, Nintex, K2, SharePoint Designer workflow automation, PowerApps, Microsoft Flow, PowerShell, Active Directory, Operating Systems, Networking, and JavaScript. Strong consulting professional with a Bachelor of Engineering (B.E.) focused in Information Technology from Mumbai University.
  • I am a Microsoft Business Applications MVP and a Senior Manager at EY. I am a technology enthusiast and problem solver. I work/speak/blog/Vlog on Microsoft technology, including Office 365, Power Apps, Power Automate, SharePoint, and Teams Etc. I am helping global clients on Power Platform adoption and empowering them with Power Platform possibilities, capabilities, and easiness. I am a leader of the Houston Power Platform User Group and Power Automate community superuser. I love traveling , exploring new places, and meeting people from different cultures.
  • Read more about me and my achievements at: https://ganeshsanapblogs.wordpress.com/about MCT | SharePoint, Microsoft 365 and Power Platform Consultant | Contributor on SharePoint StackExchange, MSFT Techcommunity
  • Encodian Owner / Founder - Ex Microsoft Consulting Services - Architect / Developer - 20 years in SharePoint - PowerPlatform Fan
  • Founder of SKILLFUL SARDINE, a company focused on productivity and the Power Platform. You can find me on LinkedIn: https://linkedin.com/in/manueltgomes and twitter http://twitter.com/manueltgomes. I also write at https://www.manueltgomes.com, so if you want some Power Automate, SharePoint or Power Apps content I'm your guy 🙂
  • I am the Owner/Principal Architect at Don't Pa..Panic Consulting. I've been working in the information technology industry for over 30 years, and have played key roles in several enterprise SharePoint architectural design review, Intranet deployment, application development, and migration projects. I've been a Microsoft Most Valuable Professional (MVP) 15 consecutive years and am also a Microsoft Certified SharePoint Masters (MCSM) since 2013.
  • Big fan of Power Platform technologies and implemented many solutions.
  • Passionate #Programmer #SharePoint #SPFx #M365 #Power Platform| Microsoft MVP | SharePoint StackOverflow, Github, PnP contributor
  • Web site – https://kamdaryash.wordpress.com Youtube channel - https://www.youtube.com/channel/UCM149rFkLNgerSvgDVeYTZQ/
Join Blog
Interested in blogging for the community? Let us know.