Follow-Along Tutorial: Water Point Repair Request Workflow
This tutorial creates a "Water Point Repair Request" workflow that covers most features. Follow each step in order.
Scenario
A water utility needs a workflow to:
- Report broken water points
- Assign technicians for inspection
- Track repair progress
- Mark repairs as complete
Step 1: Create the Workflow Type
- Click "New Workflow Type" or navigate to create a new workflow type
- Set Name:
"Water Point Repair Request"(base language: English) - Set Description:
"Tracks repair requests for water points from initial report through completion" - Save
Step 2: Configure Basic Settings
- Open the Design tab
- Locales: Ensure English is set as the base locale
- Permissions: Add yourself as Administer role
Step 3: Define Variables
- Click Variables → Add Variable
- Variable 1:
- Name:
"Water Point" - Description:
"The water point that needs repair" - Type: Reference
- Table: Select your water points table (e.g.,
"entities.water_point")
- Name:
- Variable 2:
- Name:
"Issue Description" - Description:
"Description of the problem" - Type: Text
- Name:
- Variable 3:
- Name:
"Repair Status" - Description:
"Current status of the repair" - Type: Single Choice
- Options:
"Reported""Inspected""In Progress""Completed"
- Name:
- Save
Step 4: Add Summary Fields
- Click Summary Fields → Add Summary Field
- Summary Field 1:
- Label:
"Water Point" - Field to Show: Select the
Water Pointvariable
- Label:
- Summary Field 2:
- Label:
"Status" - Field to Show: Select the
Repair Statusvariable
- Label:
- Save
Step 5: Add an Alert
- Click Alerts → Add Alert
- Alert:
- Label:
"Repair Overdue" - Severity: Warning
- Condition: Create an expression that checks if the workflow has been in "In Progress" status for more than 7 days
- (This is a conditional alert - shown when overdue)
- Label:
- Save
Step 6: Create Custom Role (Optional)
- Click Custom Roles → Add Custom Role
- Custom Role:
- Name:
"Field Technician" - Description:
"Technicians who perform field inspections and repairs"
- Name:
- Save
Step 7: Create Entry Points
Entry Point 1: Manual Entry Point
- Click Entry Points → Add Entry Point
- Set Entry Point Type: Manual
- Set Name:
"Report New Issue" - Set Description:
"Report a broken water point" - Set Start Step: Select "Start" (or create a step first - we'll create steps next)
- Set Who can start: Leave empty (deployment admins/managers can always start)
- Set Enabled: ✓
- Save
Entry Point 2: Site Entry Point
- Click Entry Points → Add Entry Point
- Set Entry Point Type: Site
- Set Name:
"Report from Water Point Page" - Set Description:
"Report an issue directly from a water point page" - Set Site Type: Select your water point entity type
- Set Start Step: Select "Start"
- Set Who can start: Leave empty
- Set Enabled: ✓
- Save
Step 8: Create Steps
Step 1: Reported
- Click Steps → Add Step
- Set Step Name:
"Reported" - Set Status: Active
- Save
Step 2: Inspection
- Click Steps → Add Step
- Set Step Name:
"Inspection" - Set Status: Active
- Save
Step 3: Repair
- Click Steps → Add Step
- Set Step Name:
"Repair" - Set Status: Active
- Save
Step 4: Completed
- Click Steps → Add Step
- Set Step Name:
"Completed" - Set Status: Completed
- Save
Step 9: Update Entry Points to Use Correct Start Step
- Edit the Manual Entry Point
- Set Start Step:
"Reported" - Save
- Edit the Site Entry Point
- Set Start Step:
"Reported" - Save
Step 10: Add Actions to Steps
Action 1: Report Issue (in "Reported" step)
- Edit the Reported step → Add Action
- Set Name:
"Report Issue" - Set Action Type: Mini Form
- Form Design: Create a simple form with:
- A text field for "Issue Description"
- A reference field for "Water Point" (if not set by site entry point)
- Set Recurrence: Once per workflow
- Set Who can perform: Leave empty (anyone can report)
- Add Automation:
- Type: Set Variable
- Variable:
"Repair Status" - Value:
"Reported"
- Add Transition:
- Condition: Leave empty (always transition)
- Next Step:
"Inspection"
- Save
Action 2: Assign Inspector (in "Reported" step)
- Edit the Reported step → Add Action
- Set Name:
"Assign Inspector" - Set Action Type: Manual Assignment
- Set Who can be assigned: Check "Deployment Admins", "Deployment Managers"
- Set Selection Type: Check "User", "Group"
- Set Allow multiple selections: No
- Set Recurrence: Recurring
- Set Who can perform: "Deployment Admins", "Deployment Managers"
- Save
Action 3: Complete Inspection (in "Inspection" step)
- Edit the Inspection step → Add Action
- Set Name:
"Complete Inspection" - Set Action Type: Survey Form
- Set Select Form: Choose your inspection form
- Set Recurrence: Once per workflow
- Set Who can perform: "Workflow Assignees", "Custom: Field Technician"
- Add Automation:
- Type: Set Variable
- Variable:
"Repair Status" - Value:
"Inspected"
- Add Transition:
- Condition: Leave empty
- Next Step:
"Repair"
- Save
Action 4: Start Repair (in "Repair" step)
- Edit the Repair step → Add Action
- Set Name:
"Start Repair" - Set Action Type: Mini Form
- Form Design: Create a form with:
- A text field for "Repair Notes"
- A date field for "Repair Start Date"
- Set Recurrence: Once per workflow
- Set Who can perform: "Workflow Assignees", "Custom: Field Technician"
- Add Automation:
- Type: Set Variable
- Variable:
"Repair Status" - Value:
"In Progress"
- Save (no transition - we'll use a timed action)
Action 5: Complete Repair (in "Repair" step)
- Edit the Repair step → Add Action
- Set Name:
"Complete Repair" - Set Action Type: Survey Form
- Set Select Form: Choose your repair completion form
- Set Recurrence: Once per workflow
- Set Who can perform: "Workflow Assignees", "Custom: Field Technician"
- Add Automation:
- Type: Set Variable
- Variable:
"Repair Status" - Value:
"Completed"
- Add Transition:
- Condition: Leave empty
- Next Step:
"Completed"
- Save
Action 6: Reminder (Timed Action in "Repair" step)
- Edit the Repair step → Add Action
- Set Name:
"Send Reminder" - Set Action Type: Timed Action
- Set Delay:
7Days - Set Recurrence: Recurring
- Add Automation:
- Type: Assign
- Roles: "Deployment Managers"
- (This sends a reminder to managers if repair takes too long)
- Save
Step 11: Add Step Transition (Optional)
- Edit the Repair step
- Click Transitions → Add Transition
- Set Actions: Select "Start Repair" and "Complete Repair" (both must be completed)
- Set Condition: Leave empty (or add logic if needed)
- Set Next Step:
"Completed" - Save
Step 12: Create Deployment
- Go to the Deploy tab
- Click Add Deployment
- Set Name:
"Main Operations" - Set Admins: Add yourself and other administrators
- Set Managers: Add operations managers
- Set Observers: Add supervisors who need view access
- Set Initiators: Add users/groups who can start workflows
- Set Custom roles → Field Technician: Add your field technicians
- Save
Step 13: Test Your Workflow
- Go to the Workflows tab
- Click Start New Workflow
- Select your workflow type
- Select the Manual Entry Point: "Report New Issue"
- Select the deployment: "Main Operations"
- Complete the "Report Issue" action
- Verify it transitions to "Inspection"
- Assign an inspector
- Complete the inspection
- Verify it transitions to "Repair"
- Start the repair
- Complete the repair
- Verify it transitions to "Completed"
Step 14: Verify Features
- Variables: Check that Water Point, Issue Description, and Repair Status are stored
- Summary Fields: Check that Water Point and Status appear in the header
- Alerts: If a repair is overdue, the warning should appear
- Entry Points: Test both manual and site-based entry points
- Actions: Test all action types (Mini Form, Survey Form, Manual Assignment, Timed Action)
- Automations: Verify variables are set and assignments work
- Transitions: Verify workflows move between steps correctly
- Permissions: Test with different user roles
- Recurrence: Verify actions can/cannot be repeated as configured
Summary
You've created a workflow that includes:
- Variables (Reference, Text, Single Choice)
- Summary Fields
- Alerts
- Custom Roles
- Multiple Entry Points (Manual and Site)
- Multiple Steps with different statuses
- Various Action Types (Mini Form, Survey Form, Manual Assignment, Timed Action)
- Automations (Set Variable, Assign)
- Transitions (Action-level and Step-level)
- Deployments with custom roles
This workflow demonstrates most features while remaining simple and practical for a water utility use case.