Skip to content

Set up CtrlTeams

By the end of this section a team discovered in Microsoft 365 becomes an M-Files object, is approved, starts synchronising, and a project created in the vault gets its folders and documents in SharePoint.

Each application has its own setup path, and this does not repeat them. What it does is put them in order and say what has to be true before moving on, because the failure mode of a CtrlTeams deployment is finishing all three and then finding that two of them disagree about a property.

Time: a day for a first deployment. That is the three individual setups end to end, plus the vault design decisions below, which are worth taking before any of them.

Who you need: someone with administrative access to the vault, and someone who can register an application in Microsoft Entra ID and grant admin consent. One registration serves both CtrlSync and CtrlTMS, so this is one conversation rather than two.

  • A vault you can install applications into, and a licence file for each of the three applications.
  • Permission to create an application registration in Microsoft Entra ID and to grant admin consent for it.
  • A decision about vault structure. Read what has to be decided first before creating any object types — connection objects in particular are painful to move later.
  1. Register one application in Microsoft Entra ID.

    One registration serves both CtrlSync and CtrlTMS. Grant it the permissions both need and admin-consent them together, so there is one secret to rotate rather than two. See Share one Entra registration.

    Check: every permission on both products’ lists shows as granted in Entra.

  2. Install and configure CtrlSync.

    Follow Set up CtrlSync in full, including its vault structure.

    Check: one connection object, created by hand, synchronises a real SharePoint library or Teams channel in both directions. Until that works, nothing the other two applications do can work either.

  3. Install and configure CtrlTMS.

    Follow Set up CtrlTMS. Point CtrlTMS at the same object type and class CtrlSync uses for its connections, and configure it to create them inactive. Point its member configuration at the same person object and property CtrlSync’s employee configuration uses.

    Check: a team that exists in Microsoft 365 appears in the vault as a connection object, with its members, and does not start synchronising by itself.

  4. Add the workflow that activates a connection.

    The connection object type needs a workflow with at least a found state and an active state, and a state action on the transition that sets the connection’s active property to true.

    This is the join between CtrlTMS and CtrlSync, and it is vault configuration rather than a setting in either application.

    Check: moving a discovered connection to the active state starts CtrlSync synchronising it on the next run.

  5. Install and configure PDS.

    Follow Set up PDS. Point its SharePoint URL Property at the property CtrlSync reads on a connection, and its Sync Is Active Property at the same active property the workflow sets.

    Check: a project created from a template generates its artefacts, activates, and its folders and documents appear in SharePoint.

Check these across the three configurations before handing the vault over. Each is a setting in two places that has to name the same vault property or object.

CtrlSync CtrlTMS PDS
Connection object type and class Connection configuration Object creation settings
Connection active property Graph configuration Set by the workflow Sync Is Active Property
SharePoint URL property Graph configuration SharePoint URL Property
Person or employee object Employee configuration Member configuration
Entra client ID and secret Graph configuration Graph configuration

See Troubleshooting, which starts by working out which of the three applications has stopped. Most CtrlTeams problems are one application failing on its own, and finding out which one is most of the fix.