Sensei IQ Troubleshooting
Dynamics Team Creation Failure
Microsoft has made a recent change that requires some permissions changes to allow Dynamics Teams creation.
The issue usually surfaces in the following error message when you attempt to associate an Office 365 Group with a Program or Portfolio.
Sensei have identified the additional permissions required in order for Dynamics Team creation to succeed and are working on rolling out a fix for this in a future update.
In the meantime, the following workaround can be implemented if required until the update reaches your environment:
- In an unmanaged Solution in your environment (e.g. Sensei IQ Enhancements), create a new Security Role
- Select the Business Management tab and grant the following permissions to the new Security Role:
- Security Role - Read and Assign [Business Unit access]
- Team - Create, Read, Write, Append, Append To [Business Unit access]
- Save your new Security Role
- Grant the new Security Role to whichever Users/Teams that you wish to allow to create Group association for
- Your custom security role can later be deleted from your environment once the Sensei Update has reached your environment
User cannot access BPF
This error can occur when a user tries to open a Project that has a Project Type associated to a BPF that the user does not have security privileges to access. It will usually result in an error message such as this one:
Principal user (Id=e5ad310b-6bc5-ea11-a812-000d3a6aacc7, type=8, roleCount=5, privilegeCount=941, accessMode=0), is missing prvRead{your_BPFName}bpf privilege (Id=0ee551b5-325a-4c08-bfb6-97cb2c3ea7e8) on OTC=10160 for entity '{your_BPFName}'. context.Caller=e5ad310b-6bc5-ea11-a812-000d3a6aacc7
If you are experiencing this error, please ensure that you have followed all of the configuration steps in reference->adding a workflow.
User in a Business Unit cannot create Project for the web Project
If you have created a user in a Business Unit other than the root Org business unit, there are some additional steps you need to perform to allow those users to access Project for the web.
As per Microsoft's documentation, the first step to ensuring access for the Business Unit user to Project for the web is to add the 'Project User' and 'Common Data Service User' roles to the Team that has been created for your Business Unit.
However, these steps alone still result in an error for that user when they try to create a new Project for the web project.
The error returned is 'Your session expired. Refresh the page to continue'.
To ensure business unit users do not encounter this error, ensure you also add the 'Sensei IQ - P4TW Business Unit' role to the team for your business unit. This role contains the additional permissions required for your user.
Hidden Form Tabs Appearing
In "Kaizen - 2022.03.08.4" we have released some form loading improvements to reduce load time and the amount of flashing of tabs and forms. As part of this any conditional tabs have been made hidden to prevent the user from seeing the tabs and then them disappearing, instead we start them hidden and then show the ones that need to be shown.
Due to these changes, if you have tabs you have hidden and don't want shown or want to show them conditionality via your own custom code you will need to make one of the following changes:
- Navigate to the Settings > Configuration Settings > Form Tab Visibility Service Exclusions and add an exclusion for your form tab. This will tell us to ignore it so you can manage it. If you want to stop us hiding something you can disable an exclusion.
- Append "_ignoreftv" to the internal name of the tab in the form designer. This will tell us to ignore it so you can manage it.
- For Projects/Programs/Portfolios you can update the form tab visibility settings via the Project Types for Projects or the relevant setting for Programs and Portfolios.
Proposal Details Tab Not Visible
In "Kaizen - 2022.03.08.4" we have released some form loading improvements to reduce load time and the amount of flashing of tabs and forms. As part of this the Proposal details tab has been hidden so we can calculate all the tabs visibility and then smoothly show the appropriate tabs.
Due to these changes, there is a known issue with the proposal form whereby if there are visible custom tabs on the form that the loading process will currently not show the details tab is it believes necessary tabs are already visible.
We intend to fix this issue #10715 in a future release.
As a workaround to allow your tabs to load seemlessly and smoothly with the other tabs, please hide all your custom tabs in the form designer.
Problems in the Desktop and Mobile Power Apps Players
Sensei IQ is currently intended to be utilized within an Internet browser, we are aware that Sensei IQ is not fully functional in the mobile and desktop Power Apps players. We will be working to improve this over time and extend compatibility out to the mobile and desktop players. Please utilize the built-in feedback tool to highlight if this is important to you.
Solution Upgrade Issues
Solution Upgrades can fail for a variety of reasons. Often the error message from a failed Solution Upgrade will point you to a dependency or a specific component that is causing the failure. At other times the failure message is a little less obvious to interpret.
One specific error that is less obvious to diagnose occurs when another managed Solution (usually an Enhancements or customer specific managed layer) has modified the default Control that should be used for a Table that originates in Sensei IQ. (For example to switch the default control to be Editable Grid).
The error resulting from this will appear as "This solution cannot be uninstalled because the 'CustomControlDefaultConfig' with id '{guid}' is required by the '{Your custom managed Solution}' solution. Uninstall the {Your custom managed solution} and try again."
For some reason, this configuration change does not handle Solution Layering well and the presence of a top layer managed Solution that modifies the default control will prevent an underlying Solution Update from completing. Sensei strictly recommend not modifying the Control settings at the Table level for any of the Tables that are shipped with Sensei IQ.
If you do end up in a scenario like this, the recommended course of action is to remove the customized default control from the Table in your custom solution (in the environment where it is unmanaged). Then package your custom Solution update and deploy it to your environment where it appears as a managed Solution. This should then allow the Sensei IQ Solution Update to succeed.
Populate Project against Proposal on Transition to Project
When a Proposal Approval occurs and the Proposal transitions into a newly created Project, it makes sense to create a link between that Proposal and the Project that was created from it. Existing customers may need to manually update the Proposal Approval Flow so that this link is created on the Proposal. To do this, follow these steps;
- Navigate in make.powerapps.com to Solutions and select Atsumeru
- Towards the top right of screen, select to filter to view only Cloud flow
- Select Proposal Approval Atsumeru
- Select to Edit the Flow
- Scroll down and select Scope - Approval to expand it
- Select Condition - Test Approval to expand it
- Select Scope - Update Proposal Approved to expand it
- Select Apply to each - Approved Proposal to expand it
- Select Update a record - Proposal Approved to expand it
- Select Show advanced options to show all available columns on the Proposal update action
- Locate the Sensei Project (Projects) column. Type into the column value: /sensei_projects() Then, place the cursor in the middle of the parenthesis and scroll down in the Dynamic content pane to locate the Create a new record - Sensei Projects heading and select **
- Select to Save the Flow
Dynamics Team Creation Failure
Note
This was fixed in release 2021.07.05.2 If you are still experiencing this issue please check your What's New page to see which version you have.
Microsoft has made a recent change that requires some permissions changes to allow Dynamics Teams creation.
The issue usually surfaces in the following error message when you attempt to associate a Microsoft 365 Group with a Project, Program or Portfolio.
Sensei have identified the additional permissions required in order for Dynamics Team creation to succeed and are working on rolling out a fix for this in a future update.
In the meantime, the following workaround can be implemented if required until the update reaches your environment:
- In an unmanaged Solution in your environment (e.g. Sensei IQ Enhancements), create a new Security Role
- Select the Business Management tab and grant the following permissions to the new Security Role:
- Security Role - Read and Assign [Business Unit access]
- Team - Create, Read, Write, Append, Append To [Business Unit access]
- Save your new Security Role
- Grant the new Security Role to whichever Users/Teams that you wish to allow to create Group association for
- Your custom security role can later be deleted from your environment once the Sensei Update has reached your environment. (Fixed in release 2021.07.05.2)
Power Automate 502 - BadGateway Error
- Check that the Approvals Administrator role has been given to the user who owns the flow
- Make sure the Approvals Administrator role has read access to the System Job Table
Error with Alternate Keys failing
Occasionally, you will see the following error:
The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.sometableBase' and the index name 'ndx_for_entitykey_sensei_primarykey'. The duplicate key value is <redacted>.
The error appears to be caused by the alternate key for a table being activated before the table is present in the environment. When this happens, the only thing that needs to be done is that the key index needs to be manually activated.
- Download and install XRM Toolbox from here.
- Within XRM Toolbox download the tool, "Alternate Key Manager"
- Open the tool and connect to your Dynamics Instance
- Load Entities and select the Table that is generating the error
- Load the keys and then select the key that is causing the error and hit the "activate" button until it gives you a response. The properties should change to "active"
Sometimes the properties will not fresh correctly after activating the key. You may need to exit out of the tool and then enter back again to see them change. Once the key is active, then this error should go away.
Reset Task Sync Data
Some times while configuring a task sync deployment it is possible to make a mistake and end up with duplicate entries in the "sensei_externaltask" table. These duplicate entries will often appear like this in the system:
You can reset the task sync data and have it repopulate by following these steps:
There is currently a plugin that exists which will prevent you from deleting synchronized tasks except through the task engine. You will need to disable this plugin (and then re-enable it).
To do this, as a System Administrator, launch the Plugin Registration Tool (this tool is available from Microsoft: Download tools from NuGet | Microsoft Docs).
- Select + Create New Connection
- Log in to your Office 365 tenant
- If prompted, select the environment that contains your Sensei IQ installation.
- Scroll down the list of Registered Plugins and locate and expand (Assembly) SenseiDataIngestionPlugin
- Select to expand (Plugin) SenseiDataIngestionPlugin.Sensei_PreventTaskDeleteWithExternal
- If you have a step listed under the (Plugin) SenseiDataIngestionPlugin.Sensei_PreventTaskDeleteWithExternal, right click the step attached to it and select 'Disable' from the context menu. If no steps are listed, nothing needs to be done here, proceed to step 1 below.
You can turn this back on afterwards by simply selecting 'Enable' from the context menu.
Once that is done, follow these steps:
- Turn off your data flows so that they do not run any more, or set them to only run on demand.
- Download this flow and install it into your environment.
- Enable the flow.
- (Optional) Run the Flow and provide a value other than "YES" to perform a test run without actually deleting the data.
- Provide the "YES" value as the parameter to actually perform the delete operations.
- Once the Flow run is complete don't forget to:
- Re-enable the Task Sync DataFLows
- If the plugin step was disabled, use the Plugin Registration tool to re-enable SenseiDataIngestionPlugin.Sensei_PreventTaskDeleteWithExternal
If the argument "DeleteFlag" is left blank or contains any string other than "YES" then the flow will run but not delete anything so that you can see what it would do. If you enter in "YES" as the argument, then it will actually perform the delete.
The length of the entire delete operation depends on how many tasks are in the system, but testing has shown approx. 1 minute per 100 external tasks. The current maximum number of tasks supported by this Flow is 100,000 unique tasks per run. It is possible to run this data flow multiple times if necessary.
Duplicate Resource Plan Data or Timesheet Data
Due to a concurrency issue, there have been some circumstances in the past which could result in duplicate Resource Plan Data or Timesheet Data appearing in the system. Typically the duplicate data will not present itself in the Resource Plan itself or in the Timesheet itself - rather it becomes evident either in reporting or when attempting a Resource to Finance forecast sync.
New Key constraints have been shipped in IQ which will enforce that in future these duplicate data records cannot be created. However, for existing environments that already contain duplicate data records, a couple of additional steps need to be performed.
The first step is to remove the duplicate records from the environment. To facilitate this, a couple of Power Automate flows have been created which will identify and optionally delete the duplicate records.
These Flows are available here:
When importing the Flow to the environment that contains your IQ installation, you will need to create or select a Dataverse connector. Once created, you can run the Flow in Preview mode (by entering any value other than DELETE in the parameter prompt). The Flow will go about determining whether duplicate data exists in your environment. At the completion of the Flow run (which may take some time depending on the amount of data) you can expand the final Compose action in the Flow to view a list of data that was flagged as duplicate data. Note that if there is a lot of duplicate data, you may see a download link instead of text appearing directly in the action output.
If Duplicate records are found, you can choose to either manually remove the duplicates (directly via Dataverse) or you can choose to run the Flow again in Delete mode. To run in Delete mode, enter DELETE in the input parameter to the Flow when prompted. The Flow will run again and will again collect the list of duplicate records - but this time will also delete those duplicate records. The Flow run will still output the list of duplicate records in the final Compose action. After deleting the duplicates you may wish to copy this data out of the Flow to keep as a record.
After any duplicate records have been removed from your environment, you can now select to activate the Key that will prevent further duplicates from being created in your environment. When a new Key is deployed to an environment, Dataverse will automatically attempt to activate that new Key. However, if there is data already present in an environment which violates that new Key, the activation of the new Key will fail. Once the duplicate data has been removed, the Key can be activated by performing the following steps:
- Navigate to make.powerapps.com and ensure you have selected the environment which contains your IQ installation.
- From the left menu, expand Dataverse and select Tables
- Select the 'All' tab and then locate the 'Resource Request Data' or 'Timesheet Data' table (as per the one which contained duplicate data - repeat these steps to ensure both keys are activated if both contained duplicate data)
- Under the Schema heading, select Keys
- Check the Status of the UniqueResReqAndDate or UniqueTimesheetRowAndDate (as applicable)
- If the Status is Active already, you do not need to do anything.
- If the Status is Failed, select the Key and then from the ribbon select 'Retry'. Assuming there is now no data that violates the Key, it should now activate correctly.
Common problems
Application Failed to Load
No Stack Available
This is an indication that the current user may be missing the Basic User permission in Dynamics. Please refer to Deployment -> Add individual users into the IQ Security Roles
Sensei User Feedback Tool
The Sensei User Feedback Tool is used to capture and record user feedback about the Sensei IQ product.
You access the Sensei User Feedback tool via the Feedback link on the right-hand side of the Sensei IQ screen. If you are using the mobile experience, you may only see the talk bubble.
The following feedback types can be provided:
- Report a Bug: Let us know if you see something that is broken or not working as expected. The fields on the form are:
- Your email address (mandatory field)
- Add a title
- Describe the bug in detail
- Feature Request: Tell us how we can improve Sensei IQ. The fields on the form are:
- Your email address (mandatory field)
- Give your idea a name
- Tell us more, including the problem it solves
- General Feedback: Rate your experience with Sensei IQ
- Rate Sensei IQ out of five stars
Any feedback you provide will go into the User back system and will be reviewed by Sensei. You may be contacted by Sensei to provide further details or be given an update on your feedback.
Technical References:
- Userback (User Feedback Tool) - Security Information
- Userback (User Feedback Tool) - Information Security Policy
A Sensei IQ customer can opt-out of this service by adding a setting to the IQ configurations settings area.
Setting | Value | Effect |
---|---|---|
FeedbackOptOut | True | Disables Sensei User feedback collection |