I have a custom content type called "Project" that inherits from the Document Set content type, that is created from the Content Type Hub (CTH) in SharePoint Online. This "Project" CT has two additional columns being: Project Name and Project Location.

I have a custom provisioning process for specific types of sites using the PnP Provisioning Engine and Azure run-books that creates the site and adds the "Project" content type. After the Site is created, the CTH timer job runs and eventually updates the "Project" content type I created to include the "project name" and "project location" fields.

Currently the only when I can check when the timer job is complete is to check the UI. Basically I open the newly created site every so often and try and create a new "Project" content type and see that columns from the CTH have come across.

Does anyone know if there is a way via PowerShell/C#/programmatically to poll a newly created Site and check when my content type has been updated by the CTH timer sync job?

2 Answers 2


I’m afraid that is not possible, since there is no assembly or namespace that provides information about the updated time for content type subscriber timer job.

You can see this article for relative information: Content Type Hub : Inconvenient updates.

  • Could there be a creative way to detect that the timer job has complete without directly accessing it, e.g. polling for the appearance of the "project name" and "project location" columns? (since they should only appear if the timer job has completed and updated the CT?)
    – Ushka
    Jul 3, 2020 at 9:23
  • @Ushka The thing is, the content type doesn’t necessarily get updated every time the timer job runs. The content type subscriber timer job runs every hour, but it can take up to 4 hours for the update to take effect. One safe behavior would be opening a ticket with Microsoft and have a discussion with them. Jul 6, 2020 at 3:28

You can build a flow activity with delay until where you can poll the site content types and compare it with a lookup list of the custom content types you require. If the content type is present then proceed with the provisioning else add a delay activity of 10 mins or whatever duration you think a polling could work for you. I have built this solution at a client and works like a charm.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.