Skip to content
Srinivas Varukala edited this page Jan 25, 2023 · 3 revisions

In this part of the Wiki you will see an overview of questions we received and the answers to those questions. So if you have a question about the app review this page before asking the question.

Deployment

Clean up the resources that are deployed (either failed or successfully)

To execute the cleanup script, you need to download the content of this repository on your local environment and run the PowerShell script under .\Deployment\cleanup-deployment.ps1. You must pass the display name of your Azure AD app and resource group name of your existing deployment.

  1. Download the content of this repository
  2. Execute the script cleanup-deployment.ps1 as follow:
.\deploy.ps1 -displayName <Name of Azure AD registered app> -rgName <Name of the resource group>

Example

.\deploy.ps1 -displayName "cqsaadapp" -rgName "msteams-cqsapp"

Note: The Key Vault will get soft deleted. To avoid any conflicts, provide a unique name for the parameters for your next deployment

While running the deploy script I receive a timeout error from Azure

When this issue happens one ore more resources failed to deploy due to a timeout issue in the Azure end. The script will provide you with the option to retry the deploy. In most cases using this option will resolve the issue. If for some reason this does not resolve the issue try to redeploy the app by performing the steps in the solution section

Solution

  1. Go to https://portal.azure.com
  2. In the search box on the top of the page provide the name of the resource group which you provided when running the deploy script
  3. In the overview section you will find an item called Deployments which will likely show failed, click on the link
  4. On the new page opened you will have the option to select the failed deployment. Place a checkmark before the entry and from the menu on the top select Redeploy
  5. Review the values in the field of the Custom deployment. If needed fill in the values appropriately.
  6. Once all fields are validated click review and create
  7. Review the config once again and press Next to deploy the resource, if the Next button is grayed out make sure all values are populated, if not use the Previous button to populate the fields.

I canceled the deployment and when I try to deploy the application using the same parameter values as previously I do receive an error that the registered application already exists

If this happens the registered application is not cleaned up (which is by default). Perform the following steps to resolve this issue:

  1. Go to https://portal.azure.com
  2. In the Azure services section select Azure Active Directory
  3. In the left menu select the option App registrations
  4. In the main pane search for the application name you provided during the initial deployment of the app, if the name is not listed select the All applications option to validate if it is listed there
  5. Once you located the entry and you have made sure it is not used by another app select the entry and from the main pane select the option Delete on the top

Once theses steps have been performed run the deploy script again.

Troubleshoot Azure Function: The ListCallQueue or any of the functions is returning empty or throwing an error

  1. In order to troubleshoot this we must monitor the function using application insights.
  2. Open the Azure Function (say ListCallQueues), Click Monitor
  3. If Application Insights is not already setup, you see Configure button, click it. You will see prompt to Turn on Application Insights, click it.
  4. In the next screen, you can leave the default values or change as per your needs and click Apply, followed by Yes button. Wait for it to be provisioned.
  5. Refresh the Monitor page, navigate to Logs tab. This connects to the live stream of the logs for this function.
  6. Now go ahead and access the Function URL in a seperate tab. If it prompts for signin, go ahead and sign in.
  7. Look for errors in the live log streaming. Take appropriate actions to fix the error.

Consolidate ShiftsManifest SharePoint List

  1. Open your Power Platform portal, navigate to Solutions and open CQS-PowerPlat-Solution solution.
  2. Select Cloud flows. Edit Archive-ShiftManfiestData flow.
  3. This flow is configured to run manually aka on demand. This helps in consolidating the manifest items into a csv file that gets stored in the ShiftsManfiestArchive document library. The flow also cleans up the manifest list.
  4. You can make a copy of this and perform consolidation of items in the ShiftsChangeLog list too.

How to get the Call Queue Id

You can get the Call Queue ID either using PowerShell or using MS Teams Admin Center. To use PowerShell:

  1. Open PowerShell v7 terminal.
  2. Run below commands:
    $credential = Get-Credential
    Connect-MicrosoftTeams -Credential $credential
    Get-CsCallQueue | FT
  1. Copy the Identity corresponding to the call queue that you want to be managed

To use Teams Admin Center:

  1. Navigate to Teams Admin Center (https://admin.teams.microsoft.com)
  2. Expand Voice, Select Call Queues.
  3. You will see list of call queues already configured.
  4. Select the call queue that you want to be managed.
  5. The URL will look like this: https://admin.teams.microsoft.com/call-queues/v2/edit/2cd2fxxx-xxxx-xxxx-xxxx-xxx919a26620
  6. Copy the GUID at the end of the URL.

Deploy-SPO.ps1 threw error: Could not load file or assembly 'System.IdentityModel.Tokens.Jwt, Version=6.12.2.0, Culture=neutral,| PublicKeyToken=31bf3856ad364e35'. Could not find or load a specific file. (0x80131621)

  1. Run the Deploy-SPO.ps1 script in a new terminal window. This error is caused when you are using the same terminal window that was used for Azure deployment.

While testing custom connector, the New Connection is not populated in the Selected connection dropdown

  1. Ensure that environment variables in your solution are correct.
  2. If you still see the issue, please follow below steps to create a new Flow which helps in troubleshooting it futher
    • Go to Power Automate Portal (https://flow.microsoft.com)
    • Click on + Create in the left nav.
    • Select Instant cloud flow
    • Select Manually trigger a flow. Click Create
    • Click + New Step.
    • Select Custom tab, then select CQSConnector
    • Select ListCallQueues
    • Now follow the prompt to create new connection to the custom connector.
    • The sign in flow will show the error details if there is any issue in the configuration.
    • Using the this information, you should be able to further troubleshoot the issue.

When validating the flow in the flow portal https://flow.microsoft.com I receive a forbidden error

This error can occur due to multiple reasons. In most cases this is caused by either a missing license or missing permissions. Below is an example error message you might receive:

Error

Flow client error returned with status code "Forbidden" and details "{"error":{"code":"MissingAdequateQuotaPolicy","message":"The user 'XXXXX' does not have a service plan adequate for the non-Standard connection 'Http'. https://go.microsoft.com/fwlink/?linkid=2123710","extendedData":{}}}".

Solution

Make sure that the user which you used to login to the portal has been assigned a license for Microsoft Flow.

Power Platform environment user access

After the PowerApp is shared with a user. The user attemps to access the app and might see errors:

  • Make sure your users have access to the data in your app
  • Connection not configured for this service Ensure you go through below steps in troubleshooting these errors:
  1. As Power Platform admin, you must ensure the user exists in the Security group associated with your Environment. See below screen, where you can identify the security group.
  2. You can verify by navigating to M365 admin center > Teams & groups > Active teams & groups. Search for the security group and add the user as a member if doesn't exist already
  3. Follow steps https://learn.microsoft.com/en-us/power-platform/admin/add-users-to-environment#add-users-to-an-environment-that-has-a-dataverse-database to add user to the environment and assign a security role: Basic user.
  4. Share the Power App, search for user, select Basic User for the environmentvariables
  5. If the error Connection not configured for this service persists, follow below steps:
    • Navigate to Power Apps Admin Center
    • Selected the Environment you are working.
    • Click on Settings on top bar.
    • Go to User + Permissions >> Security Roles
    • Under the Security Roles, find the Basic User role , click on ellipses (...) >> Edit
    • Under Customization tab >> Select Process >> assign Read access to the Organization
  6. If above doesn't help, edit the PowerApp and try to refresh the Power Automate connections. You might observe one or all Flows failing to refresh. Pick the flow that is failing to refresh and make sure it is turend ON. Sometimes invalid values in the environment variables cause the Flows to throw below error and it won't turn ON. So make sure the environmen variables are correctly configured.

Flow client error returned with status code “BadRequest” and details “{“error”:{“code”:”InvalidOpenApiFlow”,”message”:”Flow save failed with code ‘MultipleErrorsOccurred’ and message ‘The dynamic operation request to API ‘sharepointonline’ operation ‘GetTable’ failed with status code ‘Unauthorized’. This may indicate invalid input parameters. Error response: {\r\n “error_description”: “Exception of type ‘Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException’ was thrown.”\r\n};The dynamic operation request to API ‘sharepointonline’ operation ‘GetTable’ failed with status code ‘Unauthorized’. This may indicate invalid input parameters. Error response: {\r\n “error_description”: “Exception of type ‘Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException’ was thrown.”r\n}’.”}}”.

  1. Few blogs that I'd refer for any further troubleshooting: