Installing and configuring Workflow Builder

This topic is for the administrator who installs Workflow Builder and grants users access. If the application is already running in your environment, skip to The Workflow Builder page.

Prerequisites

Before installing Workflow Builder, verify that the following requirements are met:

  • BigFix Platform: a basic Platform setup is required; a baseline BigFix environment must be in place.
  • BigFix UI: the BigFix UI must be installed and running. For details, see System Requirements and BigFix UI installation. The BigFix UI database requires Microsoft SQL Server 2025 (version 17.0). With an earlier version, the BigFix UI setup stops at the database step: the DSN connection test fails with Unsupported SQL Server version: SQL Server version <version> is not supported, minimum required version is SQL Server 2025 (17.0).
  • Administrator access: a BigFix UI administrator account, to assign the application to roles in Administration (see Managing Roles), and command-line access to the BigFix UI server, to activate the application.
  • Network connectivity: network connectivity between the BigFix UI and the host where the BigFix Workflow Service is deployed.
  • Database access: a SQL Server login with administrative access to the BFEnterprise database, to run the one-time permission setup script (mssql-init.sql) that provisions the wrkflw schema, roles, and the application database user.

Installation roadmap

The installation consists of six stages, performed in order. Each stage is a section of this topic.

Table 1. Installation roadmap
Stage What you do Where
1. Get the content Refresh the license, then enable and gather the Workflow Builder site (site version 01). BigFix Console (see Stage 1: Get the BigFix content)
2. Prepare the database login Run mssql-init.sql and provision the application login with initial DDL + DML rights. SQL Server Management Studio (see Stage 2: Prepare the database login)
3. Deploy the BigFix Workflow Service Deploy the BigFix Workflow Service to the selected target device with the install Fixlet (or manually; see Manual installation). The first start creates the wrkflw tables and seeds the sample workflows. BigFix Console (see Stage 3: Deploy the BigFix Workflow Service)
4. Activate the application Configure the mutual-TLS connection with BFUI.exe --configure-wfb. BigFix UI server command line (see Stage 4: Activate the application in the BigFix UI)
5. Harden the database login Revoke DDL, tighten the runtime grants to object level, and restart the service. SQL Server Management Studio (see Stage 5: Harden the database login)
6. Grant user access Assign the Workflow Builder application to roles and grant the platform permissions each role needs. BigFix UI, Administration > Identity Management (see Stage 6: Grant user access)

Stage 1: Get the BigFix content

  1. In the BigFix Console, refresh the license from the License Overview dashboard.
  2. Enable the Workflow Builder content site and gather it.
  3. Subscribe computers to the site: at a minimum, the computer on which you plan to deploy the BigFix Workflow Service. To prepare for future use, you can subscribe all computers.
  4. Grant site permissions to the operators who will install and configure Workflow Builder.

Site activation follows the standard BigFix procedure that applies to every BigFix site; for details, see Sites. After the site is gathered, its Fixlets and analyses appear under the Workflow Builder site.

Stage 2: Prepare the database login

The BigFix Workflow Service connects to SQL Server with a dedicated, least-privilege application login. The permission model is narrowed to the wrkflw schema: the runtime login (wrkflwDbUser) holds only the permissions the BigFix Workflow Service uses at runtime, scoped to SCHEMA::wrkflw or to objects inside it — no database-wide grants (no db_owner, db_datareader, db_datawriter, or db_ddladmin). Database operations are segregated into two roles in the schema: wrkflw_DDLRole (schema changes, needed only during installation and versioned upgrades) and wrkflw_DMLRole (runtime data access, held at all times). The BigFix Workflow Service's start and restart only verify the database; schema migrations run only during install or upgrade, after which you revoke DDL immediately.

These administration scripts are not run automatically; they simplify creating the least-privilege login and are intended for the BigFix SQL Server database administrator. The mssql-init.sql script is included in the installation package that the install Fixlet delivers.

  1. Open mssql-init.sql in SQL Server Management Studio (SSMS), set the context to BFEnterprise, and execute the script in full. It provisions the wrkflw schema, the wrkflw_DDLRole and wrkflw_DMLRole roles, and the stored procedures sp_CreateWrkflwRestrictedUser, sp_SetWrkflwRestrictedUserDDLAccess, sp_TightenWrkflwRuntimeGrants, sp_DropWrkflwRestrictedUser, and supporting helpers.
  2. Create the application login and user, and assign the initial DDL + DML roles. DDL is mandatory during the first start so that the migration can create the wrkflw.workflows and wrkflw.workflow_versions tables. Replace <YourStrongPassword> with your own password before executing:
    USE [BFEnterprise];
    GO
    -- Create application login/user and assign initial DDL + DML privileges
    EXEC dbo.sp_CreateWrkflwRestrictedUser
        @UserName = 'wrkflwDbUser',
        @Password = '<YourStrongPassword>',
        @AssignDDL = 1,
        @AssignDML = 1;
    GO
  3. Create the zero-privilege stub user in the master database:
    -- Provision a zero-privilege stub user in master to satisfy the service's initial driver check.
    -- This user must remain permissionless: no server roles, no CREATE ANY DATABASE, no VIEW ANY DATABASE.
    USE [master];
    GO
    IF NOT EXISTS (SELECT 1 FROM sys.database_principals WHERE name = 'wrkflwDbUser')
        CREATE USER [wrkflwDbUser] FOR LOGIN [wrkflwDbUser];
    GO
    DENY VIEW ANY DATABASE TO [wrkflwDbUser];
    DENY CREATE ANY DATABASE TO [wrkflwDbUser];
    GO

Stage 3: Deploy the BigFix Workflow Service

Deploy the BigFix Workflow Service to the selected target device by using the install Fixlet from the Workflow Builder site, named Install BigFix WorkFlow Builder Acceptor <version> (WIN). The database user from stage 2 must exist before you deploy. After the deployment and activation, complete the permission hardening in Stage 5: Harden the database login. For the manual command-line procedure, see Manual installation.

Note:
The installation registers the Windows service BigFixWorkFlow, which the Windows Services console lists under the display name BigFix WorkFlow. This guide calls it the BigFix Workflow Service and uses BigFixWorkFlow in commands.
Important:
The BigFix Workflow Service listens on a basic authentication port (default 8089) and an mTLS port (default 9087). Both ports are user-configurable, but only at installation: you cannot change them afterwards. Before you install, make sure that the ports do not conflict with other services on the target device; if a default port is in use, enter a free port in the TCP/IP Ports section of the install Fixlet.

Stage 4: Activate the application in the BigFix UI

Note:
Application activation and user access are BigFix UI platform features that work the same way for every BigFix UI application. For the general procedures, see Administration in the BigFix UI documentation.

You activate Workflow Builder from the command line of the BigFix UI server by running BFUI.exe --configure-wfb. The command also sets up the mutual TLS (mTLS) connection between the BigFix UI and the BigFix Workflow Service.

Configure the mTLS connection between the BigFix UI and the BigFix Workflow Service:

  1. On the BigFix Workflow Service host, get the basic authentication bootstrap credentials from workflow-data\configs\mtls-bootstrap.txt in the installation directory.
  2. On the BigFix UI host, open Windows PowerShell and navigate to <BigFix UI installation location>\cmd\bfui.
  3. Run BFUI.exe --configure-wfb.
  4. When prompted, enter the configuration values listed in the following table.
  5. After the configuration completes successfully, restart the BigFix UI service if it is already running. For details, see Starting BigFix UI in the BigFix UI documentation.
Table 2. mTLS configuration prompts
Prompt Value
WFB Server IP Address The IP address of the BigFix Workflow Service host.
WFB Server Basic Auth Port 8089 by default — the value of BASIC_AUTH_PORT from the installation (user-configurable at installation; enter the port you actually chose).
WFB Server mTLS Port 9087 by default — the value of MTLS_PORT from the installation (user-configurable at installation; enter the port you actually chose).
WFB Admin Username From workflow-data\configs\mtls-bootstrap.txt on the BigFix Workflow Service host.
WFB Admin Password From workflow-data\configs\mtls-bootstrap.txt on the BigFix Workflow Service host.
IP SANs for WFB certificate The IP address of the BigFix Workflow Service host.

Stage 5: Harden the database login

Perform this stage after the BigFix Workflow Service has been deployed (stage 3) and activated (stage 4), so that the first start has already created the tables.

After the BigFix Workflow Service has started once, confirm that the migration completed: the log shows DB verify connection ok, running migration, AutoMigrate completed: workflows, workflow_versions, and startup ready. Then lock the login down to its steady-state runtime rights:

  1. Validate that the tables exist:
    USE [BFEnterprise];
    SELECT TABLE_SCHEMA, TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'wrkflw'
    ORDER BY TABLE_NAME;
    -- Expected output: workflows, workflow_versions
  2. Revoke DDL. After this step the runtime login must never hold wrkflw_DDLRole again unless a versioned upgrade is in progress:
    USE [BFEnterprise];
    GO
    -- Revoke DDL access from runtime user
    EXEC dbo.sp_SetWrkflwRestrictedUserDDLAccess
        @UserName = 'wrkflwDbUser',
        @Enable = 0;
    GO
  3. Verify that wrkflwDbUser is bound exclusively to wrkflw_DMLRole:
    SELECT r.name AS role_name
    FROM sys.database_role_members drm
    JOIN sys.database_principals r ON r.principal_id = drm.role_principal_id
    JOIN sys.database_principals u ON u.principal_id = drm.member_principal_id
    WHERE u.name = 'wrkflwDbUser';
    -- Expected result: wrkflw_DMLRole (wrkflw_DDLRole must NOT be listed)
  4. Tighten the grants to object level. The procedure verifies that both tables exist, revokes SELECT/INSERT/UPDATE/DELETE on SCHEMA::wrkflw from wrkflw_DMLRole, and re-grants those verbs on OBJECT::wrkflw.workflows and OBJECT::wrkflw.workflow_versions only, so any table accidentally added to the schema later is not reachable by the application. VIEW DEFINITION on the schema is left intact for the startup verification:
    USE [BFEnterprise];
    GO
    EXEC dbo.sp_TightenWrkflwRuntimeGrants;
    GO
  5. Verify the resulting grants:
    SELECT pr.name AS principal_name,
           p.class_desc,
           p.permission_name,
           p.state_desc,
           OBJECT_SCHEMA_NAME(p.major_id) + '.' + OBJECT_NAME(p.major_id) AS object_name
    FROM sys.database_permissions p
    JOIN sys.database_principals pr ON pr.principal_id = p.grantee_principal_id
    WHERE pr.name = 'wrkflw_DMLRole'
    ORDER BY p.class_desc, object_name, p.permission_name;
    -- Expected: OBJECT_OR_COLUMN grants on wrkflw.workflows and wrkflw.workflow_versions,
    --           plus SCHEMA grant of VIEW DEFINITION on wrkflw. No schema-level SELECT/INSERT/UPDATE/DELETE.
  6. Restart the BigFix Workflow Service (sc stop BigFixWorkFlow, then sc start BigFixWorkFlow) and confirm in wrkflw_svc.log that the startup verification succeeds.

Stage 6: Grant user access

Workflow Builder is available to both Master Operators and Non-Master Operators — the BigFix operator types — provided that the Workflow Builder application is assigned to them. The platform permissions of each operator then determine which features are available.

Feature availability by platform permission

Table 3. Feature availability by platform permission
Workflow Builder feature Required platform permission
View workflows No extra permission needed.
View deployments No extra permission needed. Optionally, Show Other Operator's Actions to view deployments issued by other operators.
Manage workflows (create, edit, delete) No extra permission needed. Assigning the application enforces the enablement of the Custom Content permission.
Deploy workflows Can Create Actions is required.
Manage deployed workflows Optionally, Show Other Operator's Actions to see workflows deployed by other operators, and Stop Other Operator's Actions to stop workflows deployed by other operators.
CAUTION:
Because assigning the Workflow Builder application enforces the Custom Content permission, assign the application only to operators who are permitted to create custom content in your environment.

Assigning the application

You grant access through BigFix UI roles; Workflow Builder has no user management of its own. BigFix UI users map to the BigFix operators that are managed in the BigFix Console. The following steps summarize the role procedure for Workflow Builder; for the complete procedure, see Managing Roles.

Important:
There is no per-workflow permission: every user who is assigned the Workflow Builder application can manage all workflows, including the sample workflows. Users whose role does not include the application do not see it in the navigation pane.
  1. Log in to the BigFix UI as an administrator.
  2. In the navigation pane, expand Administration and select Identity Management. The Identity management page opens with the global settings for all applications running within the BigFix UI.
  3. Select User & Role Management.
  4. Select the Roles tab, and then create a role or edit an existing one. On the Applications step, turn on the Workflow Builder toggle. The application is listed only when the Workflow Builder site is enabled with a site version greater than zero. Assigning the application automatically enforces the Custom Content permission for the operator.
  5. Assign the role to the users who require access to Workflow Builder.
  6. Make sure that the BigFix operator associated with each user has the Can Create Actions, Show Other Operator's Actions, or Stop Other Operator's Actions permission required for the intended features (see Feature availability by platform permission).
  7. Save the changes.

Verifying the access

  1. Ask the user to log in to the BigFix UI.
  2. Verify that Workflow Builder appears in the navigation pane under Resolve.
  3. Verify the granted feature level: the user can open the Workflows and Deployments tabs; a user with Can Create Actions can deploy a workflow; a user with Show Other Operator's Actions can see other operators' deployments.