[{"content":"If you are using custom pages in your model driven apps and would like to use the same colors as the default theme of the environment, this post will answer your question.\nStep 1. Add the Themes table (system table) in your custom page Themes table in Data\nThe table will get added as Themes_1 as there is already a Themes object used for something else on a custom page.\nStep 2. Set a global theming style from the default environment theme On the App OnStart, set a global variable similar to below. We are filtering to the default theme and then using that record to set the variable.\nSet(gblTheme,First(Filter(Themes_1,\u0026#39;Default Theme\u0026#39;=\u0026#39;Default Theme (Themes_1)\u0026#39;.Yes))); Set(gblBtnColor,gblTheme.\u0026#39;Link and Button Text Color\u0026#39;) App OnStart code\nIf you are already using some variable, you can modify the code above to suit your needs.\nStep 3. Use the colors in your UI controls Once you have the Theming style defined in a variable, you can use the colors associated with the theme in any of your UI controls. Below example shows how to use it in a button control.\nButton control\u0026rsquo;s Fill color\nLet me know in the comments what you think about this approach or if you another way of doing this.\n","permalink":"/posts/use-environment-theme-colors-for-your-custom-pages-in-model-driven-apps/","summary":"\u003cp\u003eIf you are using custom pages in your model driven apps and would like to use the same colors as the default theme of the environment, this post will answer your question.\u003c/p\u003e\n\u003ch2 id=\"step-1-add-the-themes-table-system-table-in-your-custom-page\"\u003eStep 1. Add the Themes table (system table) in your custom page\u003c/h2\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/uploads/2023/01/2023-01-31_13-26-54-2.png\"\u003e\u003c/p\u003e\n\u003cp\u003eThemes table in Data\u003c/p\u003e\n\u003cp\u003eThe table will get added as Themes_1 as there is already a Themes object used for something else on a custom page.\u003c/p\u003e","title":"Use Environment Theme Colors for Custom Pages in Model Driven Apps"},{"content":"If you or your organization uses Microsoft Bookings and would like to sync events from Microsoft Bookings to Dynamics or Dataverse or to any other calendar, then this blog post is for you. 👉\nA while ago, I had a use case with a client where they were using Bookings to let their customers book a time-slot for a 1:1 feedback session as a part of annual customer survey. That time, there wasn\u0026rsquo;t a straight-forward way to sync events and also the Bookings API was in beta. Now, with the new Bookings connector in Power Automate, it should make things much easier.\nP.S: Most of the use cases in my blog will now be based on The Office TV series, so apologies if you haven\u0026rsquo;t watched it. It\u0026rsquo;s a great show, so go watch it. 🙂\nIntroduction Dunder Mifflin, a paper company, just finished their annual customer survey and Kelly, their customer service manager has setup a Bookings page for their customers to book a 1 hour 1:1 feedback session with their sales rep or the manager. Now, Michael Scott has asked Kelly to manually enter each of the appointments into their CRM.\nSetting up the Bookings Page If you aren\u0026rsquo;t sure if you have access to Bookings, you can check here if your Microsoft 365 / Office 365 license includes it. If you haven\u0026rsquo;t setup a Bookings page before, here is a quick overview of the page that Kelly setup for their customers to book appointments.\nBookings Connector in Power Automate The Bookings connector got added to the roadmap in March 2022 and was released as Preview in July. Check out the documentation reference for the connector here.\nAs of July 23rd 2022, the connector only has three triggers and no actions. The three triggers are :\nWhen a bookings appointment is Created When a bookings appointment is Updated When a bookings appointment is Cancelled As there are no actions, this means you can\u0026rsquo;t make changes to any of the appointments in Bookings, however, you can take the appointments from bookings and copy it any other system / database like creating appointments in Dataverse, create a Zoom meeting or request payment for the service through Paypal/Stripe.\nCreating the flow to create a new appointment Kelly reached out to her \u0026ldquo;colleague\u0026rdquo; Ryan about helping her with entering these appointments in CRM and he instead recommended using Power Automate to create the appointments automatically.\nThe flow steps will be -\nTrigger: When a new appointment is created in Bookings Action 1: Find the employee and contact record in Dataverse from the email address Action 2: Create a new Appointment with details from the Bookings Appointment A screenshot of the flow\nFor the Bookings trigger, you will require the SMTP address of your Bookings page. To find this, just open your Bookings page and copy the email like address from the URL. In the below example, the SMTP address would be DunderMifflin@thatapiguy.tech .\nA screenshot of the bookings trigger\nThen we find the User record and the Contact record from the email addresses we get from the Bookings appointment details. These record GUIDs are required for the action to create the appointment.\nThe employee email is returned as a part of the StaffMembers array. Currently, Bookings only allows booking an appointment with one staff member, however, in the future there will be an option to select a group and thus having multiple staff members. In this flow, we will limit to just getting one staff member, however, the flow can be easily modified for multiple staff members.\nTo retrieve the employee record, we use this filter query :\ninternalemailaddress eq \u0026#39;triggerOutputs()?[\u0026#39;body/StaffMembers\u0026#39;][0][\u0026#39;EmailAddress\u0026#39;]\u0026#39; A screenshot of the find employee record action\nTo retrieve the contact record, we will use this filter query:\n`emailaddress1 eq \u0026#39;triggerOutputs()?[\u0026#39;body/CustomerEmail\u0026#39;]\u0026#39;` Next, we will use the GUIDs from the first record returned in the above two actions and set them as variable values.\nNow, for the finale, we will create the Appointment using the Dataverse action to Create a new row.\nLet\u0026rsquo;s look at the first part of the action:\nCopy the Start Time and End Time from the Bookings appointment. For the Subject, you can get creative and compose it the way you prefer. In this example, we take the Service Name and combine that with the Customer Name. For the Description, use the Service Notes and insert the Bookings Meeting Unique Id, which you could then use to retrieve the Appointment in Dataverse if there is a change / cancellation of the Bookings Appointment. If you want the meeting to show up as a Teams meeting, make sure to select Yes for the \u0026ldquo;Is Online Meeting\u0026rdquo; column. A screenshot of the Add Appointment action - Part 1\nNext, let\u0026rsquo;s define the organizer and the attendees which in the Dynamics/Dataverse world are known as Activity parties. Lastly, for the meeting to show up as a Teams meeting with the meeting link in Dataverse, we have to add a few more column values. And now you are ready to test the flow. Below is an example of an appointment example that Tom from Blue Cross set up with his sales rep Jim Halpert.\nA screenshot of the Bookings appointment\nA screenshot of the appointment created in the CRM\nAnd this is how Kelly saved herself a bunch of time by automating creating appointments in CRM instead of manually adding them. She is going to wisely use this saved time to prep for the fashion show.\nExpanding this further Though we covered only creating events, ideally you would want to update and cancel them as well using the other two triggers in two additional flows.\nWhat other use cases do you have with the Bookings connector? Let me know in the comments.\n","permalink":"/posts/copy-appointments-from-microsoft-bookings-to-dataverse-or-dynamics/","summary":"\u003cp\u003eIf you or your organization uses \u003ca href=\"https://www.microsoft.com/en-us/microsoft-365/business/scheduling-and-booking-app\"\u003eMicrosoft Bookings\u003c/a\u003e and would like to sync events from Microsoft Bookings to Dynamics or Dataverse or to any other calendar, then this blog post is for you. 👉\u003c/p\u003e\n\u003cp\u003eA while ago, I had a use case with a client where they were using Bookings to let their customers book a time-slot for a 1:1 feedback session as a part of annual customer survey. That time, there wasn\u0026rsquo;t a straight-forward way to sync events and also the Bookings API was in beta. Now, with the new Bookings connector in Power Automate, it should make things much easier.\u003c/p\u003e","title":"Copy Appointments from Microsoft Bookings  to Dataverse or Dynamics"},{"content":"Microsoft Power Apps is a low-code application development platform, using which you can build apps in hours—not months—that easily connect to your data in SharePoint, Teams, SQL database, Dataverse and many more. Apps developed using the platform can be easily shared within an org (and outside your org) and can run on the web, iOS, and Android devices.\n","permalink":"/posts/power-apps/","summary":"\u003cp\u003eMicrosoft Power Apps is a low-code application development platform, using which you can build apps in hours—not months—that easily connect to your data in SharePoint, Teams, SQL database, Dataverse and many more. Apps developed using the platform can be easily shared within an org (and outside your org) and can run on the web, iOS, and Android devices.\u003c/p\u003e","title":"Power Apps"},{"content":"Microsoft Power Automate is a powerful low-code workflow automation tool that connects to hundreds of popular apps and services. Using this tool you can easily build approvals, send automated notifications, modify data based on specific events, and so much more.\n","permalink":"/posts/power-automate/","summary":"\u003cp\u003eMicrosoft Power Automate is a powerful low-code workflow automation tool that connects to hundreds of popular apps and services. Using this tool you can easily build approvals, send automated notifications, modify data based on specific events, and so much more.\u003c/p\u003e","title":"Power Automate"},{"content":"Ever wanted to build your own photo library in an app without using much code? In this post, you will learn how to connect to the Google Photos API and get photos from your Google account in Power Apps / Power Automate.\nBefore you start In order to build a custom connector for Google Photos and use it in Power Apps, you will need at-least these before you start building\nGoogle account.. duh! 😁 Google Cloud Platform Account with a project having the authorization to use Google Photos API. Power Apps or Power Automate premium license . If you don\u0026rsquo;t have a premium license, you can always sign up for a free Power Apps developer plan. Google Cloud Platform Account Sign in to Google Cloud Platform https://console.cloud.google.com/ with your google account (that you use for Google Photos). Then follow the step below :\nClick on the projects section in the top nav menu and click on New Project. Give a name to your project and click Create. Navigate to the APIs \u0026amp; Service section and search for Google Photos API. Click on the Enable button. Now that you have the project setup complete, let\u0026rsquo;s look at creating OAuth credentials for the project:\nNavigate to the Credentials section of the project. Click on Create New credentials and select OAuth Client Id from the dropdown. You will now be prompted to create an OAuth Consent screen before you can create the credentials. User Type: Select External App Information: Enter some app name, enter your email address for the the User support email and the Developer contact information. Scopes : Click on Add or Remove Scopes and then browse through the list of scopes to find the ones for Photos Library API and select all of them. Test Users : Add your own e-mail address as you will be testing this yourself. Navigate again to the Credentials section and click on Create new credentials and select OAuth Client Id from the dropdown. You will be asked to define the Application type. Select Web Application from the dropwdown. Proceed to the next step and you should see a Client ID and Client secret. Copy these into a notepad file as you will need these for creating the custom connector. Google Cloud Platform Account - Create OAuth Credentials\nNavigate back to the credentials section and add the below URL under Authorized redirect URIs -\nhttps://global.consent.azure-apim.net/redirect\nThis is the redirect URL that will be added to your custom connector after you create it.\nCreate Custom Connector Now that you have the credentials, let\u0026rsquo;s use them to create a Custom connector. Follow the steps below:\nGo to make.powerapps.com and navigate to Data \u0026gt; Custom connectors and click on create new. Note: If you are comfortable with solutions, create a Solution first and then create a new custom connector within the solution. It is a good practice to develop inside solutions so that you can easily move it another tenant/environment in the future. Now, let\u0026rsquo;s go through the different sections within the Custom Connector creation: General section : Enter host URL as photoslibrary.googleapis.com\nCustom Connector - General Section\nSecurity Section:\nChoose OAuth 2.0 and select Google in the identity providers dropdown. Enter the Client Id and Client secret from the previous step. Enter the scope : https://www.googleapis.com/auth/photoslibrary Custom Connector - Security Section\nDefinition Section:\nNow we will add two actions - one to get albums and other to get photos based on the Google Photos API Reference\nGet Albums action:\nRequest URL : Click on Import from Sample and enter the URL : https://photoslibrary.googleapis.com/v1/albums?pageSize=5\u0026pageToken=xyz Response : Click on Add Default response and add the below JSON in the body. This is the format in which you will receive the response back from the API. { \u0026#34;albums\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;title\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;productUrl\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;mediaItemsCount\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;coverPhotoBaseUrl\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;coverPhotoMediaItemId\u0026#34;: \u0026#34;\u0026#34; } ], \u0026#34;nextPageToken\u0026#34;: \u0026#34;\u0026#34; } Search Media Action\nRequest URL : Click on Import from Sample, Select POST as the request type and enter the URL : https://photoslibrary.googleapis.com/v1/mediaItems:search For the body, paste the JSON below, these are the different filter you can use when searching for your media. For more details, check out this. { \u0026#34;albumId\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;filters\u0026#34;: { \u0026#34;excludeNonAppCreatedData\u0026#34;: false, \u0026#34;includeArchivedMedia\u0026#34;: false, \u0026#34;contentFilter\u0026#34;: { \u0026#34;excludedContentCategories\u0026#34;: [ \u0026#34;a\u0026#34; ], \u0026#34;includedContentCategories\u0026#34;: [ \u0026#34;\u0026#34; ] }, \u0026#34;featureFilter\u0026#34;: { \u0026#34;includedFeatures\u0026#34;: [ \u0026#34;\u0026#34; ] }, \u0026#34;mediaTypeFilter\u0026#34;: { \u0026#34;mediaTypes\u0026#34;: [ \u0026#34;\u0026#34; ] } }, \u0026#34;pageSize\u0026#34;: null, \u0026#34;pageToken\u0026#34;: \u0026#34;\u0026#34; } Response : Click on Add Default response and add the below JSON in the body and click Import. { \u0026#34;mediaItems\u0026#34;: [ { \u0026#34;id\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;productUrl\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;baseUrl\u0026#34;: \u0026#34;\u0026#34;, \u0026#34;mimeType\u0026#34;: \u0026#34;image/jpeg\u0026#34;, \u0026#34;mediaMetadata\u0026#34;: { \u0026#34;creationTime\u0026#34;: \u0026#34;2021-05-27T21:48:16Z\u0026#34;, \u0026#34;width\u0026#34;: \u0026#34;4032\u0026#34;, \u0026#34;height\u0026#34;: \u0026#34;3024\u0026#34;, \u0026#34;photo\u0026#34;: { \u0026#34;cameraMake\u0026#34;: \u0026#34;Apple\u0026#34;, \u0026#34;cameraModel\u0026#34;: \u0026#34;iPhone 12 Pro\u0026#34;, \u0026#34;focalLength\u0026#34;: 1.54, \u0026#34;apertureFNumber\u0026#34;: 2.4, \u0026#34;isoEquivalent\u0026#34;: 25, \u0026#34;exposureTime\u0026#34;: \u0026#34;0.001104972s\u0026#34; } }, \u0026#34;filename\u0026#34;: \u0026#34;IMG_3032.HEIC\u0026#34; } ], \u0026#34;nextPageToken\u0026#34;: \u0026#34;\u0026#34; } At this point, if you haven\u0026rsquo;t already, hit the Save / Update Connector button.\nTest Section:\nClick on New connection to create a connection and then you can test both your actions.\nThe first action should show you some of your Google Photos albums. The response contains a nextPageToken which you can use to call the API again to get the next set of albums.\nSimilarly, the media search action will return a list of photos/videos. Even with a blank search without any filters, it should return a list of media.\nCreate the Power app Now is the fun part - creating the app which will show you the photos!\nCreate a blank canvas app (preferably in landscape orientation) (Also, remember solutions? Create the app in a solution if you want the option to move the solution to another environment in the future.) Add the connection for custom connector by going to data sources and searching for Google Photos. Add two galleries (use the Image and two labels gallery template)- One for the Albums and another one for the photos Album Gallery Items PowerFx formulas Items: GooglePhotos.GetAlbums({pageSize:50}).albums OnSelect: ClearCollect(colAlbumPhotos,GooglePhotos.SearchMedia({albumId:Gallery1.Selected.id}).mediaItems) Image: ThisItem.coverPhotoBaseUrl Label1: ThisItem.title Label2: ThisItem.mediaItemsCount Photos Gallery PowerFx formulas Items: colAlbumPhotos Image: ThisItem.baseUrl\u0026amp;\u0026#34;=d\u0026#34; Label1: ThisItem.filename Label2: ThisItem.mediaMetadata.photo.cameraMake\u0026amp;\u0026#34; \u0026#34;\u0026amp;ThisItem.mediaMetadata.photo.cameraModel The resulting app should look something similar to this.\nIf you made it this far, thank you for reading the whole post. Hope you enjoyed it and are able to make some fun and creative app using this Google Photos API. I have just scratched the surface here. You can do a lot more with the API.\n#mc_embed_signup{background:#fff; clear:left; font:14px Helvetica,Arial,sans-serif; } /* Add your own Mailchimp form style overrides in your site stylesheet or in this style block. We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */\n* indicates required\nEmail Address *\nFirst Name *\nLast Name *\n(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]=\u0026lsquo;EMAIL\u0026rsquo;;ftypes[0]=\u0026lsquo;email\u0026rsquo;;fnames[1]=\u0026lsquo;FNAME\u0026rsquo;;ftypes[1]=\u0026lsquo;text\u0026rsquo;;fnames[2]=\u0026lsquo;LNAME\u0026rsquo;;ftypes[2]=\u0026lsquo;text\u0026rsquo;;fnames[3]=\u0026lsquo;ADDRESS\u0026rsquo;;ftypes[3]=\u0026lsquo;address\u0026rsquo;;fnames[4]=\u0026lsquo;PHONE\u0026rsquo;;ftypes[4]=\u0026lsquo;phone\u0026rsquo;;}(jQuery));var $mcj = jQuery.noConflict(true); Comments: power apps developer - Feb 4, 2023\nExcellent article! I was not aware that it was possible to integrate Google Photos with Power Apps, and this article provided a wealth of information on the subject. Your step-by-step instructions and clear explanations made it easy to understand the process. I am now excited to try integrating Google Photos into my Power Apps projects. Thanks for sharing this valuable information!\n","permalink":"/posts/google-photos-powerapps/","summary":"\u003cp\u003eEver wanted to build your own photo library in an app without using much code? In this post, you will learn how to connect to the Google Photos API and get photos from your Google account in Power Apps / Power Automate.\u003c/p\u003e\n\u003ch2 id=\"before-you-start\"\u003eBefore you start\u003c/h2\u003e\n\u003cp\u003eIn order to build a custom connector for Google Photos and use it in Power Apps, you will need at-least these before you start building\u003c/p\u003e","title":"Google Photos in Power Apps"},{"content":"Issue\nAre you trying to embed a canvas app in a model driven app and seeing this error - \u0026ldquo;We are having trouble displaying this app\u0026rdquo;?\nWe are having trouble displaying this app\nSolution\nThere is a Canvas App Entity/Table that the user needs \u0026lsquo;Read\u0026rsquo; access to. To provide this access, navigate to\nAdvanced Settings -\u0026gt; Security -\u0026gt; Security Roles -\u0026gt; -\u0026gt; Customizations -\u0026gt; Canvas App -\u0026gt; Provide Read Access at Organization level\nScreenshots below -\nAfter you have followed the above steps, refresh the model driven app and you should see the embedded canvas app.\nHappy PowerApping!\n","permalink":"/posts/embedded-canvas-app-error/","summary":"\u003cp\u003e\u003cstrong\u003eIssue\u003c/strong\u003e\u003cbr\u003e\nAre you trying to \u003ca href=\"https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/embed-canvas-app-in-form\"\u003eembed a canvas app\u003c/a\u003e in a model driven app and seeing this error - \u0026ldquo;We are having trouble displaying this app\u0026rdquo;?\u003c/p\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/uploads/2021/02/image-e1612211743670.jpeg\"\u003e\u003c/p\u003e\n\u003cp\u003eWe are having trouble displaying this app\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eSolution\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThere is a Canvas App Entity/Table that the user needs \u0026lsquo;Read\u0026rsquo; access to. To provide this access, navigate to\u003cbr\u003e\n\u003cstrong\u003eAdvanced Settings -\u0026gt; Security -\u0026gt; Security Roles -\u0026gt; \u003cSecurity Role Name\u003e -\u0026gt; Customizations -\u0026gt; Canvas App -\u0026gt; Provide Read Access at Organization level\u003c/strong\u003e\u003c/p\u003e","title":"Embedded Canvas App - \"We are having trouble displaying this app\" Error"},{"content":"A fun rapid-fire style podcast where #PowerAddicts will be asked some Power Platform and some not so Power Platform questions.\nYou can listen it here on the website or any of these podcast platforms:\nApple Podcasts\nSpotify\nGoogle Podcasts\nhttps://anchor.fm/s/413dcc8c/podcast/rss\n","permalink":"/posts/rapidpower/","summary":"\u003cp\u003eA fun rapid-fire style podcast where #PowerAddicts will be asked some Power Platform and some not so Power Platform questions.\u003c/p\u003e\n\u003cp\u003eYou can listen it here on the website or any of these podcast platforms:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://podcasts.apple.com/in/podcast/rapid-power/id1544883725\"\u003eApple Podcasts\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://open.spotify.com/show/1YcPQ9WxMm2CRgsie85vTy\"\u003eSpotify\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy80MTNkY2M4Yy9wb2RjYXN0L3Jzcw\"\u003eGoogle Podcasts\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://anchor.fm/s/413dcc8c/podcast/rss\"\u003ehttps://anchor.fm/s/413dcc8c/podcast/rss\u003c/a\u003e\u003c/p\u003e","title":"Rapid Power Podcast"},{"content":"https://youtu.be/Afh9rD4JXJQ\nApprovals in Microsoft Teams\n#MicrosoftTeams #Approvals #PowerAutomate #Flow\nIn this video, you will learn how to create an approval process in Microsoft Teams using Power Automate. We will use an out-of-the-box template flow to do this, so you don\u0026rsquo;t have to create the flow from scratch.\nIf you would like to learn how to scan receipts using Power Apps, watch these videos -\n▶ How to Scan Receipts Using AI Builder - https://youtu.be/1-PMh-flerU\n▶ How to Scan Receipts using Azure\u0026rsquo;s Form Recognizer API - https://youtu.be/Kjb-Hnt_GpY\nWatch other Microsoft Teams Quick tutorials playlist here -\nhttps://www.youtube.com/playlist?list=PLwe2s4nbb0A6l7Hy5_wbFH9hVsZFy8fif\nIf you liked the video, please don\u0026rsquo;t forget to subscribe to the channel.\nYou can also follow me on Twitter -\nhttps://twitter.com/That_API_guy\n","permalink":"/posts/approvals-in-microsoft-teams/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/Afh9rD4JXJQ\"\u003ehttps://youtu.be/Afh9rD4JXJQ\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eApprovals in Microsoft Teams\u003cbr\u003e\n#MicrosoftTeams #Approvals #PowerAutomate #Flow\u003c/p\u003e\n\u003cp\u003eIn this video, you will learn how to create an approval process in Microsoft Teams using Power Automate. We will use an out-of-the-box template flow to do this, so you don\u0026rsquo;t have to create the flow from scratch.\u003c/p\u003e\n\u003cp\u003eIf you would like to learn how to scan receipts using Power Apps, watch these videos -\u003c/p\u003e\n\u003cp\u003e▶ How to Scan Receipts Using AI Builder - \u003ca href=\"https://youtu.be/1-PMh-flerU\"\u003ehttps://youtu.be/1-PMh-flerU\u003c/a\u003e\u003cbr\u003e\n▶ How to Scan Receipts using Azure\u0026rsquo;s Form Recognizer API - \u003ca href=\"https://youtu.be/Kjb-Hnt\"\u003ehttps://youtu.be/Kjb-Hnt\u003c/a\u003e_GpY\u003c/p\u003e","title":"Approvals in Microsoft Teams"},{"content":"https://youtu.be/NkEMZXG6c24\nCreate Polls in Microsoft Teams #MicrosoftTeams #TeamsTips #MicrosoftForms Did you know you could create a poll in a Teams meeting with just a few clicks? If you liked the video, please support me by hitting the thumbs up and subscribing to the channel. You can also follow me on Twitter - https://twitter.com/That_API_guy\n","permalink":"/posts/create-polls-in-microsoft-teams/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/NkEMZXG6c24\"\u003ehttps://youtu.be/NkEMZXG6c24\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCreate Polls in Microsoft Teams #MicrosoftTeams #TeamsTips #MicrosoftForms Did you know you could create a poll in a Teams meeting with just a few clicks? If you liked the video, please support me by hitting the thumbs up and subscribing to the channel. You can also follow me on Twitter - \u003ca href=\"https://twitter.com/That\"\u003ehttps://twitter.com/That\u003c/a\u003e_API_guy\u003c/p\u003e","title":"Create Polls in Microsoft Teams"},{"content":"https://youtu.be/1-PMh-flerU\nHow to Scan Receipts Using AI Builder\n# AIBuilder #PowerAddicts #PowerApps\nIn this video, you will learn how to create an app in Power Apps to scan receipts using the AI Builder.\nSome helpful resources -\nPower Apps Blog Post on Receipt Processor - https://powerapps.microsoft.com/en-us/blog/process-receipts-with-ai-builder/\nDocs - https://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processing\nUse In Power Apps Docs - https://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processor-component-in-powerapps\nUse in Power Automate Docs - https://docs.microsoft.com/en-us/ai-builder/flow-receipt-processing\nIf you liked the video, please don\u0026rsquo;t forget to subscribe to the channel.\nYou can also follow me on Twitter -\nhttps://twitter.com/That_API_guy\nComments: 360digitmgvizag - Aug 4, 2020\nReally nice and interesting post.Keep posting. Thanks for sharing. 360DigiTMG\n#### [Anitha]( \"anitha_santhan@yahoo.com.au\") - Dec 3, 2020 Hi Dhruv , I wanted to store the uploaded receipt as attachment to the sharepoint list. How do I do it?\n#### [Dettifoss IT Solutions]( \"dettifossitsolutions@gmail.com\") - Oct 0, 2021 great one, thanks for sharing. ServiceNow Training in Pune\n","permalink":"/posts/how-to-scan-receipts-using-ai-builder/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/1-PMh-flerU\"\u003ehttps://youtu.be/1-PMh-flerU\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHow to Scan Receipts Using AI Builder\u003cbr\u003e\n# AIBuilder #PowerAddicts #PowerApps\u003c/p\u003e\n\u003cp\u003eIn this video, you will learn how to create an app in Power Apps to scan receipts using the AI Builder.\u003c/p\u003e\n\u003cp\u003eSome helpful resources -\u003cbr\u003e\nPower Apps Blog Post on Receipt Processor - \u003ca href=\"https://powerapps.microsoft.com/en-us/blog/process-receipts-with-ai-builder/\"\u003ehttps://powerapps.microsoft.com/en-us/blog/process-receipts-with-ai-builder/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eDocs - \u003ca href=\"https://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processing\"\u003ehttps://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processing\u003c/a\u003e\u003cbr\u003e\nUse In Power Apps Docs - \u003ca href=\"https://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processor-component-in-powerapps\"\u003ehttps://docs.microsoft.com/en-us/ai-builder/prebuilt-receipt-processor-component-in-powerapps\u003c/a\u003e\u003cbr\u003e\nUse in Power Automate Docs - \u003ca href=\"https://docs.microsoft.com/en-us/ai-builder/flow-receipt-processing\"\u003ehttps://docs.microsoft.com/en-us/ai-builder/flow-receipt-processing\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIf you liked the video, please don\u0026rsquo;t forget to subscribe to the channel.\u003c/p\u003e","title":"How to Scan Receipts Using AI Builder"},{"content":"https://youtu.be/mCXSXRa760Q\nUnboxing the MVP Award #MVPBuzz #PowerAddicts #Unboxing Thank you all of you for your support in my journey. Looking forward to sharing more and helping all of you in you Power Platform journey.\n","permalink":"/posts/unboxing-the-mvp-award/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/mCXSXRa760Q\"\u003ehttps://youtu.be/mCXSXRa760Q\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eUnboxing the MVP Award #MVPBuzz #PowerAddicts #Unboxing Thank you all of you for your support in my journey. Looking forward to sharing more and helping all of you in you Power Platform journey.\u003c/p\u003e","title":"Unboxing the MVP Award"},{"content":"https://youtu.be/Kjb-Hnt_GpY\nHow to create an app to Scan Receipts In this video, you will learn how to create an app in Power Apps to scan receipts using the Azure Cognitive Services Form Recognizer API. Some helpful resources - Form Recognizer API Docs - https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/ Form Recognizer API Reference - https://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-preview/operations/AnalyzeReceiptAsync If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - https://twitter.com/That_API_guy Comments: How to create an app to Scan Receipts – ECELLORS CRM Blog - Jun 6, 2020\n[…] How to create an app to Scan Receipts […]\n#### [Florian Turba]( \"f.turba@holcogmbh.onmicrosoft.com\") - Apr 2, 2021 Hi, I just found your video and have a question. When trying to save the flow for getting the data in, I receive an error: \u0026ldquo;Correct to include a valid reference to \u0026ldquo;Compose\u0026rdquo; for the input parameters of the HTTP _-_ Analyze_receipt action.\u0026rdquo; (-\u0026gt; translated from German). Here is the expression I used to get Content-Type: dataUriToBinary(replace(outputs(\u0026lsquo;Compose\u0026rsquo;),\u0026rsquo;\u0026quot;\u0026rsquo;,\u0026rsquo;\u0026rsquo;))[\u0026rsquo;$content-type\u0026rsquo;] And here is the expression for the body: dataUriToBinary(replace(outputs(\u0026lsquo;Compose\u0026rsquo;),\u0026rsquo;\u0026quot;\u0026rsquo;,\u0026rsquo;\u0026rsquo;)) For the \u0026ldquo;Ocp-Apim-Subscription-Key\u0026rdquo; I used the Key 1 from Azure keypoints. Any suggestions how to solve that? Thank you in advance. Best Florian\n","permalink":"/posts/how-to-create-an-app-to-scan-receipts/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/Kjb-Hnt\"\u003ehttps://youtu.be/Kjb-Hnt\u003c/a\u003e_GpY\u003c/p\u003e\n\u003ch2 id=\"how-to-create-an-app-to-scan-receipts-in-this-video-you-will-learn-how-to-create-an-app-in-power-apps-to-scan-receipts-using-the-azure-cognitive-services-form-recognizer-api-some-helpful-resources---form-recognizer-api-docs----form-recognizer-api-reference----if-you-like-the-video-please-subscribe-to-the-channel-to-get-a-new-video-every-week-you-can-also-follow-me-on-twitter---_api_guy\"\u003eHow to create an app to Scan Receipts In this video, you will learn how to create an app in Power Apps to scan receipts using the Azure Cognitive Services Form Recognizer API. Some helpful resources - Form Recognizer API Docs - \u003ca href=\"https://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/\"\u003ehttps://docs.microsoft.com/en-us/azure/cognitive-services/form-recognizer/\u003c/a\u003e Form Recognizer API Reference - \u003ca href=\"https://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-preview/operations/AnalyzeReceiptAsync\"\u003ehttps://westus2.dev.cognitive.microsoft.com/docs/services/form-recognizer-api-v2-preview/operations/AnalyzeReceiptAsync\u003c/a\u003e If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - \u003ca href=\"https://twitter.com/That\"\u003ehttps://twitter.com/That\u003c/a\u003e_API_guy\u003c/h2\u003e\n\u003ch3 id=\"comments\"\u003eComments:\u003c/h3\u003e\n\u003ch4\u003e\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"https://ecellorscrm.wordpress.com/2020/06/13/how-to-create-an-app-to-scan-receipts/\"\u003eHow to create an app to Scan Receipts – ECELLORS CRM Blog\u003c/a\u003e - \u003ctime datetime=\"2020-06-13 09:38:35\"\u003eJun 6, 2020\u003c/time\u003e\u003c/p\u003e","title":"How to create an app to Scan Receipts"},{"content":"https://youtu.be/KC_tQR5_eLM\nMicrosoft Teams Quick Tutorials In this video, you will learn how to change your background in Microsoft Teams. If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - https://twitter.com/That_API_guy\n","permalink":"/posts/change-backgrounds-in-microsoft-teams/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/KC\"\u003ehttps://youtu.be/KC\u003c/a\u003e_tQR5_eLM\u003c/p\u003e\n\u003cp\u003eMicrosoft Teams Quick Tutorials In this video, you will learn how to change your background in Microsoft Teams. If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - \u003ca href=\"https://twitter.com/That\"\u003ehttps://twitter.com/That\u003c/a\u003e_API_guy\u003c/p\u003e","title":"Change Backgrounds in Microsoft Teams"},{"content":"https://youtu.be/jEKFR9abeII\nMicrosoft Teams Quick Tutorials How to create a Teams meeting using Outlook In this video, you will learn how to schedule a Teams meeting using Outlook desktop client. If your company is migrating from Skype for Business to Teams, this might be really helpful for you. If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - https://twitter.com/That_API_guy\n","permalink":"/posts/how-to-create-a-teams-meeting-using-outlook/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/jEKFR9abeII\"\u003ehttps://youtu.be/jEKFR9abeII\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMicrosoft Teams Quick Tutorials How to create a Teams meeting using Outlook In this video, you will learn how to schedule a Teams meeting using Outlook desktop client. If your company is migrating from Skype for Business to Teams, this might be really helpful for you. If you like the video, please subscribe to the channel to get a new video every week. You can also follow me on Twitter - \u003ca href=\"https://twitter.com/That\"\u003ehttps://twitter.com/That\u003c/a\u003e_API_guy\u003c/p\u003e","title":"How to create a Teams meeting using Outlook"},{"content":"If you want to find all the distinct records in your data-source like a SharePoint list, there is no \u0026ldquo;Distinct records\u0026rdquo; action or distinct expression that you can use in Power Automate (earlier called Microsoft Flow) .\nThere is a simple way to do it using the union expression . This expression returns all the common items in two arrays. So, if we you use the union expression for an array on itself , it will return basically all the items, but the items that are there multiple times will be returned only once. Voila! You just found out the lookalike of \u0026lsquo;Distinct\u0026rsquo; function in Power Apps.\nHere is a screenshot of a simple flow with an array [1,2,4,1] and the compose action with the union expression -\nHere is the expression I used.\nunion(variables(\u0026#39;array1\u0026#39;),variables(\u0026#39;array1\u0026#39;)) If you have any questions, please let me know in the comments.\nComments: Ganesh - Jan 1, 2022\nHi, I am trying to compare two records from two different CDS entities as below. I have mentioned the below contract numbers just for example and not the actual which I am using in my Power Automate. I need to compare PPR Contract with STEP Contract and delete from PPR Contract whichever is not available in STEP Contract. in the below scenario Contracts 121 and 122 are not available in STEP Contract and has to be deleted in PPR Contract. 1. STEP Contract Entity - Contract Number (Column) 123 124 125 2. PPR Contract Entity - Contract Number (Column) 123 124 125 121 122 This is how I started designing the flow but I am stuck in the Apply for each and filtering the array 1. Declaring an array variable to store STEP Contract 2. Declaring an array variable to store PPR Contract 3. Declaring an array variable to store PPR Contract records to be deleted after comparison 4. Apply to each loop in PPR Contract and inside that filter array for STEP contracts where PPR Contracts contract numbers are NOT IN STEP Contracts 5. Add a null check condition for the above filter 6. If yes, then add that item from PPR Contracts array where we need to delete the records 7. Perform the deletion. I am stuck in point 4 where I am not getting the expected filter results. In this case it should filter 121 and 122. Unfortunately, I am unable to share the screenshot here. Please advise me on the same.\n#### [Ayushi Porwal]( \"ayushiporwal125@gmail.com\") - Sep 4, 2022 I need to make a schedule flow for sharepoint list in which one or two people make changes in list and the email should go to one supervisor or their supervisor as one mail instead of many mail\n","permalink":"/posts/get-distinct-records-using-the-union-expression-in-power-automate/","summary":"\u003cp\u003eIf you want to find all the distinct records in your data-source like a SharePoint list, there is no \u0026ldquo;Distinct records\u0026rdquo; action or distinct expression that you can use in \u003ca href=\"https://flow.microsoft.com\"\u003ePower Automate\u003c/a\u003e (earlier called Microsoft Flow) .\u003c/p\u003e\n\u003cp\u003eThere is a simple way to do it using the \u003ca href=\"https://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#union\"\u003eunion expression\u003c/a\u003e . This expression returns all the common items in two arrays. So, if we you use the union expression for an array on itself , it will return basically all the items, but the items that are there multiple times will be returned only once. Voila! You just found out the lookalike of \u0026lsquo;Distinct\u0026rsquo; function in Power Apps.\u003c/p\u003e","title":"Get Distinct Records using the union expression in Power Automate"},{"content":"If you are an Office 365 admin who wants to streamline requests to create teams in Microsoft Teams, this blog post was written exactly for you. Those who aren\u0026rsquo;t admins, share this blog post with your Office 365 admin and push them to implement this. It\u0026rsquo;s a win for all!\nSolution Overview Step 1 - Download the .zip package from my GitHub repo. Step 2- Install the flows and the Power App Import the following package in Power Automate / Power Apps in the following order -\na. Import \u0026lsquo;1 DeploySPListforTeamsrequests\u0026rsquo; .zip file in Power Automate. This flow creates a SharePoint list for you so you don\u0026rsquo;t need to manually create one. I know, that\u0026rsquo;s so cool! 😀\nb. Import \u0026lsquo;2 TeamRequestsApprovalFlow\u0026rsquo; .zip file in Power Automate.\nRefer https://flow.microsoft.com/en-us/blog/import-export-bap-packages/ if you haven\u0026rsquo;t imported a flow before.\nThis flow will be triggered every-time a new item is created in the SharePoint list. This way the flow can run in context of the admin and thus the Graph HTTP requests will work fine.\nFor the HTTP with Azure AD connection , enter https://graph.microsoft.com for both the Base resouce URL and Azure AD Resource URI (Application ID URI).\nThis connector is a premium connector. If you don\u0026rsquo;t have a premium license, you can get a Power Apps Community plan (https://powerapps.microsoft.com/en-us/communityplan/) and install this flow in the community plan environment where you can use any Premium connectors as well.\nFYI - Community plans should only be used for testing purpose. To run it in production, you will need one per user license for Power Automate (as of March 31, 2020)\nc. Import \u0026lsquo;3 IneedaTeam PowerApp\u0026rsquo; .zip file in Power Apps.\nRefer https://docs.microsoft.com/en-us/power-platform/admin/environment-and-tenant-migration#importing-a-canvas-app if you haven\u0026rsquo;t imported an app before.\nStep 3 - Run the flow \u0026ldquo;Deploy SP List for Teams requests\u0026rdquo; Before you run this flow, click on \u0026lsquo;Edit\u0026rsquo; to edit the action marked 🟡 .\nEdit the SharePoint Site URL where you want to create a SharePoint List\nThis SharePoint List will be the repository where all the requests will be submitted. This list will have to be shared with all the organizations\u0026rsquo; employees with a Contribute permission so that they can add the requests.\nNow, run the flow by clicking on \u0026lsquo;Run\u0026rsquo;. This will create a SharePoint list with all the columns required to submit requests for a new Team.\nStep 3 - Edit the flow \u0026ldquo;Team Requests Approval Flow\u0026rdquo; Edit all the actions marked 🟡 in the flow.\na. Change the SharePoint site address and choose the list that was created in the previous step.\nb. Change the list of Approvers . Add a list of email-ids separated by ; to whom the approval request should be sent. Any one of them can give the approval.\nc. There are two more actions inside the condition where you will need to change the SharePoint site address and the list.\nStep 4 - Change Data source and App OnStart for \u0026ldquo;I need a Team\u0026rdquo; Power App. Data Source The data source will currently point to the SharePoint list in my tenant, so you need to change that to point to your SharePoint list.\nDelete the existing SharePoint connection and add a new connection that points to the list that you created in Step 2 above. You might also have to edit the Owners and Members combo box. Just remove the ending ) and add it again.\nhttps://videopress.com/v/KZIMqDpd?preloadContent=metadata\nApp On Start - Admins List In the App On Start, change the e-mail addresses in the Admins list.\nhttps://videopress.com/v/D22Ts6ET?preloadContent=metadata\nAnd that\u0026rsquo;s it, you now have an app that you can share with all the employees in your org and they can submit requests for a new Team. FYI - All the teams created with this solution will be private teams. You could give an option to the user to create a public team , however, I don\u0026rsquo;t think you want that. 😉\nStep 5 - Share the SharePoint list with Contribute permission and the Power App with your whole organization (search for \u0026ldquo;Everyone except external users\u0026rdquo;). Here is a demo of the whole solution.\nhttps://videopress.com/v/v56if32T?preloadContent=metadata\nSolution Demo Video Comments: Steven - Apr 5, 2020\nHello ApiGuy, When importing the second package. I get this error:The user \u0026lsquo;6xxxx2\u0026rsquo; does not have a service plan adequate for the non-Standard connection. https://go.microsoft.com/fwlink/?linkid=2123710 However I use none premium connectors. I\u0026rsquo;m afraid this might again be a licencing issue? Greetings\n#### [That API Guy]( \"\") - Apr 5, 2020 The HTTP with Azure AD connector is a premium connector. If you don\u0026rsquo;t have a premium license, you can get a Power Apps Community plan and install this flow in the community plan environment where you can use any Premium connectors. FYI - Community plans should only be used for testing purpose. To run it in production, you will need one per user license for Power Automate (as of March 31, 2020) Thanks for pointing this out, I have updated the blog post with this information.\n#### [AJMDRP85]( \"andrew.melsom@drpgroup.com\") - May 2, 2020 Hi API Guy, When running this i get an Odata.Bind error on the creation flow at the Invokte HTTP request – Create Group section: The value of ‘odata.bind’ property annotation is an empty array. The ‘odata.bind’ property annotation must have a non-empty array as its value. Also in the PowerApp i’m getting an error on the Owners dropdown saying i do not have permission to use this lookup, is that at and admin error that i need to get more privileges adding to the account running it? i’ve have tried re-adding the connection and also the tutorial deleting the code line and and readding it, but still get the same error.\n#### [ajmdrp85]( \"andrew.melsom@drpgroup.com\") - May 2, 2020 Hi API Guy, When running this i get an Odata.Bind error on the creation flow at the Invokte HTTP request – Create Group section: The value of ‘odata.bind’ property annotation is an empty array. The ‘odata.bind’ property annotation must have a non-empty array as its value. Also in the PowerApp i’m getting an error on the Owners dropdown saying i do not have permission to use this lookup, is that at and admin error that i need to get more privileges adding to the account running it? i’ve have tried re-adding the connection and also the tutorial deleting the code line and and readding it, but still get the same error. Thanks\n#### [That API Guy]( \"\") - May 6, 2020 Hi. Do you have the admin permissions on your tenant? Regarding the PowerApp showing an error , can you try creating a new app , adding the office 365 users connection and then adding a combobox with same code as the Owners Items. Does that also end up in error?\n#### [Vamshi Krishna Budarapu](http://vamshikrishnabudarapu.wordpress.com \"vamshikrishnabudarapu@gmail.com\") - Jun 3, 2020 Hi, Using the flow group is created and users got added to group. but when it is trying to create team using group id, am getting below error. Error: Failed to execute MS Graph backend request GetGroupInternalApiRequest. The server failed to respond correctly. Can i know why am getting this error and resolution for this. Thanks\n#### [Microsoft Teams Provisioner with the Power Platform \u0026#8211; Power Community](https://dynamics365society.uk/archives/microsoft-teams-provisioner-with-the-power-platform/ \"\") - Jul 2, 2020 […] Vivek’s Blog Post: https://thatapiguy.tech/2020/03/27/provision-teams-using-power-apps-and-power-automate/ […]\n#### [Sebe]( \"s.dombrowski88@web.de\") - Jul 3, 2020 Awesome work! I\u0026rsquo;m not sure if I\u0026rsquo;m the only one getting the error, but the first Flow errors out on the \u0026ldquo;Add a field to the default view\u0026rdquo; Step. Method: Post Uri: _api/web/Lists/getByTitle(\u0026lsquo;TeamsRequests\u0026rsquo;)/views/GetByTitle(\u0026lsquo;All%20Items\u0026rsquo;)/ViewFields/AddViewField(\u0026rsquo;@{items(\u0026lsquo;Add_created_fields_to_the_default_view\u0026rsquo;)}\u0026rsquo;) Rest is empty. The error says: the view isn\u0026rsquo;t valid (translated from german).\n#### [jeffangama](http://jeffangama.wordpress.com \"jeff.angama@outlook.com\") - Aug 1, 2020 in the flow, you need to change the view url. My site is in french so it\u0026rsquo;s tous les éléments.aspx instead of allitems.aspx So probably you need to change \u0026ldquo;allitems.aspx\u0026rdquo; to german, in flow Great tutorial, i got it working ! I can\u0026rsquo;t wait for easier deployment by microsoft\n#### [Tyler Duncan]( \"duncant@wssu.edu\") - Sep 4, 2020 Did you use Type Person for the Owners and Members in the SharePoint List?\n#### [Tyler]( \"duncant@wssu.edu\") - Sep 5, 2020 What about in cases when there are no members to add?\n#### [Josef Steiner](https://www.plan-c.de/ \"jsteiner@plan-c.de\") - Sep 4, 2020 This is a great solution - thank you very much! After I installed it recently, it worked well and created a Team. Now I want to use it again and get an error of the action \u0026ldquo;Invoke an HTTP request - Put a team for the created group\u0026rdquo;. The group is created properly. Error Details: Failed to execute MS Graph backend request GetGroupInternalApiRequest. The server failed to respond correctly. Response Code: NotFound, Reason: Reason: Not Found, Correlation headers: request-id: a6c54fc0-e486-4e30-b026-162003db8dff client-request-id: a6c54fc0-e486-4e30-b026-162003db8dff x-ms-ags-diagnostic: {\u0026ldquo;ServerInfo\u0026rdquo;:{\u0026ldquo;DataCenter\u0026rdquo;:\u0026ldquo;UK South\u0026rdquo;,\u0026ldquo;Slice\u0026rdquo;:\u0026ldquo;SliceC\u0026rdquo;,\u0026ldquo;Ring\u0026rdquo;:\u0026ldquo;4\u0026rdquo;,\u0026ldquo;ScaleUnit\u0026rdquo;:\u0026ldquo;002\u0026rdquo;,\u0026ldquo;RoleInstance\u0026rdquo;:\u0026ldquo;AGSFE_IN_8\u0026rdquo;}} Date: Thu, 17 Sep 2020 07:49:17 GMT Any hint would be fine. Thanks\n#### [Josef Steiner]( \"jsteiner@plan-c.de\") - Sep 4, 2020 Found a solution: Replaced the \u0026ldquo;Invoke an HTTP request\u0026rdquo; by a \u0026ldquo;HTTP\u0026rdquo; action (green). Previously I have setup permissions for graph API as described here by Nanddeep Nachan: https://www.c-sharpcorner.com/article/calling-graph-api-from-power-automate-flow/ Now the flow creates the Teams properly. Probably in the future there is no need to use graph for creating the Team: There are some new actions for Teams, including to create a team.\n#### [That API Guy]( \"\") - Sep 2, 2020 Yes, that\u0026rsquo;s right. I used the person type.\n#### [That API Guy]( \"\") - Sep 2, 2020 Thank you. Apologies, didn\u0026rsquo;t realize that language change could have such implications. Thank you for pointing this out.\n#### [mag1c22]( \"e.curran22@gmail.com\") - Oct 5, 2020 Hello, thanks so much for the great solution! I am adapting it to fit my firm\u0026rsquo;s needs and we need to pull in the \u0026ldquo;Team name\u0026rdquo; field from a sql table backend so the user selects an existing client name/ID rather than typing it in (prone to user error). So I was able to change the field to use the sql data source no problem, but my issue is that I need the team name to be a combination of the client name and Client ID # such as \u0026ldquo;Client ABC 123456\u0026rdquo;. In my experience I would push this info to a sharepoint list with a flow and could edit said flow to pull in both the client name and client ID variables with a space between no problem.. I\u0026rsquo;m just not sure how you are pushing this data to the sharepoint list so I can edit the Team name parameter/variable to include what i need, if you could expand on that, that would be very helpful! Eric\n#### [mag1c22]( \"e.curran22@gmail.com\") - Oct 5, 2020 Edit: for anyone who stumbles upon what I said. You ultimately just need to change the teamname data card update value to a label field which includes whatever info you need for the team name. Eric\n#### [jeremy]( \"bitwin@gmail.com\") - Jan 2, 2021 hello Josef how did you fix it? i have replaced the Invoke by a \u0026ldquo;regular\u0026rdquo; HTTP with the same value but leaving the Cookies portions empty but now i am getting \u0026ldquo;Access token empty\u0026rdquo; any help would be highly appreciated\u0026hellip; i was like able to run it successfully only once\n","permalink":"/posts/provision-teams-using-power-apps-and-power-automate/","summary":"\u003cp\u003eIf you are an Office 365 admin who wants to streamline requests to create teams in Microsoft Teams, this blog post was written exactly for you. Those who aren\u0026rsquo;t admins, share this blog post with your Office 365 admin and push them to implement this. It\u0026rsquo;s a win for all!\u003c/p\u003e\n\u003ch2 id=\"solution-overview\"\u003eSolution Overview\u003c/h2\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/uploads/2020/03/image-8.png?w=1024\"\u003e\u003c/p\u003e\n\u003ch2 id=\"step-1---download-the-zip-package-from-my-github-repo\"\u003eStep 1 - Download the .zip package from my \u003ca href=\"https://github.com/thatapiguy/Microsoft-Teams-Provisioning\"\u003eGitHub repo\u003c/a\u003e.\u003c/h2\u003e\n\u003ch2 id=\"step-2--install-the-flows-and-the-power-app\"\u003eStep 2- Install the flows and the Power App\u003c/h2\u003e\n\u003cp\u003eImport the following package in Power Automate / Power Apps in the following order -\u003c/p\u003e","title":"Provision Teams using Power Apps and Power Automate"},{"content":"https://youtu.be/ACD-E_1ihds\nManaging Events Using Power Platform\n","permalink":"/posts/managing-events-using-power-platform/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/ACD-E\"\u003ehttps://youtu.be/ACD-E\u003c/a\u003e_1ihds\u003c/p\u003e\n\u003cp\u003eManaging Events Using Power Platform\u003c/p\u003e","title":"Managing Events Using Power Platform"},{"content":"In this post, you will learn how to connect to an API with OAuth 1.0 authentication in Power Automate. Using this connection, we will connect to Twitter API to post tweets with @mentions and also send DMs with quick actions. The Twitter connector available in Power Automate doesn\u0026rsquo;t allow user mentions and also doesn\u0026rsquo;t have an action to send DMs.\nCurrently, it\u0026rsquo;s not possible to implement OAuth 1.0 directly in Power Automate as the HTTP action doesn\u0026rsquo;t have this type available in the list of authentication types. To overcome that, we will create an Azure function which connects to the Twitter API and then call the Azure function from Power Automate. Don\u0026rsquo;t worry if you haven\u0026rsquo;t created an Azure function before. I will walk through all the steps to create an Azure function as well\nCredits Before we start, credits to Michael LaMontagne for his blog post on a similar topic. I could use it fine for posting tweets , however, for sending DMs it got a bit tricky as I had to include some body in the POST requests. Also, credits to Geetha Sivasailam for helping me with some of the PowerShell stuff. I didn\u0026rsquo;t know anything about PowerShell before this.\nLet\u0026rsquo;s start building! Step 1 - Create a Twitter developer account to use the Twitter API Go to https://developer.twitter.com/en/apps and create a New App. If you don\u0026rsquo;t have a developer account, you can just create one for free. Enter the required details - App Name, description, website URL and details on how the app will be used. Agree to the developer terms and create the app. Awesome! you have now created a Twitter App.\nGo the Permissions section , click on Edit and choose the \u0026ldquo;Read, write and Direct Messages\u0026rdquo; option and hit save. 4. Go to the \u0026ldquo;Keys and Tokens\u0026rdquo; section and click on generate to get the access token and access token secret. Copy them and save it securely. Also copy the API Key and API secret key.\nStep 2 - Create the Azure Function to connect to Twitter API Go to portal.azure.com and search for functions. Select \u0026ldquo;Function App\u0026rdquo; and click on \u0026ldquo;Add\u0026rdquo;. Select the subscription (if you don\u0026rsquo;t have one, setup a \u0026ldquo;Pay as you go\u0026rdquo; subscription), select the resource group or create a new one , define a function app name and choose the runtime stack and region. Then click on \u0026lsquo;Review+create\u0026rsquo;. Once the data is validated, select create and wait for some time for the function app to be deployed. Once deployed, open the function app and create a new function. Choose In-portal \u0026gt; Webhook + API \u0026gt; Create. Then go to the Application Settings of the function app and add the Twitter API keys and tokens there. I used these names - TwitterApiKey, TwitterApiSecret, TwitterAccessToken, TwitterAccessTokenSecret which I have referenced in the run.ps1 file (covered below) Now, copy the raw PowerShell code from here - run.ps1 (which I modified a bit from the version that I got from this blog post mentioned above in the credits. ) and paste it to your function\u0026rsquo;s run.ps1 file. Testing time! You have now successfully created the function and it\u0026rsquo;s time to make sure it\u0026rsquo;s working fine. Click on Test. Paste this in the Request body -\n{ \u0026#34;Resource\u0026#34;: \u0026#34;statuses/home\\_timeline.json\u0026#34;, \u0026#34;Method\u0026#34;: \u0026#34;GET\u0026#34;, \u0026#34;Parameters\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;PostBody\u0026#34;:\u0026#34;\u0026#34; } This should return an Output with your home timeline of tweets. If it doesn\u0026rsquo;t , check the steps mentioned above once more and try again to test. If it still doesn\u0026rsquo;t work, write a comment below with the issue that you are facing.\nIf it works, YAYYY!!! You have done an awesome job! Now you are ready to use the Twitter API to basically do anything that the API allows.\nBefore we create the flow , copy the function URL and save it somewhere. You will need it in the HTTP action.\nStep 3- Create the flow in Power Automate Add the \u0026ldquo;Manually trigger a flow\u0026rdquo; trigger and HTTP request as an action.\nTo create a tweet with a user mention, use the below in the body { \u0026#34;Resource\u0026#34;: \u0026#34;statuses/update.json\u0026#34;, \u0026#34;Method\u0026#34;: \u0026#34;POST\u0026#34;, \u0026#34;Parameters\u0026#34;:{ \u0026#34;status\u0026#34;:\u0026#34;This tweet was posted using an Azure function and @MSPowerAutomate\u0026#34; }, \u0026#34;PostBody\u0026#34;:\u0026#34;\u0026#34; } To send a DM to a user , you first need the user id (not the screen name/handle). The user id is a number which you can find either by searching for the user with API or just send a DM to the user and you will find it in the URL. One of numbers is your own user id and other one is the person who you are sending the message to. Also, to send DMs the person should follow you otherwise you can\u0026rsquo;t send. Once you have the user id, use the following in the body of the HTTP action.\n{ \u0026#34;Resource\u0026#34;: \u0026#34;direct_messages/events/new.json\u0026#34;, \u0026#34;Method\u0026#34;: \u0026#34;POST\u0026#34;, \u0026#34;Parameters\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;PostBody\u0026#34;:\u0026#39;{ \u0026#34;event\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;message_create\u0026#34;, \u0026#34;message_create\u0026#34;: { \u0026#34;target\u0026#34;: { \u0026#34;recipient_id\u0026#34;: \u0026#34;user-id\u0026#34; }, \u0026#34;message_data\u0026#34;: { \u0026#34;text\u0026#34;: \u0026#34;This is a test DM\u0026#34; } } } }\u0026#39; } Power Automate somehow finds this as invalid JSON and thus I followed this approach -\nYou can also send options in a DM using this - { \u0026#34;Resource\u0026#34;: \u0026#34;direct_messages/events/new.json\u0026#34;, \u0026#34;Method\u0026#34;: \u0026#34;POST\u0026#34;, \u0026#34;Parameters\u0026#34;:\u0026#34;\u0026#34;, \u0026#34;PostBody\u0026#34;:\u0026#39;{ \u0026#34;event\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;message_create\u0026#34;, \u0026#34;message_create\u0026#34;: { \u0026#34;target\u0026#34;: { \u0026#34;recipient_id\u0026#34;: \u0026#34;user-id\u0026#34; }, \u0026#34;message_data\u0026#34;: { \u0026#34;text\u0026#34;: \u0026#34;A DM with option \u0026#34;, \u0026#34;ctas\u0026#34;: [ { \u0026#34;type\u0026#34;: \u0026#34;web_url\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Open Google.com\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://google.com\u0026#34; }, { \u0026#34;type\u0026#34;: \u0026#34;web_url\u0026#34;, \u0026#34;label\u0026#34;: \u0026#34;Open Microsoft.com\u0026#34;, \u0026#34;url\u0026#34;: \u0026#34;https://microsoft.com\u0026#34; } ] } } } }\u0026#39; } You can basically use this to access anything under the Twitter API hood. For more info visit - https://developer.twitter.com/en/docs/api-reference-index\nAlso, you can follow a similar approach for any other API that uses Oauth 1.0 as the authentication method.\nComments: jsidarta - Oct 4, 2020\nThanks for the article, can we somehow embed this authentication method into a power automate custom connector?\n#### [elliottliu](https://www.elliottliu.com \"elliottliu@hotmail.co.uk\") - Mar 4, 2022 Thanks for sharing this! I stumbled across your article while trying to integrate with another API that used OAuth 1.0. I\u0026rsquo;ve adapted the code you provided to create a generic authorization header (https://github.com/Elliott-Liu/azure-functions-oauth-1.0).\n#### [vivekbavishi](http://thatapiguy.tech \"vivekbavishi@thatapiguy.tech\") - Apr 5, 2022 Wow. That\u0026rsquo;s awesome. I am going to try that out. Also, I saw your website and it\u0026rsquo;s impressive how you just stumbled upon this article and created something like this without much background in the subject. Kudos!\n#### [krapo](http://krapo.wordpress.com \"metalkrapo@gmail.com\") - Aug 3, 2022 Hi! Thanks a lot for this article. I tried to follow it as best as I could but I have to say I have no idea what I\u0026rsquo;m doing. I solved several problems I encountered but this one doesn\u0026rsquo;t get me a lot of Google results so I thought I would ask for your help. I get the following error message: 2022-08-03T16:14:35Z [Error] ERROR: Response status code does not indicate success: 400 (Bad Request). Exception : Type : Microsoft.PowerShell.Commands.WriteErrorException Message : Response status code does not indicate success: 400 (Bad Request). HResult : -2146233087 CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-TwitterRestMethod InvocationInfo : MyCommand : Invoke-TwitterRestMethod ScriptLineNumber : 390 OffsetInLine : 10 HistoryId : 1 ScriptName : C:\\home\\site\\wwwroot\\HttpTrigger2\\run.ps1 Line : $Tweet = Invoke-TwitterRestMethod -ResourceURL $ResourceURL -RestVerb $Method -Parameters $Parameters -OAuthSettings $OAuth -PostBody $PostBody PositionMessage : At C:\\home\\site\\wwwroot\\HttpTrigger2\\run.ps1:390 char:10 + $Tweet = Invoke-TwitterRestMethod -ResourceURL $ResourceURL -RestVerb … + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PSScriptRoot : C:\\home\\site\\wwwroot\\HttpTrigger2 PSCommandPath : C:\\home\\site\\wwwroot\\HttpTrigger2\\run.ps1 InvocationName : Invoke-TwitterRestMethod CommandOrigin : Internal ScriptStackTrace : at Invoke-TwitterRestMethod, C:\\home\\site\\wwwroot\\HttpTrigger2\\run.ps1: line 307 at , C:\\home\\site\\wwwroot\\HttpTrigger2\\run.ps1: line 390 PipelineIterationInfo : Thanks a lot for your help!\n","permalink":"/posts/oauth-1-0-connection-in-power-automate-post-tweets-with-user-mentions-and-send-dms-using-twitter-api/","summary":"\u003cp\u003eIn this post, you will learn how to connect to an API with OAuth 1.0 authentication in Power Automate. Using this connection, we will connect to Twitter API to post tweets with @mentions and also send DMs with quick actions. The Twitter connector available in Power Automate doesn\u0026rsquo;t allow user mentions and also doesn\u0026rsquo;t have an action to send DMs.\u003c/p\u003e\n\u003cp\u003eCurrently, it\u0026rsquo;s not possible to implement OAuth 1.0 directly in Power Automate as the HTTP action doesn\u0026rsquo;t have this type available in the list of authentication types. To overcome that, we will create an Azure function which connects to the Twitter API and then call the Azure function from Power Automate. Don\u0026rsquo;t worry if you haven\u0026rsquo;t created an Azure function before. I will walk through all the steps to create an Azure function as well\u003c/p\u003e","title":"OAuth 1.0 Connection in Power Automate | Post Tweets with user mentions and send DMs using Twitter API"},{"content":"Happy new year!!!\nDo you like new year resolutions? Do you like setting personal goals every year?\nIt\u0026rsquo;s the new year and the whole world is talking about taking new year\u0026rsquo;s resolutions. This year, the added layer of a new decade has made it even more exciting for some people. However, there are some people who don\u0026rsquo;t like to do it just for the sake of it, and then there is always this other group of people who just ask - \u0026ldquo;So how many days did your resolution last? 😏\u0026rdquo;. Recently, I have seen another group of people who just set goals for the year and work towards achieving them.\nTime for honest confessions - I have both of the below over the past few years-\nTook up a new year\u0026rsquo;s resolution , only to leave it in a few months , sometimes few days, and sometimes even a few hours . Set goals for the year - added it in my Microsoft To-Do app, and sort of just left it in the app to rot. Why is it that none of these things seem to work right? Is it a lack of motivation? Or is it just laziness? Or something else?\nAt work, all of us have specific goals defined and we get measured based on how we perform on these goals and accordingly get our salary hikes, bonuses, etc.. Then why not replicate the same model for your personal life? I might fail again, however, no harm in giving it a shot. Anyways, most of the organizations change their performance review system every few years, then, why can\u0026rsquo;t I.\nInspiration I definitely got inspired by Jon Levesque , who shares his goals on Twitter and also shares how he performed compared to what he committed to. I also had a good conversation with him about this when we met at Cincinnati ( https://www.youtube.com/watch?v=qL6sca-b81M ) and talking about this with him just inspired me more.\n2019 Review Though I didn\u0026rsquo;t set any goals in 2019, this is what I achieved last year -\nhttps://twitter.com/that_API_guy/status/1213528864800038914?s=20\n2020 Goals Content 4 blog posts or vlogs every month Launch a podcast on Power Platform and release new shows once every month Speaking Speak at 10 conferences Re-engage the Ohio Power Apps and Power Automate User Group . Target to have 6 user group meetings and get at-least 10-15 regular members. Training Become a Microsoft Certified Trainer Mentoring Guide / mentor at-least 3 people in their #PowerAddicts journey Fitness Get at-least 3 hours of exercise every week As you can see, I have divided my goals into different categories and also each of them is a measurable goal so I can exactly see how I performed compared to what I committed to.\nNow, some of you might think why the heck do I care about this random guy\u0026rsquo;s goals. Exactly, you shouldn\u0026rsquo;t! My objective here is to just give you some examples.\nSharing Goals I totally get it if you don\u0026rsquo;t feel like sharing this on social media. However, share it with someone - your spouse or your best friend or your parents(think twice before sharing with parents 😂 ). You HAVE to share with someone to keep you sort of answerable to someone. If you think you can be strict with yourself and that the only person you are answerable to is yourself, no need to share with anyone else.\nScheduling time for Goals SUPER IMPORTANT! It\u0026rsquo;s very easy to get lost in your day to day activities and lose track on your goals. As most of your goals will involve smaller steps to finally achieve the goal, schedule time for each of the step. And yes, I mean setup specific hours in your calendar so that you get reminders for it. For example, if it\u0026rsquo;s a blog post that you want to write, schedule time on your calendar to work on that blog post. This step is very crucial to your success.\nTracking Goals How am I going to a keep a track on this? Duh! Use Power Platform of course. In my next blog post, I will share how I created a Power App to keep a track on these goals and also, how I intend to stay on top of it.\nCelebrate Success It is important to reward yourself and celebrate your success. The rewards could be smaller for smaller goals or you could even reward yourself for reaching milestones within your goals. But there should be some reward, something to keep you motivated along your journey. Also, target to have a big reward if you achieve all your goals like taking a trip to some place or buying something that you were eyeing for some time.\nFinal thoughts This is going to be a new journey for me and I will keep posting and sharing as I embark on this adventure. If you would like to hike along with me on this journey, share your goals and your journey with me by adding the hashtag #2020journey.\nPhoto by Archie Binamira on Pexels.com\n","permalink":"/posts/setting-goals-for-2020/","summary":"\u003cp\u003eHappy new year!!!\u003c/p\u003e\n\u003cp\u003eDo you like new year resolutions? Do you like setting personal goals every year?\u003c/p\u003e\n\u003cp\u003eIt\u0026rsquo;s the new year and the whole world is talking about taking new year\u0026rsquo;s resolutions. This year, the added layer of a new decade has made it even more exciting for some people. However, there are some people who don\u0026rsquo;t like to do it just for the sake of it, and then there is always this other group of people who just ask - \u0026ldquo;So how many days did your resolution last? 😏\u0026rdquo;. Recently, I have seen another group of people who just set goals for the year and work towards achieving them.\u003c/p\u003e","title":"Setting goals for 2020"},{"content":"Difficulty Level : Intermediate\nLicense Requirement : Community Plan or Power Apps / Power Automate per app or per user plan\nIf you are not interested in the inception of this, skip the very interesting story and just jump to Let\u0026rsquo;s Create.\nThis whole idea started when I was on a road-trip from Cincinnati to Orlando with my #FlowFam ( Jon Levesque, Anton Robbins and Ed Gonzalez). We had more than 12 hours to spend and to make the most out of it we could only do one thing - Make a flow!\nThe flow had to be something around the road trip and we wanted to involve the community so that they felt like they were a part of it. So, we thought what if we could create a flow which when triggered manually, takes the geo location and the song that we are currently playing on Spotify and posts it on Twitter. And 1 hour later -\nTo take it to the next level, we created a flow to accept song requests from twitter , which we received as approvals (as some people were rick rolling us) and then as we hit on approve, it played the song right then. To see all this in action, watch this video from Jon who vlogged the whole story -\nhttps://youtu.be/qL6sca-b81M\nAdventures in Community 29 – SPS Cinci and the #FlowFam Road Trip to Summit\nWhen I built the flow (in the backseat of the pickup) I couldn\u0026rsquo;t make the best optimized version of it. I actually wanted to use a custom connector, however, for some reason that wasn\u0026rsquo;t working correctly and that\u0026rsquo;s why we had to use HTTP actions in flow and I had to generate a refresh token every hour and change it in the flow.\nLet\u0026rsquo;s create In this blog post, we will create a custom connector to connect to the Spotify API and use it to search for tracks, play a sound track and get the current playing track.\nStep 1 - Register an app on Spotify Step 2 - Create a custom connector Step 3 - Use in Power Automate and Power App If you are thinking about not doing this because custom connectors are premium, WAIT! You can create a community plan for your personal use for free!\nStep 1 - Register an app on Spotify If you don\u0026rsquo;t have Spotify premium, you can still use the custom connector , however, you won\u0026rsquo;t be able to play specific tracks. So, I would highly recommend getting the free trial.\nFollow the steps below to create an app on the Spotify developer portal -\nhttps://videopress.com/v/wF6XHKsc?preloadContent=metadata\nOnce you have created the app, you can copy the client id and client secret and paste it in notepad or whatever you think is a secure place (probably a sticky note pasted on your monitor)\nStep 2 - Create a custom connector If you don\u0026rsquo;t know anything about custom connectors or APIs , don\u0026rsquo;t worry! I didn\u0026rsquo;t know anything about it a year ago (and yes I still call myself That API Guy)\nFirst, go to either make.powerapps.com or flow.microsoft.com and log in with your credentials. Click on custom connectors in the left navigation menu.\nNext, click on New custom connector -\u0026gt; Create from blank. Then enter a name for the connector and click on continue.\nNow, you will see a wizard kind of experience with 4 steps, each of which I have described below with the screenshots.\nGeneral screenshot\nIn the security tab, use these values-\nFor Authorization URL : https://accounts.spotify.com/authorize For Token and Refresh URL : https://accounts.spotify.com/api/token Redirect URL - This will be generated after you click on create connector. For Scope : user-read-currently-playing user-modify-playback-state playlist-modify-private playlist-read-collaborative playlist-read-private user-read-playback-state Scope defines what permissions you want to give to you to your Spotify app. For this blog post, the scope above will be sufficient for all the actions that we want to perform. You can add / modify this later based on your requirement.\nSecurity screenshot\nIf you select Spotify under the identity provider, it messes up the scope and doesn\u0026rsquo;t prompt you to allow for all permissions that you entered in the scope. So, don\u0026rsquo;t select it please.\nClick on create connector. You will now see that the redirect URL has been created. Copy it and paste it on your Spotify app\u0026rsquo;s settings and save it.\nFor the Definition step, let\u0026rsquo;s create an action to get the current song playing on Spotify. We will try some other API endpoints at a later stage.\nNext, click on \u0026ldquo;Import from Sample\u0026rdquo; under the Request section to define the endpoint we\nClick on \u0026ldquo;Update Connector\u0026rdquo; and then go to the last tab \u0026lsquo;Test\u0026quot;.\nYou will have to create a new connection to test your custom connector.\nA window will pop-up asking you to log in to Spotify (if you aren\u0026rsquo;t already logged in to it in that same browser window). Once you log in, you will be asked to allow the Spotify app all the permissions that we entered in the scope. Click on agree the same way you would do for all the random apps in the world, at-least this an app that you created. You can TRUST this one! :)\nOnce you click agree, the connection will be created and weirdly you will be redirected to the Connections page. You would think that it would stay on the same page and allow you to test, however, not everything comes that easy I guess. Anyways, now that you are on the connections page, just search for Spotify and check if connection was created.\nNow, go back to Custom connectors page and click on edit, and go to the \u0026lsquo;Test\u0026rsquo; section. You will now see the connection that you just created in the Connections drop-down list. All that is left to do is to click on \u0026lsquo;Test Operation\u0026quot;! Before you do that, play a song on your Spotify.\nHere\u0026rsquo;s a demo -\nhttps://videopress.com/v/Eu41PUHc?preloadContent=metadata\n👍 Wow! that must feel good to get that working. That\u0026rsquo;s just the start though.\nHere are some more actions (API endpoints) to have fun with this connector. You can create a lot more from using this API reference doc.\nS_tart or Resume playback -_ https://developer.spotify.com/documentation/web-api/reference/player/start-a-users-playback/\nSample data for body - { \u0026#34;context_uri\u0026#34;: \u0026#34;spotify:album:1Je1IMUlBXcx1Fz0WE7oPT\u0026#34;, \u0026#34;uris\u0026#34;: [\u0026#34;spotify:track:4iV5W9uYEdYUVa79Axb7Rh\u0026#34;, \u0026#34;spotify:track:1301WleyT98MSxVHPZCA6M\u0026#34;] } Start or Resume playback - https://developer.spotify.com/documentation/web-api/reference/player/start-a-users-playback/\nCreate a Playlist - https://developer.spotify.com/documentation/web-api/reference/playlists/create-playlist/\nAdd tracks to playlist - https://developer.spotify.com/documentation/web-api/reference/playlists/add-tracks-to-playlist/\nSearch for tracks - https://developer.spotify.com/documentation/web-api/reference/search/search/\nStep 3 - Use in Power Automate and Power App Now that you have the custom connector created, let\u0026rsquo;s use it in a flow and app.\nIn a flow - We will create a flow to search for a christmas song and play the first one from the list of results. Search for the custom connector to find the actions\nComplete flow\nThis is the expression I used to get the track id from the JSON response from the Search for tracks action -\nbody(\u0026#39;Search\\_for\\_Tracks\u0026#39;)\\[\u0026#39;tracks\u0026#39;\\]\\[\u0026#39;items\u0026#39;\\]\\[0\\]\\[\u0026#39;id\u0026#39;\\] Let\u0026rsquo;s see it in action now -\nhttps://videopress.com/v/7hZPjqvA?preloadContent=metadata\n2. In a Power App - Let\u0026rsquo;s make this one a challenge. Create a Power App with this custom connector and tweet a demo of it on Twitter with the hashtag #PowerPlaySpotify and I will do something special for you!\nHere\u0026rsquo;s some inspiration -\nhttps://videopress.com/v/0BVfbi8h?preloadContent=metadata\nThere is a lot more that you can do with this connector, especially for the holiday season. So go create this and tweet about it with the #PowerPlaySpotify . I would love to see your creativity with it.\nNote: If you do end up using other actions / endpoints, make sure to check if the scope required for that endpoint is included in the Scope under security.\nEnjoy and Happy holidays!\nPhoto by Brett Sayles on Pexels.com Comments: Power Automate Tutorial – How to Create a Custom Connector – Power Community - Feb 6, 2020\n[…] You can also check out this blog post that Vivek created on the same topic – https://thatapiguy.tech/2019/12/08/spotify-custom-connector-for-power-platform/ […]\n#### [Darth Business (@prohib_IT)](http://twitter.com/prohib_IT \"prohib_IT@twitter.example.com\") - May 2, 2020 Awesome! Thank you for the tutorial. Is it possible to add the song\u0026rsquo;s name and the author to the Microsoft Teams Status?\n#### [That API Guy]( \"\") - May 6, 2020 Thank you for the comment. Microsoft Teams status is not something that is accessible through any of the Graph API endpoints as of today, so no way to programatically change it. Might be something that opens up in the future.\n#### [efoucault](http://146rdb.wordpress.com \"efoucault@gmail.com\") - Feb 3, 2021 Hello, Inspired by your post I tried to create a canva app to create a spotify player like app. I succeeded in retrieving my playlists and tracks but I can\u0026rsquo;t seem to go to the next track due to a permission issue. I added the required permission in my custom connector : user-modify-playback-state but When I test it, I receive the following message: { \u0026ldquo;error\u0026rdquo;: { \u0026ldquo;status\u0026rdquo;: 401, \u0026ldquo;message\u0026rdquo;: \u0026ldquo;Permissions missing\u0026rdquo; } } { \u0026ldquo;Transfer-Encoding\u0026rdquo;: \u0026ldquo;chunked\u0026rdquo;, \u0026ldquo;x-robots-tag\u0026rdquo;: \u0026ldquo;noindex,nofollow\u0026rdquo;, \u0026ldquo;access-control-allow-origin\u0026rdquo;: \u0026ldquo;*\u0026rdquo;, \u0026ldquo;access-control-allow-headers\u0026rdquo;: \u0026ldquo;Accept,App-Platform,Authorization,Content-Type,Origin,Retry-After,Spotify-App-Version,X-Cloud-Trace-Context,client-token,content-access-token\u0026rdquo;, \u0026ldquo;access-control-allow-methods\u0026rdquo;: \u0026ldquo;GET,POST,OPTIONS,PUT,DELETE,PATCH\u0026rdquo;, \u0026ldquo;access-control-allow-credentials\u0026rdquo;: \u0026ldquo;true\u0026rdquo;, \u0026ldquo;access-control-max-age\u0026rdquo;: \u0026ldquo;604800\u0026rdquo;, \u0026ldquo;strict-transport-security\u0026rdquo;: \u0026ldquo;max-age=31536000\u0026rdquo;, \u0026ldquo;x-content-type-options\u0026rdquo;: \u0026ldquo;nosniff\u0026rdquo;, \u0026ldquo;Alt-Svc\u0026rdquo;: \u0026ldquo;clear\u0026rdquo;, \u0026ldquo;x-ms-apihub-cached-response\u0026rdquo;: \u0026ldquo;false\u0026rdquo;, \u0026ldquo;Cache-Control\u0026rdquo;: \u0026ldquo;max-age=0, private\u0026rdquo;, \u0026ldquo;Date\u0026rdquo;: \u0026ldquo;Wed, 24 Feb 2021 13:00:47 GMT\u0026rdquo;, \u0026ldquo;Via\u0026rdquo;: \u0026ldquo;HTTP/2 edgeproxy,1.1 google\u0026rdquo;, \u0026ldquo;Content-Type\u0026rdquo;: \u0026ldquo;application/json; charset=utf-8\u0026rdquo;, \u0026ldquo;Content-Length\u0026rdquo;: \u0026ldquo;79\u0026rdquo; } I don\u0026rsquo;t understand where it comes from. Would you be kind enough to give me a hand on this one ? thanks !\n#### [Alec]( \"alecpierre@gmail.com\") - Apr 6, 2021 THANK YOU!!!! Very helpful and informative. Didn\u0026rsquo;t skip a step at all, so very helpful to first time power automate users such as myself. Now I\u0026rsquo;m creating my own custom spotify flows to fit my needs.\n#### [Power Automate Tutorial \u0026#8211; How to Create a Custom Connector \u0026#8211; TDG](https://powerplatform.app/archives/power-automate-tutorial-how-to-create-a-custom-connector/ \"\") - May 1, 2021 […] You can also check out this blog post that Vivek created on the same topic – https://thatapiguy.tech/2019/12/08/spotify-custom-connector-for-power-platform/ […]\n#### [Playing Spotify on Google Home using Flic and Power Automate \u0026#8211; TDG](https://powerplatform.app/archives/playing-spotify-on-google-home-using-flic-and-power-automate/ \"\") - Jun 3, 2021 […] blog post at https://thatapiguy.tech/2019/12/08/spotify-custom-connector-for-power-platform/ Road trip vlog at […]\n#### [Vishesh Sethiya]( \"vishesh819@gmail.com\") - Aug 4, 2021 I can\u0026rsquo;t send it to different environment of POwer automate, as while I test actions it gives error: Permission Missing.\n#### [How to update your Microsoft Teams status using Power Automate - DZTECHNO](https://dztechno.com/how-to-update-your-microsoft-teams-status-using-power-automate/ \"\") - Mar 4, 2022 […] Spotify project by another Microsoft MVP, Loryan Strant. It takes a Spotify custom connector with a thorough guide created by That API Guy and updates their Microsoft Teams status to show what song and artist they are listening to on […]\n#### [How to update your Microsoft Teams status using Power Automate – OnMSFT.com | Public Press Partner](https://www.publicpresspartner.com/how-to-update-your-microsoft-teams-status-using-power-automate-onmsft-com/ \"\") - Mar 5, 2022 […] Spotify project by another Microsoft MVP, Loryan Strant. It takes a Spotify custom connector with a thorough guide created by That API Guy and updates their Microsoft Teams status to show what song and artist they are listening to on […]\n#### [Update Microsoft Teams Status with Apple Music \u0026#8220;Now Playing\u0026#8221; | Patrick Sprague](https://patricksprague.wordpress.com/2022/04/20/update-microsoft-teams-status-with-apple-music-now-playing/ \"\") - Apr 3, 2022 […] There are good resources for setting your Slack status from Spotify, or even your Teams status from Spotify. In fact, I relied heavily on Loryan Strant’s work, as well as work from DamoBird, Luise Freese, and That API Guy. […]\n#### [Cách cập nhật trạng thái Microsoft Teams của bạn bằng Power Automate - AppFolder.net](https://appfolder.net/cach-cap-nhat-trang-thai-microsoft-teams-cua-ban-bang-power-automate \"\") - Apr 6, 2022 […] khác của Microsoft, Loryan Strant. Nó cần một trình kết nối tùy chỉnh Spotify với hướng dẫn kỹ lưỡng được tạo bởi That API Guy và cập nhật trạng thái Microsoft Teams của họ để hiển thị bài hát và nghệ […]\n#### [angelo]( \"admr369@gmail.com\") - Jul 5, 2022 hello, this is very good, I have created a folder that brings the albums of an artist but not all of them and it is paginated, how can I make it bring them all?\n#### [So aktualisieren Sie Ihren Microsoft Teams-Status mit Power Automate - eloz](https://eloz.store/so-aktualisieren-sie-ihren-microsoft-teams-status-mit-power-automate/ \"\") - Oct 3, 2022 […] Microsoft MVP, Loryan Strant. Es benötigt einen benutzerdefinierten Spotify-Konnektor mit a ausführliche Anleitung erstellt von That API Guy und aktualisiert ihren Microsoft Teams-Status, um anzuzeigen, welchen Song und Interpreten sie auf […]\n#### [So aktualisieren Sie Ihren Microsoft Teams-Status mit Power Automate - eloz](https://eloz.store/so-aktualisieren-sie-ihren-microsoft-teams-status-mit-power-automate-2/ \"\") - Jan 2, 2023 […] Microsoft MVP, Loryan Strant. Es benötigt einen benutzerdefinierten Spotify-Konnektor mit a ausführliche Anleitung, die von That API Guy erstellt wurde und aktualisiert ihren Microsoft Teams-Status, um anzuzeigen, welchen Song und Interpreten sie auf […]\n","permalink":"/posts/spotify-custom-connector-for-power-platform/","summary":"\u003cp\u003e\u003cem\u003eDifficulty Level : Intermediate\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eLicense Requirement : \u003ca href=\"https://powerapps.microsoft.com/en-us/communityplan/\"\u003eCommunity Plan\u003c/a\u003e or Power Apps / Power Automate per app or per user plan\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eIf you are not interested in the inception of this, skip the very interesting story and just jump to \u003ca href=\"/posts/spotify-custom-connector-for-power-platform/#letscreate\"\u003eLet\u0026rsquo;s Create\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThis whole idea started when I was on a road-trip from Cincinnati to Orlando with my #FlowFam ( \u003ca href=\"https://twitter.com/JonJLevesque\"\u003eJon Levesque\u003c/a\u003e\u003ca href=\"https://twitter.com/JonJLevesque\"\u003e,\u003c/a\u003e \u003ca href=\"https://twitter.com/Anton_Rob_Benz\"\u003eAnton Robbins\u003c/a\u003e \u003ca href=\"https://twitter.com/JonJLevesque\"\u003e\u003c/a\u003e and \u003ca href=\"https://twitter.com/PoweredbyEdG\"\u003eEd Gonzalez\u003c/a\u003e). We had more than 12 hours to spend and to make the most out of it we could only do one thing - Make a flow!\u003c/p\u003e","title":"Spotify Custom Connector for Power Platform"},{"content":"https://youtu.be/e_97F47hzm8\nA trip to remember - Microsoft Ignite Day 2, 3 and 4 What a trip this has been. I got to meet so many of the community members and got to spend some great time with them. I believe conferences are more about the people you meet. Ofcourse, the sessions are great and I am so happy that I could attend a lot of them and could then personally connect to the speaker. You can always watch the sessions later, however, the personal connections you make are priceless. And ofcourse you should also enjoy the non-conference part as well and hang out at the parties which are hosted every night by several companies. And DO NOT MISS THE UNIVERSAL PARTY! This video shows my journey at Ignite this year which I wanted to share with all of you just for fun. Hope you enjoy it!\n","permalink":"/posts/a-trip-to-remember-microsoft-ignite-day-2-3-and-4/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/e\"\u003ehttps://youtu.be/e\u003c/a\u003e_97F47hzm8\u003c/p\u003e\n\u003cp\u003eA trip to remember - Microsoft Ignite Day 2, 3 and 4 What a trip this has been. I got to meet so many of the community members and got to spend some great time with them. I believe conferences are more about the people you meet. Ofcourse, the sessions are great and I am so happy that I could attend a lot of them and could then personally connect to the speaker. You can always watch the sessions later, however, the personal connections you make are priceless. And ofcourse you should also enjoy the non-conference part as well and hang out at the parties which are hosted every night by several companies. And DO NOT MISS THE UNIVERSAL PARTY! This video shows my journey at Ignite this year which I wanted to share with all of you just for fun. Hope you enjoy it!\u003c/p\u003e","title":"A trip to remember - Microsoft Ignite Day 2, 3 and 4"},{"content":"https://youtu.be/YEHG0cxoqVs\nI was in the Keynote - Microsoft Ignite Day 1\n","permalink":"/posts/i-was-in-the-keynote-microsoft-ignite-day-1/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/YEHG0cxoqVs\"\u003ehttps://youtu.be/YEHG0cxoqVs\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eI was in the Keynote - Microsoft Ignite Day 1\u003c/p\u003e","title":"I was in the Keynote - Microsoft Ignite Day 1"},{"content":"https://youtu.be/70RdsCsHlHY\nHow to Setup a Studio for Tutorial Videos Links to buy all the products mentioned in the video - FYI - None of these are referral links so don\u0026rsquo;t shy to click them . Also, I bought a lot of products used from Facebook marketplace so the price mentioned in the video won\u0026rsquo;t be the same as on the links. Surface Pro 7 https://www.microsoft.com/en-us/p/surface-pro-7/8N17J0M5ZZQS/ Surface Pro 6 https://www.amazon.com/Microsoft-Surface-Intel-Core-128GB/dp/B07HZNKGDV?th=1 Surface dock https://www.amazon.com/Microsoft-PD9-00003-Surface-Dock/dp/B0163HP38W/ Mini display-port to display-port cables https://www.amazon.com/gp/product/B00YOQYQWY/ Dell 22 inch monitor P2217H https://www.bhphotovideo.com/c/product/1258847-REG/dell_p2217h_22_16_9_ips.html Blue yeti https://www.amazon.com/Blue-Yeti-USB-Microphone-Blackout/dp/B00N1YPXW2/ Mic Stand https://www.amazon.com/gp/product/B07CN2C93T/ Logitech C920S webcam (C920 is outdated now) https://www.amazon.com/Logitech-C920S-Webcam-Privacy-Shutter/dp/B07K95WFWM LED strip with dimmer https://www.amazon.com/gp/product/B07TMXVCJT/ Ikea Desk https://www.ikea.com/us/en/p/skarsta-desk-sit-stand-white-s49084965/ Cable Sleeve https://www.amazon.com/gp/product/B01MR6QQLR/ If you have any questions, please let me know in the comments below\n","permalink":"/posts/how-to-setup-a-studio-for-tutorial-videos/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/70RdsCsHlHY\"\u003ehttps://youtu.be/70RdsCsHlHY\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHow to Setup a Studio for Tutorial Videos Links to buy all the products mentioned in the video - FYI - None of these are referral links so don\u0026rsquo;t shy to click them . Also, I bought a lot of products used from Facebook marketplace so the price mentioned in the video won\u0026rsquo;t be the same as on the links. Surface Pro 7 \u003ca href=\"https://www.microsoft.com/en-us/p/surface-pro-7/8N17J0M5ZZQS/\"\u003ehttps://www.microsoft.com/en-us/p/surface-pro-7/8N17J0M5ZZQS/\u003c/a\u003e Surface Pro 6 \u003ca href=\"https://www.amazon.com/Microsoft-Surface-Intel-Core-128GB/dp/B07HZNKGDV?th=1\"\u003ehttps://www.amazon.com/Microsoft-Surface-Intel-Core-128GB/dp/B07HZNKGDV?th=1\u003c/a\u003e Surface dock \u003ca href=\"https://www.amazon.com/Microsoft-PD9-00003-Surface-Dock/dp/B0163HP38W/\"\u003ehttps://www.amazon.com/Microsoft-PD9-00003-Surface-Dock/dp/B0163HP38W/\u003c/a\u003e Mini display-port to display-port cables \u003ca href=\"https://www.amazon.com/gp/product/B00YOQYQWY/\"\u003ehttps://www.amazon.com/gp/product/B00YOQYQWY/\u003c/a\u003e Dell 22 inch monitor P2217H \u003ca href=\"https://www.bhphotovideo.com/c/product/1258847-REG/dell\"\u003ehttps://www.bhphotovideo.com/c/product/1258847-REG/dell\u003c/a\u003e_p2217h_22_16_9_ips.html Blue yeti \u003ca href=\"https://www.amazon.com/Blue-Yeti-USB-Microphone-Blackout/dp/B00N1YPXW2/\"\u003ehttps://www.amazon.com/Blue-Yeti-USB-Microphone-Blackout/dp/B00N1YPXW2/\u003c/a\u003e Mic Stand \u003ca href=\"https://www.amazon.com/gp/product/B07CN2C93T/\"\u003ehttps://www.amazon.com/gp/product/B07CN2C93T/\u003c/a\u003e Logitech C920S webcam (C920 is outdated now) \u003ca href=\"https://www.amazon.com/Logitech-C920S-Webcam-Privacy-Shutter/dp/B07K95WFWM\"\u003ehttps://www.amazon.com/Logitech-C920S-Webcam-Privacy-Shutter/dp/B07K95WFWM\u003c/a\u003e LED strip with dimmer \u003ca href=\"https://www.amazon.com/gp/product/B07TMXVCJT/\"\u003ehttps://www.amazon.com/gp/product/B07TMXVCJT/\u003c/a\u003e Ikea Desk \u003ca href=\"https://www.ikea.com/us/en/p/skarsta-desk-sit-stand-white-s49084965/\"\u003ehttps://www.ikea.com/us/en/p/skarsta-desk-sit-stand-white-s49084965/\u003c/a\u003e Cable Sleeve \u003ca href=\"https://www.amazon.com/gp/product/B01MR6QQLR/\"\u003ehttps://www.amazon.com/gp/product/B01MR6QQLR/\u003c/a\u003e If you have any questions, please let me know in the comments below\u003c/p\u003e","title":"How to Setup a Studio for Tutorial Videos"},{"content":"Do you have a form where you ask a user to enter a website URL ?\nThere is no direct way to validate URL in PowerApps today, however, you can use IsMatch function along with Regular Expressions to do this.\nHere is the expression you need to validate a URL -\nIsMatch(URL_Input.Text, \u0026#34;(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$\u0026amp;\u0026#39;\\(\\)\\*\\+,;=.]+$\u0026#34;) That\u0026rsquo;s it, now you can use this to change the border-color of the Text Input box so that the app user knows when he URL entered is incorrect.\nHere is an example -\nValidate URL in PowerApps\nThe expression that is used in the border color property -\nIf(!IsBlank(URL_Input.Text), If(IsMatch(URL_Input.Text, \u0026#34;(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$\u0026amp;\u0026#39;\\(\\)\\*\\+,;=.]\u0026#34;),Green,Red),RGBA(166, 166, 166, 1)) Hope this helped.\nDon\u0026rsquo;t forget to follow the blog to get the latest content on Power Platform.\nAlso, you can follow me on Twitter and subscribe to my channel on YouTube . Comments: Beat - Jan 5, 2020\nThis doesn\u0026rsquo;t work if the URL has /folder/subfolder/etc. This one works (from https://www.regextester.com/94502) (?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$\u0026amp;\u0026rsquo;\\(\\)\\*\\+,;=.]+$\n#### [That API Guy]( \"\") - Jan 6, 2020 Thank you for pointing that out. I have updated the blog post. :)\n#### [Power Apps \u0026#8211; Validate the URL only if the URL is entered in text box \u0026#8211; Shakir\u0026#039;s Blog](http://shakirmajeed.com/2020/03/06/772/ \"\") - Mar 5, 2020 […] out the following urlhttps://thatapiguy.tech/2019/09/18/validate-a-url-in-powerapps/, well written quick […]\n#### [Fernando]( \"f.dominguez@necsia.es\") - Oct 4, 2021 Thanks, but this not works for url with %20 This one fix this problem: (?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]%@!\\$\u0026amp;’\\(\\)\\*\\+,;=.]+$\n#### [Indhaa]( \"nihad@bml.com.mv\") - Dec 4, 2021 I amended the expression since it doesn\u0026rsquo;t validate if URL is with sub folders and %2. The below works for me now \u0026ldquo;(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$\u0026amp;\u0026rsquo;\\(\\)\\*\\+,;=.]+[\\%\\w]+$\u0026rdquo;\n#### [Marie]( \"itd6@cdc.gov\") - Jun 3, 2022 How would I add more items to this code? I would like more items required (like this URL) where they can only put in URLs for a specific site: https://www.sitename.com/ \u0026lt;\u0026ndash; this is good http://www.sksjdhfsjdhf.com/ \u0026lt;\u0026ndash; this is not good https://www.sitename.com/pagename.html \u0026lt;\u0026ndash; this is good https://www.sitename.com/foldername/pagename.html \u0026lt;\u0026ndash; this is good\n","permalink":"/posts/validate-a-url-in-powerapps/","summary":"\u003cp\u003eDo you have a form where you ask a user to enter a website URL ?\u003c/p\u003e\n\u003cp\u003eThere is no direct way to validate URL in PowerApps today, however, you can use \u003ca href=\"https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/functions/function-ismatch\"\u003eIsMatch\u003c/a\u003e function along with \u003ca href=\"https://www.regextester.com/94502\"\u003eRegular Expressions\u003c/a\u003e to do this.\u003c/p\u003e\n\u003cp\u003eHere is the expression you need to validate a URL -\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eIsMatch(URL_Input.Text, \u0026#34;(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$\u0026amp;\u0026#39;\\(\\)\\*\\+,;=.]+$\u0026#34;)\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eThat\u0026rsquo;s it, now you can use this to change the border-color of the Text Input box so that the app user knows when he URL entered is incorrect.\u003c/p\u003e","title":"Validate a URL in PowerApps"},{"content":"https://youtu.be/aNdxSdG9ZQ8\nMicrosoft Flow Online Conference will be held on Sept. 10, 2019 Lots of great sessions to look out for. Don\u0026rsquo;t miss it! Register now! aka.ms/FlowConfReg\n","permalink":"/posts/microsoft-flow-online-conference-teaser/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/aNdxSdG9ZQ8\"\u003ehttps://youtu.be/aNdxSdG9ZQ8\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eMicrosoft Flow Online Conference will be held on Sept. 10, 2019 Lots of great sessions to look out for. Don\u0026rsquo;t miss it! Register now! aka.ms/FlowConfReg\u003c/p\u003e","title":"Microsoft Flow Online Conference Teaser"},{"content":"Recently, I was looking for some app to remind me to drink water and monitor my waterintake. I know you might say - JUST REMEMBER IT YOURSELF! However, I am a geek who likes to use technology to give me some nudges. So, I reviewed a bunch of apps but none of them had the exact thing I was looking for. Some of them were too fancy and some were asking to PAY for the \u0026ldquo;pro\u0026rdquo; version. I was definitely not going to spend money to just give me reminders , so I ventured to build something from the Microsoft suite of tools which was more integrated with my work life and was the best way to actually make me drink more.\nThe big idea The main requirement was an effective way to \u0026ldquo;nudge\u0026rdquo; me to drink water and at the same time to be able to monitor how much I am drinking on a daily basis.\nI used Microsoft Flow to send me hourly reminders in Teams as an adaptive card, where I could select how much I drank. This was then recorded in a SharePoint List which was then used as a database for a PowerBI dashboard. Sheesh, that sounds complicated but believe me it\u0026rsquo;s much more easier than it sounds. So, let\u0026rsquo;s get started.\nStep 1: Create a SharePoint List SharePoint list is probably the easiest data source for this, however, you can also use Excel in your OneDrive. The list has two columns \u0026ldquo;Amount of Water\u0026rdquo; to record the quantity and \u0026ldquo;Time\u0026rdquo; for recording when I drank.\nStep 2: Let\u0026rsquo;s Flow Quoting Luise Freese - \u0026ldquo;Flow is the glue that holds everything together\u0026rdquo;. That\u0026rsquo;s exactly what we are using Flow here for - to connect to SharePoint , Teams and PowerBI.\nHere is a snapshot of the Flow -\nYou can download the Flow .zip file from github here - https://github.com/thatapiguy/Monitor-water-intake-using-Flow-Teams-and-PowerBI\nNow, let\u0026rsquo;s break down the flow a bit.\n1. My intention was to run the flow everyday from 8 AM to 4PM which is when I am most likely to \u0026ldquo;obediently\u0026rdquo; follow the reminders. 😀 And for that I used the recurrence trigger.\n2. Next, I used the \u0026ldquo;Current time\u0026rdquo; and \u0026ldquo;Convert time zone\u0026rdquo; actions which I will be using later to check if the time is between 8 AM and 4 PM. I also initialized a variable to store the amount of water I drink.\n2. Next, I am checking if the current time is between 8 AM and 4 PM. To do that, I used an expression to first get the hours value and then converted it to integer. And then I compared if it\u0026rsquo;s greater than 8 and less than 16. To get more info on standard date and time format strings, go to this docs link and bookmark it NOW! Trust me.\nint(formatDateTime(body(\u0026#39;Convert_time_zone\u0026#39;),\u0026#39;HH\u0026#39;)) 3. Now comes the most important part of the Flow - the reminder to drink. To send the reminder , I am using the Teams action - \u0026ldquo;Post a choice of options as the Flow bot to a user\u0026rdquo;. It\u0026rsquo;s kind of similar to an approval e-mail with options. It will basically send an IM to myself as an adaptive card with multiple options to select from. And then the Flow will wait for me to select and submit an option. Just for fun, I made the options as water emojis 💧💧💧 (did you know you could use windows key + ; to insert emojis on your windows computer?)\n4. Next, I set the variable AmountOfWater to either 100, 200 or 300 based on the emoji selected using the Switch-Case action. After that I used that variable as the Title of the new record in the SharePoint list and also recorded the time.(using the Create Item action). That\u0026rsquo;s it, the Flow is done.\nStep 3: Setup a PowerBI dashboard Click on \u0026ldquo;Get Data\u0026rdquo; and then select the \u0026ldquo;Create new content\u0026rdquo; with Files. Then select SharePoint - Team Sites and enter the SharePoint site where your list is located.\nOnce connected, you can create a simple bar chart with Time as your X-axis and Title/Amount of Water as your Value. One thing that I had to change was the data type for both the fields using PowerBI desktop as it didn\u0026rsquo;t recognize it correctly. (or probably I was doing something wrong as I am a noob in PowerBI 😄)\nStep 4: Obediently follow the reminders in Teams 😀 The good thing about Teams adaptive cards is that it works seamlessly on your phone as well. So even if you are not on your computer , you can get reminders on the phone.\nAndd\u0026hellip; that\u0026rsquo;s a wrap! I know this is no business use case , however this integration between Teams adaptive cards, Flow, SharePoint and PowerBI can be used for so much more. This was just a fun way to understand the integration. And hey, in the process if you can stay hydrated as well, that\u0026rsquo;s a bonus.\nPlease tell me that you had at-least one sip of water while reading all this. If not, do it now. I am getting the reminder as well. 💧\nDon\u0026rsquo;t forget to follow the blog to get the latest content on Power Platform.\nAlso, you can follow me on Twitter and subscribe to my channel on YouTube . Comments: Nick - Dec 0, 2019\nVery nice! I\u0026rsquo;m still lost with the logic behind Flows but I like this tutorial, will try it soon :)\n#### [Phill Harris]( \"pharris@nada.org\") - Aug 4, 2020 Although not business-related, I love this as a proof-of-concept. Great job—can\u0026rsquo;t wait to create it here!\n#### [Phill Harris]( \"pharphl1@gmail.com\") - Nov 3, 2020 This works great\u0026hellip;thank you. How would I update the flow to terminate if there\u0026rsquo;s no response say, by the end of the current day? The flows I created keep running if there\u0026rsquo;s no response until they exceed 30 days. Thanks\n#### [Stay hydrated - Learn about Variables and Functions in Power Automate - Gezeitenbrand](https://gezeitenbrand.de/stay-hydrated-learn-about-variables-and-functions-in-power-automate/ \"\") - Jan 0, 2021 […] into his tutorial and tried to rebuild that. With every flow you build you learn […]\n","permalink":"/posts/stay-hydrated--using-microsoft-teams-flow-and-powerbi/","summary":"\u003cp\u003eRecently, I was looking for some app to remind me to drink water and monitor my waterintake. I know you might say - JUST REMEMBER IT YOURSELF! However, I am a geek who likes to use technology to give me some nudges. So, I reviewed a bunch of apps but none of them had the exact thing I was looking for. Some of them were too fancy and some were asking to PAY for the \u0026ldquo;pro\u0026rdquo; version. I was definitely not going to spend money to just give me reminders , so I ventured to build something from the Microsoft suite of tools which was more integrated with my work life and was the best way to actually make me drink more.\u003c/p\u003e","title":"Stay hydrated 💧💧💧 using Microsoft Teams, Flow and PowerBI"},{"content":"https://youtu.be/JYHkVyFampM\nHello #PowerAddicts! In this video, I had the pleasure to chat with Eric McKinney from G\u0026amp;J Pepsi who watched mine and Jon Levesque\u0026rsquo;s video on connecting Siri to Flow and then made a support ticket system out of it within a few hours. Join us to learn how to use the iOS shortcuts app to trigger Siri, provide some inputs and then send it to Microsoft Flow to create a new ticket in a SharePoint List. This makes it much quicker (like 5 seconds) for G\u0026amp;J Pepsi\u0026rsquo;s employees to create a support ticket. You can find Eric on Twitter - https://twitter.com/rowdybrownsfan Watch Eric\u0026rsquo;s video at the Microsoft Inspire keynote here - https://www.youtube.com/watch?v=IA8aRy_WM4s Watch mine and Jon\u0026rsquo;s video on connecting Siri to Flow here - https://www.youtube.com/watch?v=K3B9Ivs9dxA\n","permalink":"/posts/hey-siri-create-a-support-ticket-with-eric-mckinney-from-gj-pepsi/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/JYHkVyFampM\"\u003ehttps://youtu.be/JYHkVyFampM\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eHello #PowerAddicts! In this video, I had the pleasure to chat with Eric McKinney from G\u0026amp;J Pepsi who watched mine and Jon Levesque\u0026rsquo;s video on connecting Siri to Flow and then made a support ticket system out of it within a few hours. Join us to learn how to use the iOS shortcuts app to trigger Siri, provide some inputs and then send it to Microsoft Flow to create a new ticket in a SharePoint List. This makes it much quicker (like 5 seconds) for G\u0026amp;J Pepsi\u0026rsquo;s employees to create a support ticket. You can find Eric on Twitter - \u003ca href=\"https://twitter.com/rowdybrownsfan\"\u003ehttps://twitter.com/rowdybrownsfan\u003c/a\u003e Watch Eric\u0026rsquo;s video at the Microsoft Inspire keynote here - \u003ca href=\"https://www.youtube.com/watch?v=IA8aRy\"\u003ehttps://www.youtube.com/watch?v=IA8aRy\u003c/a\u003e_WM4s Watch mine and Jon\u0026rsquo;s video on connecting Siri to Flow here - \u003ca href=\"https://www.youtube.com/watch?v=K3B9Ivs9dxA\"\u003ehttps://www.youtube.com/watch?v=K3B9Ivs9dxA\u003c/a\u003e\u003c/p\u003e","title":"Hey Siri, Create a Support Ticket - with Eric McKinney from G\u0026J Pepsi"},{"content":"https://youtu.be/q-aJzStXt4k\nThis month we have a speaker all the way from Poland - Tomasz Poszytek . He has done some amazing work with Adaptive cards that he will be sharing with us. You don\u0026rsquo;t want to miss it. Also, our very own Shane Young will be sharing all the major updates from MBAS. There were 400 features announced in the 2019 Release Plan Wave 2!!! Agenda- 1. Adaptive Cards - what is it, what is used for, how to use it - Tomasz Poszytek 2. MBAS 2019 Updates - Shane Young 3. Q\u0026amp;A\n","permalink":"/posts/july-2019-cincinnati-powerapps-and-flow-user-group-meeting/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/q-aJzStXt4k\"\u003ehttps://youtu.be/q-aJzStXt4k\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis month we have a speaker all the way from Poland - Tomasz Poszytek . He has done some amazing work with Adaptive cards that he will be sharing with us. You don\u0026rsquo;t want to miss it. Also, our very own Shane Young will be sharing all the major updates from MBAS. There were 400 features announced in the 2019 Release Plan Wave 2!!! Agenda- 1. Adaptive Cards - what is it, what is used for, how to use it - Tomasz Poszytek 2. MBAS 2019 Updates - Shane Young 3. Q\u0026amp;A\u003c/p\u003e","title":"July 2019 - Cincinnati PowerApps and Flow User Group Meeting"},{"content":"https://youtu.be/WtLQzXaE1Yw\nIn this video, you will see a demo of the new AI Builder\u0026rsquo;s capabilities -\n1. Scanning a business card\n2. Detecting the type of Swag\n3. Processing an Invoice\nThis video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch.\n1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw\n2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc\n2. Magic of the Object Detector | PowerApps AI Builder - https://youtu.be/cdoQ5xlLwmE\n3. Quick and Easy Processing of Invoices | PowerApps AI Builder - https://youtu.be/jLrFI8JNsFg\n","permalink":"/posts/ai-builder-quick-demo-business-card-scanner-object-detector-form-processor-2/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/WtLQzXaE1Yw\"\u003ehttps://youtu.be/WtLQzXaE1Yw\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eIn this video, you will see a demo of the new AI Builder\u0026rsquo;s capabilities -\u003cbr\u003e\n1. Scanning a business card\u003cbr\u003e\n2. Detecting the type of Swag\u003cbr\u003e\n3. Processing an Invoice\u003c/p\u003e\n\u003cp\u003eThis video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch.\u003cbr\u003e\n1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw\u003cbr\u003e\n2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc\u003cbr\u003e\n2. Magic of the Object Detector | PowerApps AI Builder - \u003ca href=\"https://youtu.be/cdoQ5xlLwmE\"\u003ehttps://youtu.be/cdoQ5xlLwmE\u003c/a\u003e\u003cbr\u003e\n3. Quick and Easy Processing of Invoices | PowerApps AI Builder - \u003ca href=\"https://youtu.be/jLrFI8JNsFg\"\u003ehttps://youtu.be/jLrFI8JNsFg\u003c/a\u003e\u003c/p\u003e","title":"AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor"},{"content":"In this video, you will learn how to build an AI Model to detect objects using the new AI Builder in PowerApps and then add the detected items into your amazon shopping cart. This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - https://youtu.be/cdoQ5xlLwmE 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - https://youtu.be/jLrFI8JNsFghttps://youtu.be/cdoQ5xlLwmE\n","permalink":"/posts/magic-of-the-object-detector-powerapps-ai-builder/","summary":"\u003cp\u003eIn this video, you will learn how to build an AI Model to detect objects using the new AI Builder in PowerApps and then add the detected items into your amazon shopping cart. This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - \u003ca href=\"https://youtu.be/cdoQ5xlLwmE\"\u003ehttps://youtu.be/cdoQ5xlLwmE\u003c/a\u003e 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - \u003ca href=\"https://youtu.be/jLrFI8JNsFghttps://youtu.be/cdoQ5xlLwmE\"\u003ehttps://youtu.be/jLrFI8JNsFghttps://youtu.be/cdoQ5xlLwmE\u003c/a\u003e\u003c/p\u003e","title":"Magic of the Object Detector | PowerApps AI Builder"},{"content":"In this video, you will learn how to build an AI Model to process forms / invoices using the new AI Builder in PowerApps. This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - https://youtu.be/cdoQ5xlLwmE 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - https://youtu.be/jLrFI8JNsFghttps://youtu.be/jLrFI8JNsFg\n","permalink":"/posts/quick-and-easy-processing-of-invoices-powerapps-ai-builder/","summary":"\u003cp\u003eIn this video, you will learn how to build an AI Model to process forms / invoices using the new AI Builder in PowerApps. This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - \u003ca href=\"https://youtu.be/cdoQ5xlLwmE\"\u003ehttps://youtu.be/cdoQ5xlLwmE\u003c/a\u003e 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - \u003ca href=\"https://youtu.be/jLrFI8JNsFghttps://youtu.be/jLrFI8JNsFg\"\u003ehttps://youtu.be/jLrFI8JNsFghttps://youtu.be/jLrFI8JNsFg\u003c/a\u003e\u003c/p\u003e","title":"Quick and Easy Processing of Invoices | PowerApps AI Builder"},{"content":"In this video, you will learn how to build a business card scanner in PowerApps using the new AI Builder and then store the info in SharePoint / Outlook Contacts / CDS . This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - https://youtu.be/cdoQ5xlLwmE 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - https://youtu.be/jLrFI8JNsFghttps://youtu.be/5TS9nm32ySc Comments: Leon - Aug 3, 2020\nHi there Is there a tool on the Microsoft Suite (Office 365 tools/sharepoint etc) we can use to create something that can enable employees to share our business information with people they meet (details on our physical namecard), by letting the other party scan a QR code or similar rather than passing them our physical namecard? Thanks.\n","permalink":"/posts/scan-business-cards-and-save-info-to-sharepoint-outlook-cds-powerapps-ai-builder/","summary":"\u003ch2 id=\"in-this-video-you-will-learn-how-to-build-a-business-card-scanner-in-powerapps-using-the-new-ai-builder-and-then-store-the-info-in-sharepoint--outlook-contacts--cds--this-video-is-a-part-of-the-ai-builder-video-series-in-which-we-will-explore-three-different-capabilities-of-the-new-ai-builder-in-powerapps-and-build-the-ai-models-and-canvas-apps-from-scratch-1-ai-builder-quick-demo---business-card-scanner--object-detector--form-processor--httpsyoutubewtlqzxae1yw-2-scan-business-cards-and-save-info-to-sharepoint--outlook--cds--powerapps-ai-builder--httpsyoutube5ts9nm32ysc-2-magic-of-the-object-detector--powerapps-ai-builder----3-quick-and-easy-processing-of-invoices--powerapps-ai-builder--\"\u003eIn this video, you will learn how to build a business card scanner in PowerApps using the new AI Builder and then store the info in SharePoint / Outlook Contacts / CDS . This video is a part of the AI Builder Video Series in which we will explore three different capabilities of the new AI Builder in PowerApps and build the AI Models and canvas apps from scratch. 1. AI Builder Quick Demo - Business Card Scanner | Object Detector | Form Processor -https://youtu.be/WtLQzXaE1Yw 2. Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder -https://youtu.be/5TS9nm32ySc 2. Magic of the Object Detector | PowerApps AI Builder - \u003ca href=\"https://youtu.be/cdoQ5xlLwmE\"\u003ehttps://youtu.be/cdoQ5xlLwmE\u003c/a\u003e 3. Quick and Easy Processing of Invoices | PowerApps AI Builder - \u003ca href=\"https://youtu.be/jLrFI8JNsFghttps://youtu.be/5TS9nm32ySc\"\u003ehttps://youtu.be/jLrFI8JNsFghttps://youtu.be/5TS9nm32ySc\u003c/a\u003e\u003c/h2\u003e\n\u003ch3 id=\"comments\"\u003eComments:\u003c/h3\u003e\n\u003ch4\u003e\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"%22allthewaylh@gmail.com%22\"\u003eLeon\u003c/a\u003e - \u003ctime datetime=\"2020-08-05 23:49:05\"\u003eAug 3, 2020\u003c/time\u003e\u003c/p\u003e","title":"Scan Business Cards and save info to Sharepoint / Outlook / CDS | PowerApps AI Builder"},{"content":"\nFlow Screenshot\nIt is a good practice to publish all your PowerApps regularly as sometimes the enhancements/features don;t show up until you publish the app.\nYou can use Flow and the \u0026ldquo;PowerApps for App Makers\u0026rdquo; connector to publish your apps on a regular basis. ( I do it on a monthly basis)\nHope this helps.\nLink to the flow files here - https://github.com/thatapiguy/Publish-All-PowerApps-using-Flow/ Comments: Michael - Feb 5, 2023\nHi. Thanks for this. This option does not seem to save the changes made, although it does publish the app, is there a way to automate saving the changes made in the app before it publish the app\n","permalink":"/posts/quick-tip-use-flow-to-publish-your-powerapps-on-a-regular-basis/","summary":"\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/uploads/2019/06/image.png\"\u003e\u003c/p\u003e\n\u003cp\u003eFlow Screenshot\u003c/p\u003e\n\u003cp\u003eIt is a good practice to publish all your PowerApps regularly as sometimes the enhancements/features don;t show up until you publish the app.\u003c/p\u003e\n\u003cp\u003eYou can use Flow and the \u0026ldquo;PowerApps for App Makers\u0026rdquo; connector to publish your apps on a regular basis. ( I do it on a monthly basis)\u003c/p\u003e\n\u003cp\u003eHope this helps.\u003c/p\u003e\n\u003ch2 id=\"link-to-the-flow-files-here---httpsgithubcomthatapiguypublish-all-powerapps-using-flow\"\u003eLink to the flow files here - \u003ca href=\"https://github.com/thatapiguy/Publish-All-PowerApps-using-Flow/\"\u003ehttps://github.com/thatapiguy/Publish-All-PowerApps-using-Flow/\u003c/a\u003e\u003c/h2\u003e\n\u003ch3 id=\"comments\"\u003eComments:\u003c/h3\u003e\n\u003ch4\u003e\u003c/h4\u003e\n\u003cp\u003e\u003ca href=\"%22michael.petersen.y2@gmail.com%22\"\u003eMichael\u003c/a\u003e - \u003ctime datetime=\"2023-02-24 09:19:55\"\u003eFeb 5, 2023\u003c/time\u003e\u003c/p\u003e","title":"Quick Tip - Use Flow to publish your PowerApps on a regular basis"},{"content":"https://youtu.be/CTdirqy0440\n","permalink":"/posts/april-2019-cincinnati-powerapps-and-flow-user-group-meeting/","summary":"\u003cp\u003e\u003ca href=\"https://youtu.be/CTdirqy0440\"\u003ehttps://youtu.be/CTdirqy0440\u003c/a\u003e\u003c/p\u003e","title":"April 2019 Cincinnati PowerApps and Flow User Group Meeting"},{"content":"This blog post is based on the Licensing document released by Microsoft in April 2019. The intent of this blog post is to help you understand the licensing better based on the Office 365 license you currently have.\nIf you have any of these Office 365 Licenses -\nOffice 365 Business Essentials\nOffice 365 Business Premium\nOffice 365 A1 for Students\nOffice 365 A1 Plus for Faculty\nOffice 365 A1 Plus for Students\nOffice 365 A1 for Faculty\nOffice 365 A3 for Faculty\nOffice 365 A3 for Students\nOffice 365 A3 for Student Use Benefit\nOffice 365 A5 for Student Use Benefit\nOffice 365 A5\nOffice 365 A5 for Faculty\nOffice 365 A5 for Students\nOffice 365 Education E3 for Faculty\nOffice 365 Education E3 for Students\nOffice 365 Education for Homeschool for Faculty\nOffice 365 Education for Homeschool for Students\nOffice 365 Enterprise E1\nOffice 365 Enterprise E2\nOffice 365 Enterprise E5\nOffice 365 Enterprise E3\nOffice 365 Enterprise E3 Developer\nOffice 365 Enterprise E3 without ProPlus\nThis means you have -\n\u0026ldquo;PowerApps for Office 365\u0026rdquo; and \u0026ldquo;Flow for Office 365\u0026rdquo; License\nwhich allows you to do all the stuff below -\nPowerApps\nCreate, run and share apps\n✅\nRun canvas apps in context of Office 365\n✅\nConnect to Office 365 data\n✅\nConnect to cloud services using standard connectors\n✅\nRun apps in a browser or PowerApps mobile for iOS and Android\n✅\nRun Canvas apps offline\n✅\nSupport for data policies established by the Office 365 administrator\n✅\nFlow\nCreate unlimited automated workflows\n✅\nMaximum number of runs per month (per user)\n2,000 1\nMaximum flow frequency\n5 minutes\nCreate flows from thousands of templates available in the public gallery\n✅\nSLA\n99.9%\nConnect to Office 365, other Microsoft services, and common cloud-based services like Twitter and Wordpress using standard connectors\n✅\nAccess on-premises data using on-premises data gateway\n✅\nInvite others to share ownership and run flows\n✅\nAccess on-premises data or use premium or custom connectors\n-\nData storage and management in Common Data Service\n-\n1 - The number of flow runs is aggregated across all users in the company. If your company exceeds more than the included runs per month per user, you can buy an additional quota of runs per month:\nFor every additional:\n50,000 runs\nAdded cost / month:\nUSD $40.00\nIf you have Office 365 Enterprise F1, you get the below functionalities -\nPowerApps\nCreate, run and share apps\n✅\nRun canvas apps in context of Office 365\n✅\nConnect to Office 365 data\n✅\nConnect to cloud services using standard connectors\n✅\nRun apps in a browser or PowerApps mobile for iOS and Android\n✅\nRun Canvas apps offline\n✅\nSupport for data policies established by the Office 365 administrator\n✅\nFlow\nCreate unlimited automated workflows\n✅\nMaximum number of runs per month (per user)\n750\nMaximum flow frequency\n15 minutes\nCreate flows from thousands of templates available in the public gallery\n✅\nSLA\nNA\nConnect to Office 365, other Microsoft services, and common cloud-based services like Twitter and Wordpress using standard connectors\n✅\nAccess on-premises data using on-premises data gateway\n✅\nAccess on-premises data or use premium or custom connectors\n-\nData storage and management in Common Data Service\n-\nOther references used for this post-\nhttps://docs.microsoft.com/en-us/power-platform/admin/pricing-billing-skus#licenses\nFor the pricing for PowerApps and Flow Standalone plans, refer to these links -\nhttps://powerapps.microsoft.com/en-us/pricing/\nhttps://flow.microsoft.com/en-us/pricing/\nThis post definitely doesn\u0026rsquo;t cover everything related to licensing and is focused more towards what your existing Office 365 license includes.\nLet me know if you have any questions in the comments.\n","permalink":"/posts/powerapps-and-flow-license-based-on-office-365-license/","summary":"\u003cp\u003eThis blog post is based on the \u003ca href=\"https://download.microsoft.com/download/9/5/6/9568EFD0-403D-4AE4-95F0-7FACA2CCB2E4/PowerApps%20and%20Flow%20Licensing%20Guide.pdf\"\u003eLicensing document\u003c/a\u003e released by Microsoft in April 2019. The intent of this blog post is to help you understand the licensing better based on the Office 365 license you currently have.\u003c/p\u003e\n\u003chr\u003e\n\u003cp\u003eIf you have any of these Office 365 Licenses -\u003c/p\u003e\n\u003cp\u003eOffice 365 Business Essentials\u003c/p\u003e\n\u003cp\u003eOffice 365 Business Premium\u003c/p\u003e\n\u003cp\u003eOffice 365 A1 for Students\u003c/p\u003e\n\u003cp\u003eOffice 365 A1 Plus for Faculty\u003c/p\u003e\n\u003cp\u003eOffice 365 A1 Plus for Students\u003c/p\u003e","title":"PowerApps and Power Automate license based on Office 365 license"},{"content":" We rise by uplifting others!\nPowerAddicts is a bunch of PowerPlatform (PowerApps, Flow and PowerBI ) enthusiasts getting together and creating a platform for other enthusiasts to showcase their work.\nA platform for the community and from the community.\nNext hangout https://www.youtube.com/watch?v=y6tOd5YwIi8\nApril 2019 Hangout\nDownload calendar file (.ics) here\nMerchandise All proceeds will go to a non-profit for a good cause.\nhttps://teespring.com/poweraddicts-womens-t-shirt#pid=370\u0026cid=6543\u0026sid=front\nhttps://teespring.com/poweraddicts?tsmac=store\u0026tsmic=poweraddicts#pid=369\u0026cid=6521\u0026sid=front\nhttps://teespring.com/poweraddictsmug?tsmac=store\u0026tsmic=poweraddicts#pid=658\u0026cid=102955\u0026sid=front\nTo order badges/ buttons click here - http://bit.ly/2C9Slcc\nTake advantage of these introductory discounted prices till the end of the this month (till 31st march 2019). More merchandise to come soon.\nPrevious Hangout Videos https://www.youtube.com/watch?v=D-cc9ofeseA\nhttps://www.youtube.com/watch?v=fkr0LQAp3Co\u0026t=57s\nhttps://www.youtube.com/watch?v=Ccx0v41jHEQ\nContact the PowerAddicts If you want to showcase anything related to PowerApps, Flow , PowerBI, we would love to have you on our show. Fill out this form and let us know.\n","permalink":"/posts/poweraddicts/","summary":"\u003cblockquote\u003e\n\u003cp\u003eWe rise by uplifting others!\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e\u003ca href=\"https://twitter.com/search?q=%23poweraddicts\"\u003ePowerAddicts\u003c/a\u003e is a bunch of PowerPlatform (PowerApps, Flow and PowerBI ) enthusiasts getting together and creating a platform for other enthusiasts to showcase their work.\u003c/p\u003e\n\u003cp\u003eA platform for the community and from the community.\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"next-hangout\"\u003eNext hangout\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.youtube.com/watch?v=y6tOd5YwIi8\"\u003ehttps://www.youtube.com/watch?v=y6tOd5YwIi8\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eApril 2019 Hangout\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://apijedi-my.sharepoint.com/:u:/g/personal/thatapiguy_thatapiguy_tech/EQ6SvE2v1j1Nv81OvK98ibUBdqbyUDuo6td5a3Snlwf5Iw\"\u003eDownload calendar file (.ics) here\u003c/a\u003e\u003c/p\u003e\n\u003chr\u003e\n\u003ch3 id=\"merchandise\"\u003eMerchandise\u003c/h3\u003e\n\u003cp\u003eAll proceeds will go to a non-profit for a good cause.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://teespring.com/poweraddicts-womens-t-shirt#pid=370\u0026amp;cid=6543\u0026amp;sid=front\"\u003ehttps://teespring.com/poweraddicts-womens-t-shirt#pid=370\u0026cid=6543\u0026sid=front\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://teespring.com/poweraddicts?tsmac=store\u0026amp;tsmic=poweraddicts#pid=369\u0026amp;cid=6521\u0026amp;sid=front\"\u003ehttps://teespring.com/poweraddicts?tsmac=store\u0026tsmic=poweraddicts#pid=369\u0026cid=6521\u0026sid=front\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://teespring.com/poweraddictsmug?tsmac=store\u0026amp;tsmic=poweraddicts#pid=658\u0026amp;cid=102955\u0026amp;sid=front\"\u003ehttps://teespring.com/poweraddictsmug?tsmac=store\u0026tsmic=poweraddicts#pid=658\u0026cid=102955\u0026sid=front\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eTo order badges/ buttons click here - \u003ca href=\"http://bit.ly/2C9Slcc\"\u003ehttp://bit.ly/2C9Slcc\u003c/a\u003e\u003c/p\u003e","title":"PowerAddicts"},{"content":"[tweet https://twitter.com/that_API_guy/status/1104836878107373570 ]\nI posted this on twitter and got a lot of requests to create a blog on this , so here you go -\nWhy are we doing this? We are all surrounded by different smart home devices and voice assistants around us. Wouldn\u0026rsquo;t it be great if we could use them to -\nAdd a task to To-Do Read email/ send email Read out calendar Create a meeting invite Add an item to SharePoint list and much more\u0026hellip; What do we need? Microsoft Flow - If you don\u0026rsquo;t know what Microsoft Flow is , check out this video from Jon Levesque https://www.youtube.com/watch?v=FOr6wlH5Kgs and sign up for the free trial now! Alexa device / Alexa app Alexa Developer console account - Here is an overview of the developer console for your reference - https://www.youtube.com/watch?v=q-mrSBrlDso Concept - The idea is to create an Alexa Skill that can trigger a Flow when invoked from an Alexa device (like Echo) and send the response back from Flow to the Alexa device so that it can speak/read it out for you.\nHow will we do this? Step 1 : Creating an Alexa Skill Don\u0026rsquo;t worry if this sounds alien to you. We will go through all the steps as if this was the first time you are creating an Alexa Skill.\nGo to the https://developer.amazon.com/alexa/console/ and sign up for an account. If you already have an amazon account, you can log in with the same credentials.\nClick on the \u0026ldquo;Create Skill\u0026rdquo; button.\nEnter a name for the skill , say \u0026ldquo;Microsoft Flow\u0026rdquo; and select the \u0026ldquo;Custom\u0026rdquo; model and \u0026ldquo;Provision your own\u0026rdquo; method for hosting the skill. Hit the \u0026ldquo;Create Skill\u0026rdquo; button.\nChoose the \u0026ldquo;Start from scratch\u0026rdquo; template and click on the \u0026ldquo;Choose\u0026rdquo; button. If you want to learn more about Alexa skills, you can choose the other templates to understand how they work.\nYou will see this dashboard on your screen -\nLet\u0026rsquo;s set the Invocation name first, which will be used to call the skill e.g. - \u0026ldquo;Alexa, ask Microsoft Flow to .. \u0026quot; . Note: this name can be different from the skill name.\nFor this blog, I will trigger the Flow to get my last e-mail which will be then sent to Alexa that will read it out to me. So, let\u0026rsquo;s add an intent for this - \u0026ldquo;GetLatestEmail\u0026rdquo;. Click \u0026ldquo;Add Intent\u0026rdquo;, then enter the name of the intent and click \u0026ldquo;Create custom intent\u0026rdquo;\nWe need to enter some sample utterances that we willbuse to get the last email such as - \u0026ldquo;get my latest email\u0026rdquo;, \u0026ldquo;read out my last email\u0026rdquo;, \u0026ldquo;tell me my last email\u0026rdquo;. This will help Alexa know which intent you are trying to call. So, the complete expression that you will use -\n\u0026ldquo;Alexa, ask Microsoft Flow to read out my last email\u0026rdquo;\nNext, we need to set the \u0026ldquo;Endpoint\u0026rdquo; from the menu on the left section and select \u0026ldquo;HTTPS\u0026rdquo;. This is where we will paste the URL generated by the HTTP request in Flow (Step 2).\nStep 2 : Create a Flow with HTTP request and response You can download the flow files here and directly import it if you want - https://github.com/thatapiguy/Trigger-Flow-from-Alexa-Microsoft-Flow\nOtherwise-\nCreate a new blank flow. Use the Request trigger - \u0026ldquo;When an HTTP request is received\u0026rdquo;. This will be triggered when we invoke the Alexa skill from Step 1.\n[gallery type=\u0026ldquo;rectangular\u0026rdquo; link=\u0026ldquo;file\u0026rdquo; size=\u0026ldquo;medium\u0026rdquo; ids=\u0026ldquo;201,200,199\u0026rdquo;]\nFor the \u0026ldquo;Request Body JSON Schema\u0026rdquo; - copy and paste the code from here https://gist.github.com/jeffhollan/f94234697ee02e9b5b86a3518ad05ebe . This is how the body in the HTTPS request from Alexa will be formatted. Here\u0026rsquo;s the code if you want to copy it from here -\n{ \u0026#34;properties\u0026#34;: { \u0026#34;request\u0026#34;: { \u0026#34;properties\u0026#34;: { \u0026#34;inDialog\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, \u0026#34;intent\u0026#34;: { \u0026#34;properties\u0026#34;: { \u0026#34;name\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34;, \u0026#34;x-ms-summary\u0026#34;: \u0026#34;Intent Name\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; }, \u0026#34;locale\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, \u0026#34;requestId\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, \u0026#34;timestamp\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, \u0026#34;type\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; }, \u0026#34;session\u0026#34;: { \u0026#34;properties\u0026#34;: { \u0026#34;application\u0026#34;: { \u0026#34;properties\u0026#34;: { \u0026#34;applicationId\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; }, \u0026#34;attributes\u0026#34;: { \u0026#34;properties\u0026#34;: {}, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; }, \u0026#34;new\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;boolean\u0026#34; }, \u0026#34;sessionId\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; }, \u0026#34;user\u0026#34;: { \u0026#34;properties\u0026#34;: { \u0026#34;userId\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; }, \u0026#34;version\u0026#34;: { \u0026#34;type\u0026#34;: \u0026#34;string\u0026#34; } }, \u0026#34;type\u0026#34;: \u0026#34;object\u0026#34; } Add an action \u0026ldquo;Get Emails\u0026rdquo; (Outlook 365 Connector) to get the latest email. To get the last email, enter the value 1 in the \u0026lsquo;Top\u0026rsquo; property.\nNow, add the Request \u0026ldquo;Response\u0026rdquo; action to send the response back to the Alexa Skill.\nFor the body, we will use the below code . You can see that I have used some expressions to read out different details of the email. To test the skill initially, you can just put some random text under \u0026ldquo;text\u0026rdquo; :\u0026quot;This is just a test\u0026rdquo; and once your skill is running fine you can come back and change it to below.\n{ \u0026#34;response\u0026#34;: { \u0026#34;outputSpeech\u0026#34;: { \u0026#34;text\u0026#34;: \u0026#34;You received the last e-mail at @{formatDateTime(body(\u0026#39;Get\\_emails\u0026#39;)\\[0\\]\\[\u0026#39;DateTimeReceived\u0026#39;\\],\u0026#39;h m tt\u0026#39;)} from @{body(\u0026#39;Get\\_emails\u0026#39;)\\[0\\]\\[\u0026#39;From\u0026#39;\\]}, regarding @{body(\u0026#39;Get\\_emails\u0026#39;)\\[0\\]\\[\u0026#39;Subject\u0026#39;\\]}. Here is an excerpt of the email - @{body(\u0026#39;Get\\_emails\u0026#39;)\\[0\\]\\[\u0026#39;BodyPreview\u0026#39;\\]}\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;PlainText\u0026#34; } }, \u0026#34;version\u0026#34;: \u0026#34;1.0\u0026#34; } The Flow is complete now. Name the Flow something meaningful (this is important, you will realize it when you have more than 50 Flows 😄 ) and hit the \u0026ldquo;Save\u0026rdquo; button. This will generate a URL in the HTTP request Trigger. Copy the URL and now let\u0026rsquo;s complete our Alexa Skill.\nStep 3: Complete the Alexa Skill Endpoint details and Build the Skill Under the Endpoint section, paste the copied URL from Step 2 and paste it in the Default Region. Select the SSL certificate as shown in the image below and click \u0026ldquo;Save Endpoints\u0026rdquo;.\nNow, go to the Invocation Section and Click on \u0026ldquo;Build Model\u0026rdquo;. It might take some time to build the model the first time. (around 20-30 seconds)\nAnd that\u0026rsquo;s it! The Skill is built now and ready to be used in Development mode. (You don\u0026rsquo;t want to share this with anyone because the Flow will use your outlook connection. )\nStep 4: Fun time! Let\u0026rsquo;s Test the skill The skill should be enabled by default in your Alexa settings.\nTime to say the magic words -\nAlexa, ask microsoft flow to read out my last email.\nThis was my exact reaction and hope you enjoy to the same extent.\nIf you have any questions, please feel free to reach out to me.\nI will be doing a live AMA on this topic on Wednesday 6 PM Eastern - https://www.youtube.com/watch?v=K3G3k_Bamqg\nJoin me to dig deeper on this topic and ask any questions that you have.\nVivek Bavishi aka That API Guy\nPowerApps MVP\nBlog | Twitter | YouTube | Community Profile | GitHub Comments: Using Amazon Alexa with Microsoft Flow to get a project status update from Project Online – Think EPM - Mar 5, 2019\n[…] recently came across a blog post which discussed getting Alexa to work with Microsoft […]\n#### [Alexa, Field Service and Me (Part 2) \u0026#8211; Linking to Flow \u0026#8211; LinkingD365](http://linkd365.home.blog/2019/04/20/alexa-field-service-and-me-part-2-linking-to-flow/ \"\") - Apr 6, 2019 […] API Guy had a great post where he links his Alexa to his O365 email account and has Alexa read out his new email. This […]\n#### [Alexa, Field Service and Me (Part 2) \u0026#8211; Linking to Flow \u0026#8211; LinkeD365 Home](https://linked365.blog/2019/04/20/alexa-field-service-and-me-part-2-linking-to-flow/ \"\") - Apr 3, 2020 […] API Guy had a great post where he links his Alexa to his O365 email account and has Alexa read out his new email. This […]\n#### [Akash Singhal](http://nothing \"akashsinghal14@gmail.com\") - May 0, 2020 Hi Vivek, I tried your code. But when I use any of below function it is giving error while calling from alexa. @{formatDateTime(body(\u0026lsquo;Get_emails\u0026rsquo;)[0][\u0026lsquo;DateTimeReceived\u0026rsquo;],\u0026lsquo;h m tt\u0026rsquo;)} @{body(\u0026lsquo;Get_emails\u0026rsquo;)[0][\u0026lsquo;From\u0026rsquo;]}, @{body(\u0026lsquo;Get_emails\u0026rsquo;)[0][\u0026lsquo;Subject\u0026rsquo;]} @{body(\u0026lsquo;Get_emails\u0026rsquo;)[0][\u0026lsquo;Body Preview\u0026rsquo;]} But normal text is giving result. I dont understand whats the problem. I am using Get Email V3 since they deprecated the old get mails. Your article really helped to test alexa. Thanks, Akash\n#### [Alexa, ask Microsoft Flow to read out my last email \u0026#8211; TDG](https://powerplatform.app/archives/alexa-ask-microsoft-flow-to-read-out-my-last-email/ \"\") - Jun 0, 2021 […] Blog post to implement this – https://thatapiguy.tech/2019/03/11/alexa-ask-microsoft-flow-to-read-out-my-latest-e-mail/ […]\n#### [Vivek]( \"2220469@worknextlabs.com\") - Mar 1, 2023 Hi Vivek, I too facing the same issue that akash has mentioned, would you be able to help please.\n","permalink":"/posts/alexa-ask-microsoft-flow-to-read-out-my-latest-e-mail/","summary":"\u003cp\u003e[tweet \u003ca href=\"https://twitter.com/that\"\u003ehttps://twitter.com/that\u003c/a\u003e_API_guy/status/1104836878107373570 ]\u003c/p\u003e\n\u003cp\u003eI posted this on twitter and got a lot of requests to create a blog on this , so here you go -\u003c/p\u003e\n\u003ch3 id=\"why-are-we-doing-this\"\u003eWhy are we doing this?\u003c/h3\u003e\n\u003cp\u003eWe are all surrounded by different smart home devices and voice assistants around us. Wouldn\u0026rsquo;t it be great if we could use them to -\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd a task to To-Do\u003c/li\u003e\n\u003cli\u003eRead email/ send email\u003c/li\u003e\n\u003cli\u003eRead out calendar\u003c/li\u003e\n\u003cli\u003eCreate a meeting invite\u003c/li\u003e\n\u003cli\u003eAdd an item to SharePoint list and much more\u0026hellip;\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"what-do-we-need\"\u003eWhat do we need?\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"http://flow.microsoft.com\"\u003eMicrosoft Flow\u003c/a\u003e - If you don\u0026rsquo;t know what Microsoft Flow is , check out this video from Jon Levesque \u003ca href=\"https://www.youtube.com/watch?v=FOr6wlH5Kgs\"\u003ehttps://www.youtube.com/watch?v=FOr6wlH5Kgs\u003c/a\u003e and sign up for the free trial now!\u003c/li\u003e\n\u003cli\u003eAlexa device / Alexa app\u003c/li\u003e\n\u003cli\u003eAlexa Developer console account  - Here is an overview of the developer console for your reference - \u003ca href=\"https://www.youtube.com/watch?v=q-mrSBrlDso\"\u003ehttps://www.youtube.com/watch?v=q-mrSBrlDso\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"concept--\"\u003eConcept -\u003c/h3\u003e\n\u003cp\u003e\u003cimg alt=\"CONCEPT\" loading=\"lazy\" src=\"/uploads/2019/03/concept.png\"\u003e\u003c/p\u003e","title":"Alexa, ask Microsoft Flow to read out my latest e-mail"},{"content":"Frustrated with always opening the meeting invite and clicking on the join Skype / Teams meeting? Want to know how to automatically start the meeting window on your desktop a few minutes before any meeting starts? You are at the right place! What you need -\nMicrosoft Flow Pushbullet Account Pushbullet API Access token (don\u0026rsquo;t get scared, it\u0026rsquo;s simple) That\u0026rsquo;s all you need to automate your online meetings.\nStep 1: Get the access token for Pushbullet API After signing up for Pushbullet, go to My account and click on \u0026ldquo;Create Access Token\u0026rdquo; Copy this token and save it in some document / sticky note.\nStep 2: Setting up the Flow The Flow files for this can be found on github. We will start with the Outlook connector trigger - \u0026ldquo;When an event is about to start\u0026rdquo;. This will trigger every time an event in your specified calendar is about to start. You can also set the look-ahead time in minutes. It\u0026rsquo;s set to 15 by default, however, I would recommend somewhere less than 5 minutes so that you don\u0026rsquo;t get distracted with the window opening automatically. Now, we need to find the URL of the meeting which is hidden somewhere in the body of the meeting invite. An example body would look like this -```\n\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n\\\\r\\\\n ``` \\r\\n\u0026lt;div style=\\\u0026ldquo;width:100%; height:20px\\\u0026quot;\u0026gt;\u0026lt;span style=\\\u0026ldquo;white-space:nowrap; color:gray; opacity:.36\\\u0026quot;\u0026gt;________________________________________________________________________________\\r\\n\\r\\nSegoe UI\u0026rsquo;,\u0026lsquo;Helvetica Neue\u0026rsquo;,Helvetica,Arial,sans-serif\\\u0026quot;\u0026gt;\\r\\n\nJoin\\r\\n Microsoft Teams Meeting\n\\\\r\\\\n Learn more about Teams\\r\\n\n\\\\r\\\\n \\\\r\\\\n \\\\r\\\\n\\\\r\\\\n We need to find where the URL is starting and where it is ending. To find the start , we will search for the position where the URL is starting which in this case is https://teams.microsoft.com/\u0026hellip; . We will save the value of the position as an integer which will help us in the subsequent processing.\nint(indexOf(triggerBody()?\\[\u0026#39;Body\u0026#39;\\],\u0026#39;https://teams.microsoft.com\u0026#39;)) Once we have this value, we can use the substring function to get the body of the invite starting from https://teams.microsoft.com. Now, we need the position of the double quotes which indicates the end of the URL. We will use the indexof function again to find that and then again use the substring function to finally get our meeting URL. The final expression -``` substring(substring(triggerBody()?[\u0026lsquo;Body\u0026rsquo;],variables(\u0026lsquo;IndexForUrl\u0026rsquo;),1000),0,indexOf(substring(triggerBody()?[\u0026lsquo;Body\u0026rsquo;],variables(\u0026lsquo;IndexForUrl\u0026rsquo;),1000),\u0026rsquo;\u0026rdquo;\u0026rsquo;))\n","permalink":"/posts/open-meeting-links-automatically-on-desktop-microsoft-flow-2/","summary":"\u003ch3 id=\"frustrated-with-always-opening-the-meeting-invite-and-clicking-on-the-join-skype--teams-meeting\"\u003eFrustrated with always opening the meeting invite and clicking on the join Skype / Teams meeting?\u003c/h3\u003e\n\u003ch3 id=\"want-to-know-how-to-automatically-start-the-meeting-window-on-your-desktop-a-few-minutes-before-any-meeting-starts\"\u003eWant to know how to automatically start the meeting window on your desktop a few minutes before any meeting starts?\u003c/h3\u003e\n\u003cp\u003eYou are at the right place! What you need  -\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"https://flow.microsoft.com/\"\u003eMicrosoft Flow\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.pushbullet.com\"\u003ePushbullet Account\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePushbullet API Access token (don\u0026rsquo;t get scared, it\u0026rsquo;s simple)\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eThat\u0026rsquo;s all you need to automate your online meetings.\u003c/p\u003e\n\u003ch3 id=\"step-1-get-the-access-token-for-pushbullet-api\"\u003eStep 1: Get the access token for Pushbullet API\u003c/h3\u003e\n\u003cp\u003eAfter signing up for Pushbullet, go to My account and click on \u0026ldquo;Create Access Token\u0026rdquo; Copy this token and save it in some document / sticky note.\u003c/p\u003e","title":"Open Meeting Links Automatically on Desktop | Microsoft Flow"},{"content":"I recently read this blog post from Luise Freese about Microsoft To-do - 11 reasons why I fell in love with Microsoft To-Do and I couldn\u0026rsquo;t agree more. In-fact, I can add 10 more to that list! :) One of the reasons mentioned was around moving flagged e-mails to To-Do using Microsoft Flow . To take this a step further, I wanted a way to assign due dates and reminders for the e-mails based on some priority level. Below is a step-by-step approach to achieve this - Note: This applies only for desktop Outlook\nStep 1: Create Outlook shortcuts to flag an e-mail and assign an importance level. [caption id=\u0026ldquo;attachment_147\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;392\u0026rdquo;] Open Quick Steps in Microsoft Outlook.[/caption] [caption id=\u0026ldquo;attachment_146\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;543\u0026rdquo;] Click on \u0026lsquo;New\u0026rsquo; or if you already have a configured quick step, click on \u0026lsquo;Edit\u0026rsquo;.[/caption] [caption id=\u0026ldquo;attachment_145\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;494\u0026rdquo;] Click on \u0026ldquo;Add Action\u0026rdquo; and choose \u0026ldquo;Set Importance\u0026rdquo; action and then select the Importance level from the drop down. Also, select the shortcut key so that you can assign the quick step from your keyboard.[/caption] [caption id=\u0026ldquo;attachment_144\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;493\u0026rdquo;] Similarly, set up similar shortcuts for the 3 different levels of Importance. Choose the shortcut keys wisely! For the High Importance I chose the \u0026ldquo;Ctrl+Shift+1\u0026rdquo;, for Medium Importance - \u0026ldquo;Ctrl+Shift+2\u0026rdquo; and for Low Importance - \u0026ldquo;Ctrl+Shift+3\u0026rdquo;.[/caption] So now you can use these shortcuts to quickly assign an importance level and flag the e-mails.\nStep 2 - Set up the Flow in Microsoft Flow to assign the flagged e-mail as a task in To-Do with a due date based on the Importance. (Download the Flow files from here) [caption id=\u0026ldquo;attachment_149\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;652\u0026rdquo;] Start with the trigger \u0026ldquo;When an email is flagged\u0026rdquo; and then use the \u0026ldquo;Initialize variable\u0026rdquo; action to store the number of days before due date.[/caption] [caption id=\u0026ldquo;attachment_148\u0026rdquo; align=\u0026ldquo;alignnone\u0026rdquo; width=\u0026ldquo;1847\u0026rdquo;] Based on the \u0026lsquo;Importance\u0026rsquo; value from the e-mail, set the DueDays variable value. Personally, I wanted to set High Importance - 1 day, Medium Importance to 3 days and Low Importance to 5 days. For e-mails where I don\u0026rsquo;t set the importance level, I set the value to 7 days.[/caption] [caption id=\u0026ldquo;attachment_150\u0026rdquo; align=\u0026ldquo;aligncenter\u0026rdquo; width=\u0026ldquo;757\u0026rdquo;] Now, add the \u0026ldquo;Add a to-do\u0026rdquo; action and set the values as defined above. You can customize it based on your liking. Remember to set the body content type to HTML to have a nice looking e-mail in the note of the to-do. For due date and reminder, use the expressions as defined below.[/caption] _Due date expression - addDays(utcNow(),variables(\u0026lsquo;DueDays\u0026rsquo;)) _ The expression above adds the number of days before the task is due to the current time. Reminder date time expression - addDays(utcNow(),sub(variables(\u0026lsquo;DueDays\u0026rsquo;),1)) The expression above reduces the number of due days by 1 day and adds it to the current time, so you can get the reminder 1 day before the task is due. Of-course, you can customize this as well to your liking. Step 3 - Sit back and enjoy! Bonus tip - When you try adding emojis to be used as an icon for a List category, you get very limited options. If you want to use some other emoji, try out the method described below. To get the emoji menu in Windows 10 press \u0026ldquo;Windows key + ;\u0026rdquo; . You can also search for emojis from this menu. In my case, I searched for \u0026rsquo;target\u0026quot; and got the emoji I wanted. Have fun using To-Do!\nDownload the Flow files from here Comments: anandavadivelan - Mar 4, 2019\nThis is a great and useful post Vivek. thanks for putting this together. just noticed the new \u0026ldquo;flagged email\u0026rdquo; feature released this month on To Do. What is your take on that?\n#### [That API Guy]( \"\") - Mar 4, 2019 The new feature is definitely the way to go. However, the quicksteps defined here would really help you to assign due dates for the email task quickly. So still some relevant stuff here. I need to update my blog post with details to that feature though.\n#### [Pablo Diaz](https://appfluence.com/help/article/add-due-date-to-email-outlook/ \"pablo@appfluence.com\") - Aug 5, 2022 I think it would be a helpful addition to include a mention of our article https://appfluence.com/help/article/add-due-date-to-email-outlook/ discussing how to use Priority Matrix to achieve this goal, for completeness.\n","permalink":"/posts/microsoft-to-do-due-dates-based-on-e-mail-importance/","summary":"\u003cp\u003eI recently read this blog post from \u003ca href=\"https://twitter.com/LuiseFreese\"\u003eLuise Freese\u003c/a\u003e about \u003ca href=\"https://todo.microsoft.com/\"\u003eMicrosoft To-do\u003c/a\u003e - \u003ca href=\"https://link.medium.com/DfCakRc20T\"\u003e11 reasons why I fell in love with Microsoft To-Do\u003c/a\u003e and I couldn\u0026rsquo;t agree more. In-fact, I can add 10 more to that list! :) One of the reasons mentioned was around moving flagged e-mails to To-Do using \u003ca href=\"http://flow.microsoft.com\"\u003eMicrosoft Flow\u003c/a\u003e . To take this a step further, I wanted a way to \u003cstrong\u003eassign due dates and reminders for the e-mails based on some priority level\u003c/strong\u003e. Below is a step-by-step approach to achieve this - Note: This applies only for desktop Outlook\u003c/p\u003e","title":"Microsoft To-do! Due dates based on E-mail Importance"},{"content":"In this video we will show a step by step approach to solve the 3 tasks mentioned in this challenge by Audrie Gordon - Challenge Form Challenge 1. We will create a PowerApp with 2 data sources such that the user can read the data but can\u0026rsquo;t edit it. Challenge 2. Tracking inventory of PowerApps Swag using Flow. Challenge 3. Saving a photo to a Sharepoint Document library using Flow and adding some more meta-data to it. https://youtu.be/T7aLyuEwmw4\n","permalink":"/posts/powerapps-challenge/","summary":"\u003cp\u003eIn this video we will show a step by step approach to solve the 3 tasks mentioned in this challenge by Audrie Gordon - \u003ca href=\"https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbRzJVkDds8yROvOeWrHDKUXBUMVM5SVA3TTFFNzZOMzBPR0pFUkM0NTBYTS4u\"\u003eChallenge Form\u003c/a\u003e Challenge 1. We will create a PowerApp with 2 data sources such that the user can read the data but can\u0026rsquo;t edit it. Challenge 2. Tracking inventory of PowerApps Swag using Flow. Challenge 3. Saving a photo to a Sharepoint Document library using Flow and adding some more meta-data to it. \u003ca href=\"https://youtu.be/T7aLyuEwmw4\"\u003ehttps://youtu.be/T7aLyuEwmw4\u003c/a\u003e\u003c/p\u003e","title":"PowerApps Challenge"},{"content":" Welcome to Power-N-Apps! In this week\u0026rsquo;s video, the PowerApps Gaming guru Brian Dang shows us his scavenger hunt app, and we also discuss how to convert office 365 docs to PDF using Flow and then read it in PowerApps. Join us in this power journey and let\u0026rsquo;s learn together. Show notes To follow Brian on twitter: https://twitter.com/8bitclassroom To follow me on twitter : https://twitter.com/that_API_guy To follow me on my blog: https://thatapiguy.tech https://youtu.be/_NVU2jfG5Y8\n","permalink":"/posts/christmas-vibes-power-n-apps-e2/","summary":"\u003cp\u003e  Welcome to Power-N-Apps! In this week\u0026rsquo;s video, the PowerApps Gaming guru Brian Dang shows us his scavenger hunt app, and we also discuss how to convert office 365 docs to PDF using Flow and then read it in PowerApps. Join us in this power journey and let\u0026rsquo;s learn together. \u003ca href=\"https://docs.google.com/spreadsheets/d/e/2PACX-1vTCe1aNh96yiS0nr39obKbbNv-mSKA4gKzfauKQ2U5j7hkDCJ6w0DiPY9KhLJTnuihG3hrG644Tw56_/pubhtml?gid=1565752225\u0026amp;single=true\"\u003eShow notes\u003c/a\u003e To follow Brian on twitter: \u003ca href=\"https://twitter.com/8bitclassroom\"\u003ehttps://twitter.com/8bitclassroom\u003c/a\u003e To follow me on twitter : \u003ca href=\"https://twitter.com/that\"\u003ehttps://twitter.com/that\u003c/a\u003e_API_guy To follow me on my blog: \u003ca href=\"https://thatapiguy.tech\"\u003ehttps://thatapiguy.tech\u003c/a\u003e \u003ca href=\"https://youtu.be/\"\u003ehttps://youtu.be/\u003c/a\u003e_NVU2jfG5Y8\u003c/p\u003e","title":"Send O365 Docs as PDF | Power-N-Apps E3"},{"content":"[audio src=\u0026quot;/uploads/2018/11/power-n-apps-e1.mp3\u0026quot;][/audio] Welcome to Power-N-Apps! You can think of it as \u0026ldquo;Power and Apps\u0026rdquo; , \u0026ldquo;Power in Apps\u0026rdquo; or as I pronounce it - \u0026ldquo;Power naps\u0026rdquo; :D . These sessions are equivalent to having \u0026ldquo;power naps\u0026rdquo; as these will give you the right amount of content to get you more energized and pumped about PowerApps and Flow. In these videos, we will build something from scratch, talk about the latest updates, review some cool PowerApps / Flows and also have Q\u0026amp;A throughout the session. In our first episode, we discuss about the new canvas apps sharing experience, display names of columns, Flow online conference \u0026amp; flow checker. We also demonstrate how you can send a contact card vcf file using flow and integrate it with PowerApps. And we show how PowerApps can be used to Gamify Physics. Looking forward to a great start! Join me in this power journey and let\u0026rsquo;s learn together. Link to show notes https://youtu.be/KDIwAk9WjUE\n","permalink":"/posts/power-n-apps-11-21-2018-e1/","summary":"\u003cp\u003e[audio src=\u0026quot;/uploads/2018/11/power-n-apps-e1.mp3\u0026quot;][/audio] Welcome to Power-N-Apps! You can think of it as \u0026ldquo;Power and Apps\u0026rdquo; , \u0026ldquo;Power in Apps\u0026rdquo; or as I pronounce it - \u0026ldquo;Power naps\u0026rdquo; :D . These sessions are equivalent to having \u0026ldquo;power naps\u0026rdquo; as these will give you the right amount of content to get you more energized and pumped about PowerApps and Flow. In these videos, we will build something from scratch, talk about the latest updates, review some cool PowerApps / Flows and also have Q\u0026amp;A throughout the session. In our first episode, we discuss about the new canvas apps sharing experience, display names of columns, Flow online conference \u0026amp; flow checker. We also demonstrate how you can send a contact card vcf file using flow and integrate it with PowerApps. And we show how PowerApps can be used to Gamify Physics. Looking forward to a great start! Join me in this power journey and let\u0026rsquo;s learn together. \u003ca href=\"https://docs.google.com/spreadsheets/d/e/2PACX-1vTCe1aNh96yiS0nr39obKbbNv-mSKA4gKzfauKQ2U5j7hkDCJ6w0DiPY9KhLJTnuihG3hrG644Tw56_/pubhtml?gid=0\u0026amp;single=true\"\u003eLink to show notes\u003c/a\u003e \u003ca href=\"https://youtu.be/KDIwAk9WjUE\"\u003ehttps://youtu.be/KDIwAk9WjUE\u003c/a\u003e\u003c/p\u003e","title":"Gamify Physics with PowerApps | Power-N-Apps E1"},{"content":"Introduction This blog post will walk through a simple approach to create your own click-through analytics. Extend your reporting options to include statistics which will raise visibility into how your app consumers navigate your applications, enabling you to use data to validate assumptions on app usage and design. I have attached the MSAPP files and the datasource sample(excel spreadsheet) so you can play around with the app to understand it better and then implement the same approach in your apps. Workflow overview – To explore the app, follow these steps – Step 1: Install the app from the MSAPP file that I have attached below. Step 2: Save the excel spreadsheet “AnalyticsDemo.xlsx” in your OneDrive and add it as a data source in the app using the OneDrive connector. Step 3: After saving and publishing the app, open the app and click on some icons and navigate around the app. Check whether the data gets collected in the Excel Spreadsheet. (Note: Sometimes it may take a few seconds before the data gets updated so you might have to close and open the spreadsheet once) Step 4: Use the OneDrive excel spreadsheet as a data source in a PowerBI report and create different graphs/statistics based on what you would like to measure. Below is an example to get you started – Capturing Interaction points- The main functions that I have used to capture the user interaction are the Patch and Collect functions. To start with, you would probably like to collect some basic user information before you capture any further interaction points of that user. To do this, I used the below formula in the OnStart property of the app-Collect(AnalyticsDemo,{UserName:Office365Users.MyProfile().DisplayName,UserEmail:Office365Users.MyProfile().Mail,LoginDate:Today(),LoginTime:Text( Now(), \u0026quot;\\[$-en-US\\]hh:mm:ss\u0026quot; ),Latitude:Location.Latitude,Longitude:Location.Longitude})This will create a new record in the Excel data source and because we are using the OnStart property, the basic user information will get collected only once, i.e., when the app is opened by the user. For capturing user details, I have used the Office365users connector. For any further interaction points / clicks , I used the Patch function to update data in the record that was created above. Below is an example of the Patch function used in the OnVisible property of the Products screen –``` Patch(AnalyticsDemo,Last(AnalyticsDemo),{ProductScreen:\u0026ldquo;Y\u0026rdquo;})\n* AnalyticsDemo is the excel data source * Last(AnalyticsDemo) is the last record created in the data source ( which will be the one that was created on the OnStart property) * ProductScreen: “Y” updates the ProductScreen column of the data source, which tells you that the Products screen was opened by the user. This way you can capture any interaction point by using the Patch function as mentioned above in either the OnSelect property of different controls or OnVisible property of different screens and updating a column field in the data source accordingly. **Key take-ways from implementing Custom Click-through Analytics** – * Track business/team goals and app usage * Identify potential app capabilities that need to be modified/upgraded * Generate reports to emphasize the impact of PowerApps (esp. for your organization’s leadership) For more details, have a look at this webinar where I and [@Audrie-MSFT](https://powerusers.microsoft.com/t5/user/viewprofilepage/user-id/3962) talk about it in detail – \\[youtube https://www.youtube.com/watch?v=OM-rlhKJFTA?version=3\u0026amp;rel=1\u0026amp;fs=1\u0026amp;autohide=2\u0026amp;showsearch=0\u0026amp;showinfo=1\u0026amp;iv\\_load\\_policy=1\u0026amp;wmode=transparent\\] Thanks for reading! Download Link for files: [https://www.amazon.com/clouddrive/share/dl7ndHXZ5wNdjtI8Al8EbQojmb8rjNWLJpkCU7L9X68](https://www.amazon.com/clouddrive/share/dl7ndHXZ5wNdjtI8Al8EbQojmb8rjNWLJpkCU7L9X68) ","permalink":"/posts/click-through-powerapps-analytics/","summary":"\u003cp\u003e\u003cstrong\u003eIntroduction\u003c/strong\u003e This blog post will walk through a simple approach to create your own click-through analytics. Extend your reporting options to include statistics which will raise visibility into how your app consumers navigate your applications, enabling you to use data to validate assumptions on app usage and design. I have attached the MSAPP files and the datasource sample(excel spreadsheet) so you can play around with the app to understand it better and then implement the same approach in your apps. \u003cstrong\u003eWorkflow overview\u003c/strong\u003e – \u003cimg alt=\"2018-04-18 08_05_21-Presentation1 - PowerPoint.png\" loading=\"lazy\" src=\"https://powerusers.microsoft.com/t5/image/serverpage/image-id/23893i29AAF257541141D9/image-size/large?v=1.0\u0026px=600\" title=\"2018-04-18 08_05_21-Presentation1 - PowerPoint.png\"\u003e To explore the app, follow these steps – \u003cstrong\u003eStep 1\u003c/strong\u003e: Install the app from the MSAPP file that I have attached below. \u003cstrong\u003eStep 2\u003c/strong\u003e: Save the excel spreadsheet “AnalyticsDemo.xlsx” in your OneDrive and add it as a data source in the app using the OneDrive connector. \u003cstrong\u003eStep 3\u003c/strong\u003e: After saving and publishing the app, open the app and click on some icons and navigate around the app. Check whether the data gets collected in the Excel Spreadsheet. (Note: Sometimes it may take a few seconds before the data gets updated so you might have to close and open the spreadsheet once) \u003cstrong\u003eStep 4\u003c/strong\u003e: Use the OneDrive excel spreadsheet as a data source in a PowerBI report and create different graphs/statistics based on what you would like to measure. Below is an example to get you started –\u003cimg alt=\"powerbi report.png\" loading=\"lazy\" src=\"https://powerusers.microsoft.com/t5/image/serverpage/image-id/23898i3C50F94FE4BE843C/image-size/large?v=1.0\u0026px=600\" title=\"powerbi report.png\"\u003e \u003cstrong\u003eCapturing Interaction points-\u003c/strong\u003e The main functions that I have used to capture the user interaction are the Patch and Collect functions. To start with, you would probably like to collect some basic user information before you capture any further interaction points of that user. To do this, I used the below formula in the OnStart property of the app-\u003ccode\u003eCollect(AnalyticsDemo,{UserName:Office365Users.MyProfile().DisplayName,UserEmail:Office365Users.MyProfile().Mail,LoginDate:Today(),LoginTime:Text( Now(), \u0026quot;\\[$-en-US\\]hh:mm:ss\u0026quot; ),Latitude:Location.Latitude,Longitude:Location.Longitude})\u003c/code\u003eThis will create a new record in the Excel data source and because we are using the OnStart property, the basic user information will get collected only once, i.e., when the app is opened by the user. For capturing user details, I have used the Office365users connector. For any further interaction points / clicks , I used the Patch function to update data in the record that was created above. Below is an example of the Patch function used in the OnVisible property of the Products screen –```\nPatch(AnalyticsDemo,Last(AnalyticsDemo),{ProductScreen:\u0026ldquo;Y\u0026rdquo;})\u003c/p\u003e","title":"Click-through PowerApps Analytics"},{"content":"Why this blog? I am having an amazing journey through the world of PowerApps and Flow. This platform has enabled the non-programmers/citizen developers like me to develop apps easily to simplify business processes(and sometimes just to have some “Nerdy Fun”). This blog is for the community to benefit from and to learn what I have already explored. Why “That API Guy”? One of the game-changing feature that was introduced by PowerApps and Flow was the ability to return data back to PowerApps from a Flow. This makes it possible to connect to any of the available APIs on the internet and get a plethora of data from these APIs (like Restaurant data from Yelp, Movie data, Walmart data, etc.) into PowerApps and boom! you can integrate multiple of these data-sets into one app or make it interact with your own data. Possibilities are endless! By now, you can realize that I am crazy about APIs and that’s why the name. I hope this blog helps all those who are either new to the platform or want to do some amazing (read cool/crazy) things with PowerApps and Flow.\nMaking the world a better place one PowerApp at a time!\n","permalink":"/posts/the-journey-begins/","summary":"\u003cp\u003eWhy this blog? I am having an amazing journey through the world of PowerApps and Flow. This  platform has enabled the non-programmers/citizen developers like me to develop apps easily to simplify business processes(and sometimes just to have some “Nerdy Fun”). This blog is for the community to benefit from and to learn what I have already explored. Why “That API Guy”? One of the game-changing feature that was introduced by PowerApps and Flow was the ability to return data back to PowerApps from a Flow. This makes it possible to connect to any of the available APIs on the internet and get a plethora of data from these APIs (like Restaurant data from Yelp, Movie data, Walmart data, etc.) into PowerApps and boom! you can integrate multiple of these data-sets into one app or make it interact with your own data. Possibilities are endless! By now, you can realize that I am crazy about APIs and that’s why the name. I hope this blog helps all those who are either new to the platform or want to do some amazing (read cool/crazy) things with PowerApps and Flow.\u003c/p\u003e","title":"The Journey Begins"}]