External Execution Tool Configuration and Synchronisation
Sensei IQ provides the capability of bringing Project data in from external execution tools (e.g. Project Online, Project for the web) and allowing Sensei IQ Projects to synchronise metadata with external projects that have been linked to those Sensei IQ Projects.
External Execution Tool Support
Sensei IQ utilizes the Power Platform Dataflow feature to connect to a large variety of external systems.
To check if your execution tool is directly supported by Sensei IQ, check the Microsoft Power Query connectors Page for "Power Apps (Dataflow)" support.
If your system is not listed as supported, connectivity may still be possible via one of the generic connectors, talk to your Sensei engagement lead for more information.
Initial Setup
Example Template Dataflows are available to help connect Sensei IQ to external execution tools, however if there is a supported Microsoft dataflow connector for the data source of the execution tool to be integrated, Sensei IQ currently has the infrastructure required to sync project level metadata through the dataflow to Dataverse and ultimately into Sensei IQ.
Sensei’s professional services can be used to assist you in configuring and customizing these data flows or you can configure it yourself using the examples below.
Modifying/Customizing External Execution Tool Sync
To make changes to the configuration of the synchronisation of an external execution tool into Sensei IQ, you may need to modify the following settings:
- Table(s) in Dataverse
- Dataflows
- External System records
- Metadata Mapping records
- Plugin Sdk Steps
Small modifications may only require changes to one or two of the above elements. Creating a brand new linkage to an execution tool where the Dataflow template is not included in Sensei IQ will require changes to all of the above elements.
Updating an existing Dataflow and External System sync
Let's use an example use case of a requirement to include an additional column in the sync operation between a Project in Sensei IQ and a project from an existing external execution tool and let's assume that the steps in Enabling/Configuring Dataflows have already been performed.
In our example, let's say that you would like to include a Text-based column called 'Location' from your external execution tool and synchronise it through to your Sensei IQ Project's Location column.
Note
The column you are wishing to synchronise into Sensei IQ must exist already in your external execution tool. If it does not exist already in your external execution tool, you will need to create that column in the external execution tool and will need to populate values for that column in your external execution tool's projects. Alternatively, if the column is relevant only to your management of projects within Sensei IQ, consider creating a custom column for the sensei_project Table and displaying that column on the Main Form. This will enable you to manage the column local to Sensei IQ without having the perform any data mapping and synchronisation steps.
The first step you will need to do is create a column in the Dataverse Table that is being populated by the Dataflow that is retrieving data from your external execution tool. You can determine which Table is being written to by the Dataflow by opening the Dataflow itself and viewing the Map tables screen (after clicking 'Next' on the opening screen).
Note
It is recommended to make all customizations to IQ in an unmanaged Solution (e.g. 'Sensei IQ Enhancements').
- Once you know the Table that is being written to by the Dataflow, navigate to your unmanaged enhancements Solution and ensure that the Table has been added there.
- If it is not referenced there yet, select to Add Existing > Table.
- Select your Table and click Next.
- Select Add.
- Select the Table from within your enhancements Solution
- From the Columns tab, select Add column
- Create a new column with an appropriate name and type for the data that is going be stored in this column by the Dataflow. Then press Done.
Now that the destination table being used by the Dataflow contains your new column, you can proceed to updating the Dataflow.
- From the left nav, expand Data and then select Dataflows
- Select the ellipsis (…) at the far right for the Dataflow that you wish to modify and select Edit.
- Select the query from the left nav that is retrieving the Project data from your external system.
- If you have not modified the Dataflow recently you will likely need to re-authenticate to your external system. You will need to do this if you are presented with the Configure connection button.
- Select 'Configure connection'
- If there is no existing connection for your Dataflow, select 'Create new connection'
- Enter the following details:
Column | Value |
---|---|
Connection name | Enter a name for your connection (if not populated automatically) |
Authentication kind | Organizational account |
Privacy level | Organizational |
- Select Sign in and enter the credentials of an account which has access to all project data in the environment that wish to connect to.
Note
If you are using the same account to log in to the source environment as the one accessing this environment, still choose to enter the credentials afresh (rather than selecting the already logged in account) - for whatever reason, selecting the account (rather than re-entering the credentials) does not seem to have a high success rate in terms of the data flowing through upon creation of the connection.
- Select Connect
- If all has gone well, you will start to see the data from the external system populated into the Power Query window.
- View the data currently being retrieved from your external execution tool and verify that the column you are wishing to add is present. If it is not, modify your Query steps to ensure the data is present.
- If your column contains Date data, ensure that you also update the DateFormat step in the Query to ensure that the date format is set to 'yyyy/MM/ddThh:mm:sszzz' (this format is required for Dataverse to populate a Date column in a Dataverse Table).
- Also consider using the RenameColumns step to ensure that your column from your external execution tool within the Query matches the name of the column that you created in the Dataverse Table that will be storing the value (this step is optional, but does assist in the next step because if the names match then the Power Query tool will auto populate your column mapping.
- When you have configured the Query, click Next at the bottom right of screen.
- Once the data loads, select your Project-related query and ensure that your Source column from your Query is correctly matched to the Destination column in the Dataverse Table.
- Click Next
- Ensure the Dataflow scheduled run configuration is correct, then click Create
- Ensure that your Dataflow runs successfully. The Dataverse Table that is written to by the Dataflow should now contain the data for your new column from your external execution tool.
- If the column that you wish to synchronise to your Projects from your external execution tool does not yet exist on the sensei_project Table, you will need to add it as a new column on that Table. (If you wish to populate an existing sensei_project column with data from your external execution tool, then you can skip ahead).
Navigate to your Enhancements unmanaged Solution and select the Project (sensei_project) Table. (If it hasn't yet been added to your Enhancements Solution, go ahead and add the Table via Add Existing > Table).
- Select Add Column and create your new column with the required name and type.
If the column needs to be visible on the Main Form for sensei_project, select to Edit the Form and add your new column to appear on the required tab and section of the Form. Note that if you would like your column to appear on the Details tab that some Project Types use different Details tabs on the same form - so you may need to add your column into multiple tabs.
Next, open the Sensei IQ app and navigate to the Settings area and from the left nav menu, select External Systems
- Select the Name of the External System that relates to the Dataflow that you just modified.
- Select the Projects tab
- Select New Metadata Mapping
- Enter the following details, and then click Save & Close
Column Name | Value |
---|---|
Mapping Type | Project |
Sensei Column Name | {The name of the column on the sensei_project Table that you wish to synchronise with data from your external execution tool} |
External Column Name | {The name of the column on the Table that is synchronised from your Dataflow} |
External Column Type | [blank] |
After adding the new Metadata Mapping record, you should start seeing data from your new Dataflow column synchronise into Projects in IQ after the next Dataflow run. (If your Dataflow is set to run manually, navigate to your Dataflow and select to Refresh it.)
Adding Task Mappings to an External System sync
Similarly to the instructions in the previous section, in order to complete a task sync configuration you will need to map metadata from your import table to the task created in the system.
- Select the "Tasks" tab from the external system ui.
- Enter the "Task Sync Entity Name", for example, "sensei_projectonline_task" is the table that ships with the system for Project Online.
- Enter a pattern for construction URLs that the tasks will link to.
- Add metadata required to map tasks.
There are a few special types of metadata that you will need to add. Please remember when adding task related metadata to select "Task" as the Mapping Type. For example:
Each one of these column types should be mapped as they are required for Gantt chart functionality:
Column Type | Note |
---|---|
Name | This column contains the name of the task. |
ID | This column is the unique ID of the task. |
Parent Project ID | This column is the unique ID of the project this task belongs to. |
Parent Task ID | This column is the unique ID of the parent task of this task. |
Milestone | This column contains a status as to if this task is a milestone or not. |
When completed, your configuration should look something like this.
Tasks will be loaded into the system the next time your data flow is run. If these tasks are already related to a project that is currently synchronized, then these tasks should automatically populate the Gantt chart of that project. Otherwise, they will appear when an external project is assigned to a project in the system.
Note
Tasks will only synchronize upon project creation, if you use the UI to select a project schedule when creating the project, or when using the "link" button in the project UI to select a project. Creating a project through any other mechanism will not trigger a task sync and you will need to wait for the dataflow to run.
Adding Assignment Mappings to an External System sync
As with Project and Task sync configuration, in order to complete an assignment sync configuration you will need to map metadata from your import table to the assignment created in the system.
- Select the "Assignments" tab from External System form.
- Enter the "Assignment Sync Entity Name", for example, "sensei_projectonline_assignment" is the table that ships with the system for Project Online.
- Add metadata required to map tasks.
There are a few special types of metadata that you will need to add. Please remember when adding assignment related metadata to select "Assignment" as the Mapping Type. For example:
Each one of these column types should be mapped as they are required for Gantt chart functionality:
Column Type | Note |
---|---|
ID | This column is the unique ID of the assignment. |
Parent Task ID | This column is the unique ID of the task that this assignment belongs to. |
Resource ID | This column is the unique ID of the resource that has been assigned. |
Name | This column is the name of the resource that has been assigned. |
When completed, your configuration should look something like this:
Assignments will be loaded into the system the next time your data flow is run. If these assignments are already related to a task that is currently synchronized, then these assignments should automatically populate the Gantt chart of that project. Otherwise, they will appear when an external project is assigned to a project in the system.
Note
Resources for synchronised Assignments will be created as External Bookable Resources and their name will include the External System name in parenthesis. If there is a corresponding Named Bookable Resource in IQ, it is recommended to edit the synchronised External Bookable Resource and populate the 'Related Resource' column with the related Named Bookable Resource.
Creating a new Dataflow and External System sync
You may have a requirement to create a new Dataflow and External System configuration in addition to the ones shipped with Sensei IQ. For example, if you wish to connect to two separate Project Online instances you can configure the connection to one of those instances using the Dataflow from ProjectOnline to Sensei IQ dataflow but will need to create a second Dataflow to bring data from your second Project Online instance into a Dataverse Table.
Create a new Dataflow
- Navigate to https://make.powerapps.com and from the left nav menu, select Data > Dataflows
- Select New dataflow > Start from blank
- Select a Name for your Dataflow, then press Create
- Build your Dataflow according to your requirements. If using the same destination type as a Dataflow that is shipped with Sensei IQ, you can choose Blank query as the Data source type and then use Advanced Editor to copy the configuration from the Sensei IQ Dataflow to your new Dataflow. [If copying from a Sensei IQ Dataflow, after you have copied the Advanced editor configuration, ensure that you go ahead and set up any parameters for your query.
- Select Configure connection
- If there is not yet a connection with the correct credentials, select to create a new one - otherwise select an existing one.
- Once you have successfully connected to your destination environment, click Next
- Ensure that the Load settings for any parameters in your Query are set to Do not load
- Select your Query that is returning Project data.
- At this point, you can choose to Load to new table (which will create a new Dataverse Table for you) or Load to existing table (which will require you to manually create your own Dataverse Table with columns created for all of the columns that you wish to copy across from your external execution tool). If you choose to Load to new table, note that you will not get the opportunity to select the Publisher prefix that is allocated to your new Table and you will always get all of the columns from your Dataflow's Query created as Columns in your Table. For this reason, creating your own Table is recommended.
- Once you have created your own Table and have populated it with the Columns that you require, return to the Dataflow configuration and select your Table (you may need to hit Back and then Next again to refresh the list of Tables in the environment).
- Select your Table and configure the appropriate column mappings.
- Click Next
- If you wish to run your Dataflow on a schedule, create that schedule and click Create
Ensure that your Dataflow runs successfully. The Dataverse Table that is written to by the Dataflow should now contain data from your external execution tool.
Create External System configuration
- As a user with the Sensei IQ Admin User role, open the Sensei IQ app and navigate to the Settings area of the app.
- From the left nav menu, select External Systems
- Select + New to create a new External System record.
- Enter the following details:
Column | Value |
---|---|
Name | {Add a descriptive name for your External System} |
External System Type | {Select the external system type} |
Icon URL | Enter base64 encoded icon for your external system (copy this value from the External System records shipped with Sensei IQ if of the same type) |
- Select the Projects tab and enter the following details:
Column | Value |
---|---|
Project Sync Entity Name | {Enter the internal name of your Dataverse Table that you are writing to from your Dataflow} |
Project URL Pattern | {Enter the URL that will view the Schedule for a project in your external execution tool. Use the keyword {ID} to indicate the ID of the project that is being viewed} |
- Click Save
- Now that your External System record is saved, the Metadata Mapping section should now appear on the Projects tab.
- Select + New Metadata Mapping
- Enter the following details:
Column | Value |
---|---|
External System | {Should already be populated with your current External System record that you are configuring} |
Mapping Type | Project |
Sensei Column Name | ID |
External Column Name | {Enter the internal name of the column on your Dataverse Table (that is being populated from your Dataflow) that contains the unique Project ID values from your external execution tool} |
External Column Type | ID |
- Click Save
- Select + New Metadata Mapping
- Enter the following details:
Column | Value |
---|---|
External System | {Should already be populated with your current External System record that you are configuring} |
Mapping Type | Project |
Sensei Column Name | sensei_name |
External Column Name | {Enter the internal name of the column on your Dataverse Table (that is being populated from your Dataflow) that contains the Project Name values from your external execution tool} |
External Column Type | Name |
Click Save
Enter New Metadata Mapping records for each additional column that you wish to synchronise between your external project data and your Sensei IQ Projects.
Create Plugin Sdk Steps
In order to ensure that incoming data from your Dataflow will flow through to your Sensei IQ Projects at the time that the Dataflow runs, you will need to hook up the Create and Update events from your Dataverse Table that is synchronised from the Dataflow. 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_ProcessIncomingProjectData
- Right-click (Plugin) SenseiDataIngestionPlugin.Sensei_ProcessIncomingProjectData and select Register New Step
- Enter the following details, then click Register New Step:
Column | Value |
---|---|
Message | Create |
Primary Entity | {Enter the internal name of the Dataverse Table that is being populated by your Dataflow} |
Secondary Entity | None |
Filtering Attributes | {none} |
Event Handler | {leave as-is} |
Step Name | {enter a display name for your Plugin Step} |
Run in User's Context | Calling User |
Execution Order | 1 |
Description | {enter a description for your Plugin Step} |
Event Pipeline Stage of Execution | PostOperation |
Execution Mode | Asynchronous |
Deployment | Server |
Delete AsyncOperation if StatusCode = Successful | {Unchecked} |
- Again right-click (Plugin) SenseiDataIngestionPlugin.Sensei_ProcessIncomingProjectData and select Register New Step
- Enter the same details as above, but change the Message to Update then click Register New Step:
- If you are bundling your changes into a Sensei IQ Enhancements unmanaged Solution, ensure that you select to Add Existing and select the newly created Sdk Plugin Steps to add them to your Solution.
Icon URL Reference
If needed, use the values in the table below as inputs in the External System configuration on the 'Details' tab, Icon URL column, to represent the following Execution Tools:
Execution Tool | Value |
---|---|
Project for the web | data:image/png;base64,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 |
Project Online | data:image/png;base64,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 |
Jira Core | data:image/png;base64,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 |
Azure DevOps | data:image/png;base64,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 |
Note
If creating your own image/icon for a new external system, the optimal size is 32 x 32 pixels.
Monitoring Sensei Data Ingestion Engine
Whenever a Sync is triggered - either by a Dataflow retrieving data from an external system, or when a user selects to associate their Project with an External Project - there is some log information generated which can be viewed by Sensei IQ Admin Users in the Settings area of the Sensei IQ app.
To View the Sync Logs;
- Open the Sensei IQ app as a user who has the Sensei IQ Admin User security role.
- Select to view the Settings area of the app.
- From the left nav menu, under the Project Sync heading, select Sync Logs
- The Sync Logs view will display a list of Sync Log records. The view itself contains the Project that each Sync Log relates to, in addition to the Sync trigger type (Name), the start and finish date of the sync job and the Result.
- Selecting the Name column will display the full Sync Log record. If an error has occurred during the Sync operation, then the error message will be included in the Sync Log information.
Note
Sync Log information is also included for TaskRollup operations which occur whenever tasks are updated within Sensei IQ for a Project which does not have an External Project.
Associating your Project with an External Project
Once you have your Dataflows configured for your environment, you can start selecting External Projects to associate with your Sensei IQ Projects. Within the Sensei IQ app, navigate to the Project IQ area of the app and select Projects from the left nav menu
Select the Project that you wish to synchronise with data from your External System
Select the Link a project option from near the top right of the Form
Type the name (or partial name) of the Project from your external execution tool that you wish to link to your Sensei IQ Project. Select your Project from the list of returned options.
The Link a project text will now be replaced with a link icon and an icon that links directly to the Project in your external execution tool that you selected to link.
At the time that you first link your Sensei IQ Project to an External Project, an initial sync operation will run and the columns defined in the Metadata Mapping for your External System will be synchronised with the data from your selected External Project. After a few moments, select Refresh to verify that the expected columns have been populated and contain the data you were expecting. Note that columns mapped via the Metadata Mapping settings will now appear as locked (read-only) because those values are now being attributed from the corresponding Project in the external execution tool. A synchronisation activity will also occur whenever your Dataflow runs.
Unlinking a Project from an External Project
If you need to unlink your Sensei IQ Project from an External Project, navigate to your Project in IQ, and select the link icon
Select the X icon to unlink your Project
Verifying which External Project your Project is linked to
From the Project Form for your Sensei IQ Project, you can select the link icon and will be shown the External Project that is linked to your project.
Selecting the icon from your external execution tool will take you directly to your linked external project in that tool.
Users with the Sensei IQ Admin User security role can also navigate to the Settings area of the Sensei IQ app and select External Projects from the left nav menu. This View will display the relationships between Sensei IQ Projects and projects from External Systems.
Troubleshooting External Execution Tool Sync Issues
I cannot find my Project from an external execution tool in the Link a project picker
- Check the Dataflow that is connecting to your external execution tool. Check that it's last run was successful. If there were any warnings, try to resolve the issues identified in them, as they may have prevented some project records from being copied into the Table that is populated by the Dataflow.
- If the Dataflow looks to have run successfully, take a look at the Dataverse Table that is populated from your Dataflow. Navigate to it from https://make.powerapps.com from the left nav selecting Data > Tables. Then locate your Table and select the Data tab. Switch the View (top right corner) to All columns and then verify if the project is correctly displaying in there.
- If your project is appearing in the Dataverse Table that has been populated from your Dataflow but is not appearing in the project picker, next, log in to Sensei IQ as a Sensei IQ Admin User and navigate to the Settings area of the app. Select External Systems from the left nav menu. Verify that the table being populated from your Dataflow is referenced by one of the Ext\ernal System records (in the Project Sync Entity Name column). If it does not appear, create a new External System record ensuring that you reference your Dataverse Table in the Project Sync Entity Name column. Ensure also that you create the required Metadata Mappings for your External System - and in particular ensure that you have one Metadata Mapping record tagged with the ID value and one Metadata Mapping record tagged with the Name value in the External Column Type column.
- If an External System record does appear with the Project Sync Entity Name column correctly set, navigate to the Project tab of the External System record and take note of the Metadata Mapping columns associated with your External System. a. Ensure that there is one record (only) which is tagged with the ID value for the External Column Type column and that the External Column Name correctly identifies the column in your Table that is synchronised from the Dataflow that contains the external Project's ID. b. Ensure that there is one record (only) which is tagged with the Name value for the External Column Type column and that the External Column Name correctly identifies the column in your Table that is synchronised from the Dataflow that contains the external Project's Name.
Note
Task Dataflows can take time. Please be patient as your dataflow refreshes load new delta data into Sensei IQ. For organizations with large task datasets in your source execution tools, please expect that all task data may not load for several cycles.
Note
If modifying the task dataflow queries to filter for a specific condition please add the filter directly to the source query at the top of the applied steps. This will ensure that all data is filtered prior to checking for deltas.
How do I know when my Project was last synchronised from its associated external project
When viewing your Project from the Project Form, the Last Sync Date value shown in the bottom left corner of the screen will show you the last time that a synchronisation activity occurred for your project. The Date and Time value for this column are shown in UTC timezone.
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>.
I need to reset task sync data because of some issue
Sometimes you need to clear task sync data due to making a mistake when configuring it or because some other issue caused the records to become out of sync.
Matching External Resources using the 'Related Resource' Column
After successful synchronization of tasks and assignments into Sensei IQ, the "Bookable Resources" table will be populated with the external resources that are assigned to these external tasks. Often, these resources might have a corresponding "match" in Sensei IQ, and in order to have the reporting for the current work assignments appear associated to the correct Sensei IQ resource, the external resources need to be "matched" with the appropriate Sensei IQ resources.
To make this association, simply open the resource record for the External Resource to be matched. In the "Related Resource" column, populate the Sensei IQ resource that you would like to match with the external resource.
Save and close the resource. Once the reports are refreshed, assignments previously associated with the External Resource will now appear to be assigned to the Sensei IQ resource.
Note
Currently the impact of linking of External Resources to Sensei IQ Bookable Resources is limited to the view of this data in the Power BI Insights reports, and the auto population of timesheet tasks.