Keyfactor Command Custom Workflow Steps

The manifest.json files for workflowClosed A workflow is a series of steps necessary to complete a process. In the context of Keyfactor Command, it refers to the workflow builder, which allows you automate event-driven tasks when a certificate is requested or revoked. define the steps for workflow. Edit these files if you need to register a new custom workflow step.

To add a custom workflow step to the manifest.json file:

  1. Navigate to the Extensions\WorkflowSteps folders on your server under each of the KeyfactorAPI, Services, WebAgentServices, and WebConsole folders. These are located by default at:

    C:\Program Files\Keyfactor\Keyfactor Platform\KeyfactorAPI\Extensions\WorkflowSteps
    C:\Program Files\Keyfactor\Keyfactor Platform\Services\Extensions\WorkflowSteps
    C:\Program Files\Keyfactor\Keyfactor Platform\WebAgentServices\Extensions\WorkflowSteps
    C:\Program Files\Keyfactor\Keyfactor Platform\WebConsole\Extensions\WorkflowSteps
  2. Browse to open the manifest.json file in a text editor (e.g. Notepad).
  3. At the bottom of the file within the Keyfactor.Workflows.Extensions.IWorkflowStep section, add a new section for your custom workflow step. The section should contain:

    • The unique name of the custom step you are registering (e.g. MyCustomStep). This value should not contain spaces.

    • The path to the DLL containing the custom step code. This can be a relative path (e.g. ../../Keyfactor.Command.Workflows.MyCustomSteps.dll would be a reference to the DLL in the \Services folder).

    • The fully qualified namespace of the class that implements the interface (e.g. Keyfactor.Command.Workflows.MyCustomStep).

    • The LoadInUpstreamContext Boolean indicates whether the supporting assemblies should be loaded from the application (true) or if they should be loaded from the folder containing the extension (false).

    Copy
    {
        "extensions": {
            "Keyfactor.Workflows.Extensions.IWorkflowStep": {
                "Email": {
                    "assemblypath": "../../Keyfactor.Command.Workflows.Implementations.dll",
                    "TypeFullName": "Keyfactor.Command.Workflows.Implementations.Steps.Email",
                    "LoadInUpstreamContext": "True"
                },

                [Section removed for ease of reading]

                "NOOPStep": {
                    "assemblypath": "../../Keyfactor.Command.Workflows.Engine.dll",
                    "TypeFullName": "Keyfactor.Command.Workflows.Engine.Steps.NOOPStep",
                    "LoadInUpstreamContext": "True"
                },
                "MyCustomStep": {
                    "assemblypath": "../../Keyfactor.Command.Workflows.MyCustomSteps.dll",
                    "TypeFullName": "Keyfactor.Command.Workflows.MyCustomStep",
                    "LoadInUpstreamContext": "True"
                }      
            }
        }
    }
  4. Save the file.
  5. Place your DLL in the specified location.
Note:  Repeat these steps for each of the four folders that contain workflow step extension manifests: KeyfactorAPI, Service, WebAgentServices, and WebConsole.