{Step by Step} Version History In Power Automate

Power Automate has introduced new features for versioning and drafting in the solution cloud flows. These features allow users to save drafts of their flows, even with errors, and publish them when ready. The version history is stored in Dataverse, providing a clear record of how each flow has evolved over time. Users can also view and restore past versions as needed. This functionality is gradually being released across different regions, enhancing the Power Automate experience by offering greater control and flexibility in flow management.

Implementation:

  • For using Version History feature you need to create Cloud Flow only in Solution.
  • Here we are creating an “Instant Cloud Flow.”
  • Give title to your flow.
  • And select trigger for flow.
  • Here I have selected “Manually trigger a flow”.
  • Click on “create.”
  • For now, flow is getting created in Classic mode.
  • Now add some actions in this Cloud Flow.
  • Here I have added a “Compose” action in the flow, with a text value in it.
  • Save the flow and go back to your solution.
  • And edit this flow, now the flow will open in New Flow Designer.
  • Now change the value of “Compose” action.
  • And click on “Save draft.”

Note: This new “Save draft” feature will help you save your flow, even if you have error in flow.

  • Flow is saved as draft for now.
  • Go back to solution and edit the same flow.
  • At this point you will get a version history available.
  • And you can see and restore the old version also.

Output:

{Step by Step} New Features Offered by Microsoft Copilot in Canvas App

In this blog we will check the new features of Microsoft Copilot for Canvas App, Microsoft Copilot stands out as a revolutionary feature for Canvas Apps, offering a trio of functionalities: Create, Change, and Ask. These features are designed to empower both developers and end-users with AI-powered capabilities, streamlining the app creation and usage process.

What do these features do?

  • To use these features, first you need to enable Microsoft Copilot.
  • Go to the settings of your Canvas App.
  • Search for “Copilot”, you will find “Copilot Component”.
  • Enable the “Copilot Component” by turning on the toggle button.
  • Now on the right side of your Canvas App, you will the Microsoft Copilot pane with these cool features.

Create :

The Create feature allows developers to rapidly build intelligent apps without the complexity of crafting custom AI models. By integrating Copilot, makers can leverage AI to analyze data within the app, providing a conversational experience that guides users through app functionalities and data insights.

  • This “Create” feature provides these functionalities.

Change:

 With Change, developers have the flexibility to adapt their Canvas Apps on the fly. This feature enables makers to modify app components and data interactions based on user feedback or evolving business needs, ensuring that the app remains relevant and efficient.

  • “Change” feature offers these following actions.
  • In the following GIF, I’m using the “Change the color of the selected button to…” then I typed “red”.
  • And the color of the selected button got changed.

Ask:

The Ask feature transforms the way users interact with Canvas Apps. By utilizing natural language processing, users can query the app and receive AI-generated insights and answers. This not only enhances user engagement but also democratizes data analysis, making it accessible to a broader audience without technical expertise.

These features provide a descriptive response for explaining and performing certain tasks like : “What is gallery” and “How do I share my app?”

Together, these features represent a significant leap forward in app development and user interaction within the Power Apps ecosystem. Microsoft Copilot for Canvas Apps is not just a tool; it’s a game-changer that redefines the boundaries of what’s possible in app creation and utilization.

For those interested in implementing these features, it’s essential to note that they are currently in preview and subject to change. However, the potential they unlock for developers and users alike is immense, paving the way for more intuitive, intelligent, and interactive apps.

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by Step} Enable Formula Suggestions in Columns

AI suggestion can save you time and effort when creating or updating calculated fields, especially if you are not familiar with the syntax or functions of the formula editor. AI suggestion can also help you discover new insights and possibilities from your data by suggesting formulas that you may not have thought of before. AI suggestion is a smart and convenient way to enhance your calculated fields with the power of AI

Implementation:

  • To enable this new feature, Go to the “Power platform admin center.”
  • Click on Environment, select your environment.
  • Now go to the “Settings”, click on “Features” under the “Product” section.
  • After enabling the “AI suggestions for formula columns”, scroll down and click on “Save”.
  • Now create a new column.
  • I already have 2 columns (Price and Number of units).
  • And now I’m creating a new column, to calculate the total price.
  • Select data type as “Formula”, and switch “Type a formula” to “Get a formula suggestions”.
  • Describe the formula you want in simple words.
  • You will get the formula suggested under the text box.
  • Copy formula and paste it in place of text.
  • Save and publish.

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by Step} Enable offline mode for Canvas App and sync data with Dataverse

In this blog, we will learn about an exciting feature of the Canvas App which is the ability to use it offline. This means that you can create and run apps that work natively on your device without requiring a network connection. This feature is currently available only for Dataverse apps, but it opens up many possibilities for app makers and users.

Implementation:

  • For creating Canvas App offline, firstly we need to enable table to use as offline.
  • Go to the tables list.
  • Select the table you want to use as a data-source in Canvas App.
  • And open the properties.
  • In table properties, open advance options.
  • Scroll down and enable “Can be taken offline.”
  • Click on save.
  • Now create a new Canvas App.
  • Provide a title to your app and select format.
  • You need to enable offline feature in your Canvas App also.
  • Go to the “Settings.”
  • In “Upcoming features” you will get “Dataverse offline” feature, turn on the radio button.
  • Go to the General tab.
  • On the Can be used offline (Preview) section, select the Offline profile that contains the entity you want.
  • If you don’t have an existing Offline profile, choose Auto-generate to create one with the entity from the Canvas app.
  • Your offline profile will look like this.
  • Now go back to the app, a screen will automatically appear to sync offline data with a Globe icon, which helps user to know connectivity status.
  • On “Onselect” property of globe icon, you will get this fx function.
Switch(Connection.Sync,
ConnectionSync.Connected, Notify("Your device is connected to the network, and your app is ready to work offline.",NotificationType.Success),
ConnectionSync.ConnectedWithWarning, Notify(Connection.LastSyncMessage,NotificationType.Warning),
ConnectionSync.ConnectedPendingUpsync, Notify("Some data on your device must be synchronized with the server.",NotificationType.Warning),
ConnectionSync.ConnectedError, Notify(Connection.LastSyncMessage,NotificationType.Error),
ConnectionSync.ConnectedRefresh, Notify("Your app is currently synchronizing data with the server.",NotificationType.Information),
ConnectionSync.NotConnected, Notify("Your device is not connected to the network, but you can keep using this app.",NotificationType.Success),
ConnectionSync.NotConnectedWithWarning, Notify(Connection.LastSyncMessage,NotificationType.Warning),
ConnectionSync.NotConnectedPendingUpsync, Notify("Some data on your device must be synchronized with the server. Reconnect to the network to synchronize.",NotificationType.Warning),
ConnectionSync.NotConnectedSyncError, Notify(Connection.LastSyncMessage,NotificationType.Error))
  • Let’s add a form and button to submit records.
  • I have connected form to “Accounts” table.
  • Your app will look like this.
  • In mobile app, if you click on globe icon without any connection, you will get this notification.
  • Save and publish it.
  • Now open app in mobile phone.

Output:

  • In the GIF given below you can see that records is getting created with any connection.

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by Step} Upload a File from Dataverse to SharePoint Using Power Automate

In this blog, we will learn how to upload a file from Microsoft Dataverse to SharePoint, in my account entity I have a custom file type column “Account File”, Flow will get triggered when user uploads file in any column.

Implementation:

  • For triggering the flow, we are using action from Microsoft Dataverse “When a row is added or modified”.
  • Select table, here we have selected “Accounts”.
  • In “Select columns” we have added a logical name of file type column.
  • Now add “Download a file or an image” action from Microsoft Dataverse.
  • Select “Accounts” in table name.
  • Add dynamic content to get GUID in Row ID.
  • And select your file type column in Column name.
  • Add a “Get a row by ID” action from Microsoft Dataverse.
  • Select table name as “Accounts”.
  • Add dynamic content to get GUID in Row ID.
  • Now add an action from SharePoint “Create file”.
  • Select the site where you want to upload the file.
  • Provide folder path.
  • In “File Name”, we have added dynamic content to get account name from trigger.
  • After adding the dynamic content just add the file type, We have added “.csv”.
  • And in “File Content” add dynamic content of “File or Image Content.”



Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Code Tip} How to check Quick Create form type via JavaScript in D365 CE

In this blog post, we will learn how to check the Quick Create form type by using JavaScript. Quick-create forms are a convenient way to create new records without leaving the current page. 

Requirement

To perform logic or validation based on the form type, we need to get the form type value.

To distinguish between create and quick create forms, we can use JavaScript.  

In the present scenario, I will show how to create a contact from the Account entity using the quick create form and then Auto-populate the field ‘Job Title’ as ‘Developer’.  

Implementation:

  • To implement this requirement, we are using java script.
function GetFormType(excecutionContext)

{
//Get the form Context.
var formContext = excecutionContext.getFormContext();

//To get the Context object
var contextObject = excecutionContext.getContext();

//To get the form type via getQueryStringParameters()
var formType = contextObject.getQueryStringParameters().pageType;
//to check is available form is type Quick Create
if(formType == "quickcreate" && formContext.getAttribute("jobtitle") != null)
{
//To set the 'Job Title'
formContext.getAttribute("jobtitle").setValue("Developer");
}
}

Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Code Tip} Set a Default View on a Lookup Conditionally using JavaScript

In this blog post, we will learn a new code snippet of JavaScript that we are using to implement a requirement in a Model Driven App. The feature is called “setDefaultView()”, and it allows us to dynamically change the default view of a lookup field.

Requirement:

Filter the lookup values of the contact entity on the account entity based on the selected option in the ownership column. The ownership column is an option set type column with four options:

  • Public
  • Private
  • Subsidiary
  • Others

We want to show only the contacts that belong to the same ownership type as the account in the lookup field.

Implementation:

To achieve this, we are using the setDefaultView() method of the lookup control in JavaScript. This method takes a view ID as a parameter and sets it as the default view for the lookup field. We can use this method in the OnChange event handler of the ownership field to dynamically change the default view of the contact lookup field based on the selected option.

  • We have an option set column of “Ownership”.
  • Based on the options, we have created views.
  • And we have a lookup column of contact entity.
  • Also, we have an option set column of ownership on Account entity .
  • If value in ownership is selected as “Public”, only public view records will be suggested in lookup.

//Option set Values of "Ownership" field.
const Ownership = {
PUBLIC:1,
PRIVATE:2,
SUBSIDIARY:3,
OTHER:4,

};

//To set the Custom View on Lookup Field.
function SetDefaultViewOnContact(executionContext)
{
var formContext = executionContext.getFormContext();
if (formContext.getAttribute("ownershipcode") != null && formContext.getAttribute("ownershipcode").getValue() != null)
{
//To retrive the "Ownership" of current record.
var OwnershipAcc = formContext.getAttribute("ownershipcode").getValue();
switch(OwnershipAcc)
{
case Ownership.PUBLIC:
formContext.getControl("primarycontactid").setDefaultView("{13E3DEA0-09C0-EE11-9079-000D3A337001}");
break;
case Ownership.PRIVATE:
formContext.getControl("primarycontactid").setDefaultView("{48AEAFA1-0BC0-EE11-9079-000D3A337001}");
break;
case Ownership.SUBSIDIARY:
formContext.getControl("primarycontactid").setDefaultView("{CB830663-17C0-EE11-9079-000D3A337001}");
break;
default:
formContext.getControl("primarycontactid").setDefaultView("{608861BC-50A4-4C5F-A02C-21FE1943E2CF}");
}
}
}

This way, we can provide a better user experience and filter out irrelevant lookup values based on the context. The setDefaultView() method is a new feature of JavaScript that is available in Model Driven Apps and can be used for various scenarios where we need to dynamically change.

Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by step} Exploring the Potential of Microsoft Copilot in Canvas App Development

In this blog, we will learn about how to use Microsoft Copilot for creating Canvas apps in Dynamics 365,You can use Microsoft Copilot to generate code for your canvas apps based on natural language descriptions

  • After the recent update of June 2023, we can see the text box on the “Home” page of the Power platform for creating the Canvas app just by describing it.
  • Let’s create an app.
  • Here, we are creating an app that contains employee data.
  • It will suggest you some sample data before creating an app.
  • You can even add more fields just by describing them in the text box given at the bottom right corner.
  • Click on “Create app” after adding columns.
  • After creating Canvas app, you can add screens, buttons and many more configurations.
  • You just need to describe in the text box for your requirements.
  • Let’s add some screens and with buttons for navigation.

Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by step} Error handling in Power Automate using Try/Catch/Finally scope.

Using the Try/Catch Scope, you can create custom error messages that provide detailed information about the specific errors occurring within your flow. This can help to streamline the troubleshooting process and enable faster resolution of issues.

Requirement:

In this blog, we are generating invalid Json parameters to get the “Try” scope action failed, to demonstrate the working of the “Try/catch/Finally” scope.

Implementation:

  • Give a title to your flow.
  • Select the “Manually trigger a flow” trigger.
  • Click on “Create.”
  • Add a new action by clicking on “New step.”
  • Search for “Initialize variable.”
  • Add a name to a variable.
  • Select “String” as the type.
  • In value add an expression ‘Initial Value.’
  • Search and select the “Scope” action.
  • Add two more scope actions.
  • Rename it with “Try,” “Catch” and “Finally.”
  • Now add a “Parse JSON” action in “Try.”
  • Enter “Invalid_Json_String” in the content field.
  • And in schema add an invalid JSON.
  • Remember we are generating invalid Json parameters to get the “Try” scope action failed.
  • Add a “Set variable” action in Catch.
  • Select a variable name.
  • Enter the following expression in the value field.
  • outputs(‘Parse_JSON’)?[‘body/error/message’]
  • Select variable name.
  • Enter ‘Finally done’ in the value field.
  • Save and test the flow.
  • In this situation the “Catch” and “Finally” actions will not going to run, because of invalid parameters in the “Try” action.
  • To make it run, open the catch action menu.
  • And click on “Configure run after.”
  • Enable the “has failed” and “has timed out” options.
  • Now save and test it again.

Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here 

{Step by step} Build a Canvas Apps using Chat GPT API Key:

Requirement:

In this blog, we will learn to create a Canvas App to get a response from Chat GPT by using the chat GPT API key.

Implementation:

  • Click on “+New custom connector.”
  • And select “Create from blank.”
  • Give a title to your connector.
  • Click on “Continue.”
  • Add an icon and description.
  • In scheme select “HTTPS.”
  • Host: api.openai.com
  • Now click on “Security.”

In “Security” fill the following:

  • Click on “Edit.”
  • Select “API Key” in the authentication.
  • Parameter label: API Key.
  • Parameter name: Authorization.
  • Parameter Location: Header.
  • Now go to “Definition.”
  • Create a “new action.”
  • Provide a name to the Chat GPT API.
  • Add “Operation ID.”
  • Now click on “Import from sample.”
      {
        "model": "gpt-3.5-turbo",
        "messages": [{"role": "user", "content": ""}]
      }
  • Click on “import.”
  • In request, there is a header “Content-type.”
  • Click on the Content-type -> Edit.
  • Add a default value “application/json.”
  • Make it “Required” & “Internal.”
  • Go back.
  • Now click on “body.”
  • Make it “required.”
  • And set visibility at “Important.”
  • Do the same with “Content”, “Role”, and “Model.”
  • Now go to “Test” and create a “Test connector.”
  • Now open your custom connector.
  • Click on “Edit.”
  • Go to the “Test.”
  • Fill model “gpt-3.5-turbo.”
  • Role as “User.”
  • In “content” ask your question.
  • Click on “Test operation.”
  • You can see the Chat GPT response in the “response body.”
  • Now copy the “Response body.
  • Go back to the “Definition.”
  • In the response section, click on “default.”
  • Click on “+Import from sample.”
  • Paste the “Response body.”
  • And click on “Import.”
  • Now update your custom connector by clicking “Updateconnector.”

Let’s create a Canvas App.

  • Go to https://make.powerapps.com.
  • Sign into power apps.
  • Click on “Apps” from the left navigation panel.
  • “+New app,” Select “Canvas.”
  • Give a title to your Canvas app.
  • Select any format.
  • Click on “Create.”
  • Click on “Insert.”
  • Add a “Text input” and “Send” icon.
  • On the “OnSelect” property of the icon, write this function.
    • Set(varResponse,TestConnector.ChatGPTAPI(“gpt-3.5-turbo”,”gpt-3.5-turbo-0301″,Collect(colChats,{role:”user”,content:TextInput1.Text})));Collect(colChats,First(varResponse.choices).message);Reset(TextInput1)
  • Now add a “Flexible gallery.
  • Click on Gallery and go to the property pane of the gallery.
  • Set the layout as “Blank.”
  • Edit a gallery.
  • Add two “Text label.”
  • Turn on the “Auto height” of “label3.”
  • And write “ThisItem.content” on the “text” property of label.
  • On the text property of “Label2”, Write “ThisItem.role.”
  • Save and publish your app.

Output:

Hope it helps! 

Power 365ing as usual! 

Any requirements, implementation or consulting work in Power Platform or Dynamics 365 – end user, Microsoft partner or an individual? 

Problem Area – Technical, Functional, Training, Development or consulting? 

Me and my team are here to assist, please fill the following form for your business needs: Click here