{Steps by Step}Embed a Power Virtual Agents bot in Canvas App

In this blog, we will learn to embed a Power Virtual Agents bot in Canvas App.

Requirement:

Adding Power Virtual Agents chatbot into Canvas App, Power Virtual Agents bot can handle multiple conversations simultaneously, which means it can scale up to meet increased demand without requiring additional resources.

Implementation:

Firstly, we need a bot, to create a bot follow these steps.

  • Go to https://make.powerapps.com.
  • Sign into power apps.
  • Click on the “Power Platform” from the left navigation panel.
  • Select “Power Virtual Agents.”
  • You can use the old chatbot also.
  • Click on “Create“, then select “Try the unified canvas (preview).”
  • Give a title to your chatbot.
  • Click on “Create” button.

After creating a bot, we need to enable the Power Apps component framework feature.

  • Go to the Power Apps portal.
  • Click on the gear icon on top right corner and select “Admin Center.”

  • On the left pane, select “Environments, select the environment where you want to enable this feature, and then select “Settings.”
  • Expand “Product” and select “Features.”
  • Turn on “Power Apps component framework for canvas apps,” then select “Save.”

Now we need a solution that consists of “IFrame” exists.

  • IFrame will hold Canvas App and bot together.

Now create a Canvas App or open the existing one.

  • Click on the “Tree view” from the left pane.
  • Now go to the “Components” and click on three dots.
  • Select “Import components.”
  • Click on “Code.
  • Select “IFramePCF” component.
  • Click on “Import.”
  • IFramePCF is now displayed under components.

Now add a new screen where you want to put a Chat bot.

  • Click on “insert.”
  • Select “IframePCF” from the code components.

Now, Go to the “Chatbots” in Power Apps portal.

  • Select your Chatbot.
  • And select “Edit.”
  • Go to the “Setting” in the left pane.
  • Select “Channels
  • Now select “Mobile App.”
  • Under Embed code, copy the ‘src’ section only (highlighted below): 
  • Now, Go back to the Canvas App.
  • Select “IFramePCF” component from tree view.
  • And click on “Advance.”
  • Paste the URL from the bot copied in the “src.”
  • Save and publish.

Output: Chatbot is now uploaded on Canvas 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} Retrieve more than 5000 records using Power Automate Pagination.

In this blog, we will learn how to retrieve more than 5000 records using Power Automate.

Requirement:

Dataverse is a powerful platform for managing data, and Power Automate is a great tool for automating business processes that involve Dataverse. However, there are some limitations to how much data can be retrieved from Dataverse at one time, by default, Dataverse limits the number of records that can be retrieved in a single query to 5000.

Implementation:

  • Give a title to your flow.
  • Select the “Manually trigger a flow” trigger.
  • Click on “Create.”

Now add some actions.

  • Click on “New step,” and search for “Initialize variable.”
  • Select “Initialize variable” and rename it.
  • Write “Record name” in the name.
  • Select “Integer” in type.
  • And put “0” in the value.

We are adding this “Initialize variable” to get the total record count.

  • Add one more variable.
  • Click on “New step,” and search for “Initialize variable.”
  • Select “Initialize variable” and rename it.
  •  Write “Page number” in the name.
  • Select “Integer” in type.
  • And put “1” in the value.

This variable will help to send the next page number on the request.

Now create a do-until loop to run until the page Number is 0.

  • Add dynamic content of “Page number” in value.
  • Click on “Add an action.”
  • Search and select “Scope.”
  • Again, click on “Add an action.”

Scope will define your fetch criteria to retrieve the records from Dataverse.

  • Search for “List rows.”
  • Select the “List rows” action of Microsoft Dataverse.
  • Select an entity, here we have selected “Contacts.”
  • Add fetch XML query.
  • In the fetch Xml query, add dynamic content of the “Page Number” variable.
  • Add a condition.
  • Write this expression in condition.
    • “length(outputs(‘List_rows’)?[‘body/value’])”

Here, we are adding a condition to check if the list rows length is still greater than 0.

If yes, increment the length of the Page Number.

  • Click on “Add an action.”
  • Search for “Increment variable.”
  • Select “Page Number” in the name option.
  • Add “1” in value.
  • Add a “Scope” action under “Increment variable.”
  • Now add one more “Increment variable” in “scope.”
  • Select “Record Count” in the name option.
  • Write this expression in value.
    • “length(outputs(‘List_rows’)?[‘body/value’])”

If no, Set Page Number as 0.

  • Add “Set variable.”
  • Select “Page Number” in the name option.
  • Set “0” in value.
  • Add a “Compose” action.
  • Now add a dynamic content of “Record Count.”
  • Save the flow and run it.

Output:

Using Power Automate, we can retrieve more than 5000 records with Pagination, this flow runs two times, on the first run it retrieves 5000 records, and 2100 records on second run.

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}Passing parameters to Power automate from Canvas App.

In this blog, we will learn how to pass parameters to Power automate from Canvas App.

Requirement:

While working with Canva App, many times we come across a situation where we need to perform some operations through Power Automate, In this blog, we will learn how to pass the parameters to Power automate from Canvas Apps by calling a Power Automate flow, passing parameters to the flow.

Implementation:

  • Go to https://make.powerapps.com.
  • Sign into power apps.
  • Click on “Apps” from the left navigation panel.
  • Open a Canvas app, if want you can create new one.
  • In Canvas app.
  • Click on “Insert.”
  • Add “Text input‘ and “Button” to screen.
  • Click on the power automate from left panel.
  • Click on “Create new flow.”
  • Create a new flow by clicking on “Create from blank.
  • Click on the “New Step.”
  • Search for “Initialize variable.”
  • Select “Initialize variable.
  • Rename step by “Email.”
  • Select “String” in type.
  • In value field add dynamic content by clicking on “Add dynamic content.
  • Click on “Ask in PowerApps” to get an dynamic content.
  • Select “Email_Value” to get the email address which you will enter
  • Add a new step.
  • Search for “Outlook.”
  • Select “Send an email (V2).”
  • In this step add a dynamic variable content in “To.”
  • Add dynamic content by clicking on “Add dynamic content.
  • Select “varEmail.”
  • Add text value in “Subject” and “Body.”
  • Save flow and test it.
  • Now go to the Canvas app.
  • Click on the button which you have added before.
  • On the “OnSelect” property on button add this function.[‘Sendemailswithparameters’.Run(TextInput1.Text)]
  • Save and publish your app.
  • Now play your app.
  • Add Mail id and test your flow.

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}Share record with a user using Unbound action in Power Automate

Requirement:

In this blog, we will learn how to share records from Microsoft Dataverse to a user with the help of using an Unbound action in Power Automate, In Power Automate, an unbound action is a type of custom action that is not associated with a specific entity or record in a Dynamics 365 environment. It is a standalone action that can be called from any workflow or automation.

Implementation:

  • Go to https://make.powerapps.com.
  • Sign into Power apps.
  • Click on “Flows” from the left navigation panel > “+New flow.”
  • Select “Automated cloud flow.”
  • Give a title to your flow.
  • Search for the Microsoft Dataverse trigger “When a row is added, modified, or deleted.”
  • Select the Microsoft trigger.
  • Click on “Create.”
  • Select “Added” in the Change type.
  • Select an entity, we have selected an “Accounts” entity here.
  • Select “Organization” in the scope field.
  • Click on “+New step” for adding action.
  • Search for “Perform unbound action.”
  • Select Microsoft Dataverse action “Perform an unbound action.”
  • Select “GrantAccess” in the action name field.
  • In the target field enter entitylogicalname-plurarl(recordid) or entitylogicalname-plurarl/recordid.
  • You can add the dynamic id of the entity, we have added a dynamic id.
  • PrincipalAccess includes the user or team to which access will be provided and the Access Mask for the Privilege, in JSON format.
  • Click on “+New step.”

Tips: In this blog, we gave an access to user, for giving an access to team use the code given below.

Principal access for team.

{
"Principal:"
{
"teamid":"",
"@@odata.type":"Microsoft.Dynamics.CRM.team"
},
"AccessMask":"ReadAccess"
}
  • Search for “Initialize variable.
  • Select “Initialize variable.”
  • Write “At” in the Name field.
  • Select “string” in the type field.
  • Write “@” in the Value field.
  • Click on “+New step.”
  • Search for “Compose.”
  • Select “Compose.”
  • Add PrincipalAccess JSON for sharing user.
  • Use the dynamic id of “At” instead of using “@.”

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