Using the pairing cmdlet Register-SPWorkflowService

Learn how to use the cmdlet Register-SPWorkflowService to successfully pair SharePoint with Workflow Manager. Installing and configuring Microsoft SharePoint to support workflow development requires "pairing" your installations of SharePoint and Workflow Manager. In most scenarios, this pairing is easily done by using the cmdlet Register-SPWorkflowService, which is included with your SharePoint installation.

Note

SharePoint 2010 workflows have been retired since August 1, 2020 for new tenants and removed from existing tenants on November 1, 2020. If you’re using SharePoint 2010 workflows, we recommend migrating to Power Automate or other supported solutions. For more info, see SharePoint 2010 workflow retirement.

Importantly, this cmdlet is not useful for every pairing scenario. Register-SPWorkflowService is useful only in the following pairing scenarios:

  • One-computer server farm where SharePoint and Workflow Manager are co-located on the server box.

  • Three-computer server farm where SharePoint and Workflow Manager are co-located on all three computers. (Add a fourth computer is search needs to be on a separate computer and Workflow Manager HA is required. If the latter is required, it must be installed on all three machines.

  • Three-computer SharePoint farm paired with a non-co-located Workflow Manager server farm.

Also note that Register-SPWorkflowService uses the credentials of the current user.

Cmdlet design

Detail Description
Verb
Register
Noun
SPWorkflowService
Description
Pairs a sps15short farm with a Workflow Manager farm. You must run this cmdlet once per farm. Before running the cmdlet, you must install root CA certificate in machine certificate store and SharePoint certificate store. To do this, use the cmdlet New-SPTrustedRootAuthority. (See instructions below.)
Output type
None.
Syntax
Register-SPWorkflowService -SPSite <URI or GUID representing an SPSite object> -WorkflowHostUri <workflow service endpoint URL> -ScopeName <string> [-PartitionMode] [-AllowOAuthHttp] [-Force]

Cmdlet parameters

Parameter Type Description
SPSite (Required)
SPSitePipeBind
The URL of a long-lasting site collection on the SharePoint Server farm that serves as the pairing endpoint. Information for pairing is deduced from this URL.
WorkflowHostUri (Required)
String
The URL of the Workflow Manager endpoint for the pairing. Provides the workflow host URI along with port number.
ScopeName
String
The name to be used by the workflow service to identify the paired SharePoint Server farm. The default value is "SharePoint". You only need to specify this parameter if trying to pair multiple SharePoint farms to a Workflow Manager farm.
PartitionMode
SwitchParameter
Use this parameter only for multi-tenant SharePoint farm. The partition mode is specified per SharePoint service. Note that you can create multi-tenancy in a SharePoint farm after this cmdlet runs; therefore, the cmdlet cannot deduce this parameter value implicitly from the existing state of the SharePoint farm.
AllowOAuthHttp
SwitchParameter
Enables OAuth and metadata exchange over HTTP. This is useful in testing, but not in production mode. Use this only when SharePoint is configured to support HTTP. It is not necessary that the Workflow Manager be configured to use HTTP.
Force
SwitchParameter
Enforces the creating of scope using ScopeName parameter, or updates an existing scope corresponding to the same ScopeName. If not specified and scope with the same name exists, the cmdlet will throw an error.

Example


PS> Register-SPWorkflowService -SPSite "https://myserver/mysitecollection" -WorkflowHostUri "http://workflow.example.com:12291" -ScopeName "SharePoint2" -PartitionMode -AllowOAuthHttp  -Force

See also