NSPEC's powerful customization capabilities allow you to tailor the platform to match your organization's unique processes and requirements. This comprehensive guide covers custom fields setup, template creation, automation rules, and workflow optimization strategies to help you maximize efficiency and maintain consistency across your projects.
Customization Overview
Why Customize NSPEC?
Customization enables you to:
- Match existing business processes
- Capture project-specific data
- Automate repetitive tasks
- Enforce compliance requirements
- Improve user adoption
- Streamline workflows
Customization Hierarchy
Organization Level
├── Global Settings
│ ├── Company branding
│ ├── Default workflows
│ └── Master templates
├── Project Level
│ ├── Project-specific fields
│ ├── Custom workflows
│ └── Local templates
└── User Level
├── Personal preferences
├── Dashboard layouts
└── Notification settings
Planning Your Customization
Before customizing, consider:
- Current process documentation
- Pain points to address
- Compliance requirements
- User feedback
- Integration needs
- Scalability requirements
Custom Fields Setup
Understanding Field Types
1. Text Fields
Single Line Text
Field Name: Work Order Number
Type: Single Line Text
Max Length: 50 characters
Format Validation: Regex: ^WO-\d{6}$
Example: WO-123456
Multi-Line Text
Field Name: Work Description
Type: Multi-Line Text
Max Length: 1000 characters
Rich Text: Enabled
Required: Yes
2. Numeric Fields
Number Field
Field Name: Temperature Reading
Type: Number
Decimal Places: 1
Min Value: -50
Max Value: 150
Unit: °F
Validation: Required for concrete pours
Calculated Field
Field Name: Total Labor Hours
Type: Calculated
Formula: SUM(worker_hours)
Display Format: 0.00
Update Trigger: On field change
3. Selection Fields
Dropdown List
Field Name: Weather Conditions
Type: Dropdown
Options:
- Clear
- Partly Cloudy
- Overcast
- Light Rain
- Heavy Rain
- Snow
Default: Clear
Allow Multiple: No
Radio Buttons
Field Name: Inspection Result
Type: Radio Button
Options:
- Pass
- Fail
- Conditional Pass
- Not Applicable
Required: Yes
Layout: Horizontal
Checkboxes
Field Name: Safety Equipment Used
Type: Checkbox
Options:
□ Hard Hat
□ Safety Glasses
□ Steel-Toed Boots
□ High-Vis Vest
□ Fall Protection
Allow Multiple: Yes
Min Selections: 1
4. Date/Time Fields
Date Picker
Field Name: Inspection Date
Type: Date
Format: MM/DD/YYYY
Default: Today
Validation: Cannot be future date
Calendar Week Start: Sunday
Time Field
Field Name: Start Time
Type: Time
Format: 12-hour (AM/PM)
Increment: 15 minutes
Default: Current time
5. Special Fields
File Upload
Field Name: Supporting Documents
Type: File Upload
Allowed Types: PDF, DOC, DOCX, XLS, XLSX
Max File Size: 10MB
Max Files: 5
Required: No
Signature Capture
Field Name: Supervisor Approval
Type: Signature
Required: Yes
Include Timestamp: Yes
Include GPS Location: Yes
Legal Disclaimer: "By signing, I certify..."
Photo Capture
Field Name: Progress Photos
Type: Photo
Min Photos: 3
Max Photos: 10
Compression: 80%
Metadata: Keep EXIF data
Annotation: Enabled
Creating Custom Fields
Step 1: Access Field Builder
- Navigate to Settings → Customization → Custom Fields
- Select scope (Organization/Project)
- Choose form type to customize
- Click "Add Custom Field"
Step 2: Configure Field Properties
Basic Properties:
- Field Name: Equipment ID
- Internal Name: equipment_id (auto-generated)
- Field Type: Single Line Text
- Description: Enter equipment identification number
Display Properties:
- Section: Equipment Information
- Column: 1 of 2
- Width: 50%
- Order: 3
Validation Rules:
- Required: Yes
- Unique: Within project
- Format: Alphanumeric only
- Min Length: 5
- Max Length: 20
Step 3: Set Conditional Logic
IF field[work_type] = "Concrete Pour" THEN
SHOW fields[slump_test, air_content, cylinder_count]
REQUIRE fields[concrete_supplier, mix_design]
ELSE
HIDE fields[slump_test, air_content, cylinder_count]
END IF
Step 4: Configure Permissions
Field Permissions:
- View: All users
- Edit: Superintendent, PM
- Override: PM only
- Delete: Admin only
Advanced Field Features
1. Lookup Fields
Connect to external data sources:
Field Name: Cost Code
Type: Lookup
Source: Project Cost Code List
Display: Code + Description
Search: Enabled
Cache: 24 hours
2. Cascading Dropdowns
Parent Field: System
Options: Electrical, Plumbing, HVAC
Child Field: Component
If Electrical: Panel, Conduit, Wire, Devices
If Plumbing: Pipes, Fixtures, Valves
If HVAC: Units, Ductwork, Controls
3. Auto-Population
Field: Weather Data
Type: Auto-populate
Source: Weather API
Trigger: On form load
Location: Project GPS coordinates
Fields: Temperature, Conditions, Wind Speed
Creating Templates
Template Types
1. Report Templates
Standardize data collection:
- Daily report templates
- Inspection checklists
- Safety observation forms
- Quality control reports
2. Project Templates
Accelerate project setup:
- Standard project structure
- Default team assignments
- Workflow configurations
- Document folders
3. Workflow Templates
Reusable process definitions:
- Approval chains
- Notification rules
- Escalation procedures
- Task sequences
Building Effective Templates
Step 1: Analyze Requirements
Template Planning Worksheet:
Template Name: Concrete Pour Inspection
Purpose: Standardize concrete quality checks
Users: QC Inspectors, Superintendents
Frequency: Per pour event
Compliance: ACI 301 requirements
Step 2: Design Template Structure
Section 1: General Information
├── Pour Location
├── Pour Date/Time
├── Weather Conditions
└── Contractor Information
Section 2: Pre-Pour Checklist
├── Formwork Inspection
├── Reinforcement Verification
├── Embedment Check
└── Grade Verification
Section 3: During Pour
├── Slump Tests
├── Air Content Tests
├── Temperature Readings
└── Cylinder Samples
Section 4: Post-Pour
├── Finishing Methods
├── Curing Procedures
├── Protection Measures
└── Next Inspection Date
Step 3: Add Logic and Calculations
Concrete Volume Calculation:
volume_cy = (length_ft * width_ft * depth_in) / 324
Slump Test Validation:
IF slump_result <3 or="OR" slump_result="slump_result"> 5 THEN
ALERT "Slump outside specification"
REQUIRE field[corrective_action]
END IF
Step 4: Include Helper Elements
- Instruction text
- Reference images
- Specification links
- Calculation tools
- Previous data lookup
Template Management
Version Control
Template: Daily Report v2.3
Created: 01/15/2024
Modified: 03/10/2024
Changes: Added equipment hours section
Approved By: John Smith
Status: Active
Template Library Organization
/Company Templates
/Safety
├── Job Hazard Analysis
├── Near Miss Report
└── Toolbox Talk Record
/Quality
├── Concrete Inspection
├── Steel Inspection
└── MEP Inspection
/Daily Operations
├── Superintendent Daily
├── Foreman Daily
└── Subcontractor Daily
Template Deployment
- Create in development environment
- Test with pilot group
- Gather feedback
- Refine template
- Deploy organization-wide
- Monitor adoption
Automation Rules
Understanding Automation
Automation in NSPEC allows you to:
- Reduce manual data entry
- Ensure consistent processes
- Improve response times
- Enforce business rules
- Enhance data quality
Types of Automation
1. Trigger-Based Automation
Rule Name: High Priority Safety Alert
Trigger: Safety incident report submitted
Condition: Severity = "High" OR Type = "Injury"
Actions:
1. Send SMS to Safety Manager
2. Send email to Project Manager
3. Create follow-up task
4. Lock report from editing
5. Escalate if no response in 30 min
2. Schedule-Based Automation
Rule Name: Weekly Report Reminder
Schedule: Every Friday at 3:00 PM
Condition: Daily report not submitted today
Actions:
1. Send push notification to field users
2. Send email reminder
3. Create task for supervisor
4. Log in compliance report
3. Data-Based Automation
Rule Name: Quality Score Alert
Trigger: Inspection report completed
Condition: Quality score <80% flag="Flag" report="report" for="for" review="review" notify="Notify" qc="QC" manager="Manager" require="Require" corrective="corrective" action="action" plan="plan" schedule="Schedule" follow-up="follow-up" inspection="inspection" update="Update" contractor="contractor" scorecard="scorecard">
Building Automation Rules
Step 1: Define Rule Logic
Rule Builder Interface:
Name: Auto-Assign Inspector
Description: Automatically assign inspector based on trade
WHEN:
Event = "Inspection Requested"
AND Type = "Quality Inspection"
IF:
Trade = "Electrical" → Assign to "Electrical Inspector Group"
Trade = "Plumbing" → Assign to "Plumbing Inspector Group"
Trade = "Structural" → Assign to "Structural Inspector Group"
ELSE → Assign to "General Inspector Group"
THEN:
1. Create inspection task
2. Set due date = Request date + 2 days
3. Send assignment notification
4. Add to inspector calendar
Step 2: Configure Actions
Action Configuration:
Type: Send Email
Recipients:
- To: {{assigned_inspector}}
- CC: {{project_manager}}
Subject: New Inspection Assignment - {{project_name}}
Body Template:
"You have been assigned a new {{inspection_type}} inspection.
Project: {{project_name}}
Location: {{inspection_location}}
Requested By: {{requester_name}}
Due Date: {{due_date}}
Click here to view details: {{inspection_link}}"
Step 3: Set Conditions and Exceptions
Advanced Conditions:
- Only during business hours (8 AM - 5 PM)
- Exclude weekends and holidays
- Skip if inspector on PTO
- Require manager approval if cost $10,000
Complex Automation Examples
1. Multi-Step Workflow Automation
Workflow: RFI Process Automation
Step 1: RFI Submitted
→ Auto-assign to design team based on discipline
→ Set response due date (5 business days)
→ Send notification to stakeholders
Step 2: Response Provided
→ Route to original submitter
→ Request confirmation of resolution
→ Set follow-up reminder (2 days)
Step 3: Resolution Confirmed
→ Close RFI
→ Update project log
→ Archive in document system
→ Update metrics dashboard
2. Intelligent Data Processing
Rule: Smart Weather Impact Analysis
Trigger: Daily report submitted
Data Collection:
- Pull weather data from API
- Check calendar for weather-sensitive activities
- Review productivity metrics
Analysis:
IF rain 0.5 inches AND activity = "Concrete" THEN
- Flag potential delays
- Calculate impact hours
- Suggest schedule adjustment
- Notify planning team
3. Compliance Automation
Rule: Permit Expiration Management
Schedule: Daily at 6:00 AM
Check: All active permits
Conditions:
- 30 days before expiration → Send renewal reminder
- 14 days before expiration → Escalate to PM
- 7 days before expiration → Create urgent task
- Day of expiration → Stop work order
Actions:
- Update permit dashboard
- Send notifications
- Create renewal tasks
- Update compliance reports
Workflow Optimization
Analyzing Current Workflows
1. Process Mapping
Document existing workflows:
Current Daily Report Process:
1. Field work completed (Variable time)
2. Foreman gathers information (30 min)
3. Creates report in system (45 min)
4. Uploads photos (15 min)
5. Submits for review (5 min)
6. Superintendent reviews (Next day, 20 min)
7. Approves or requests changes (10 min)
8. Final submission (5 min)
Total Time: 2.5 hours active time
Lead Time: 24-48 hours
2. Identifying Bottlenecks
Common bottlenecks:
- Manual data entry
- Approval delays
- Information gathering
- System navigation
- Duplicate efforts
3. Optimization Opportunities
Optimization Analysis:
- Automate weather data → Save 5 min
- Pre-populate crew info → Save 10 min
- Mobile photo upload → Save 10 min
- Parallel approvals → Reduce 12 hours
- Template use → Save 20 min
Potential Savings: 45 min active time, 12 hours lead time
Implementing Optimizations
1. Quick Wins
Immediate improvements:
Quick Win List:
□ Enable auto-save every 2 minutes
□ Create favorites menu for common tasks
□ Set up quick-access templates
□ Configure default values
□ Enable batch operations
□ Implement keyboard shortcuts
2. Process Redesign
Fundamental workflow changes:
Optimized Daily Report Process:
1. Auto-generate report at 3 PM
2. Pre-populate from timesheets/weather
3. Field verification only (10 min)
4. Photo upload during day
5. Auto-submit for review
6. Parallel approval process
7. Auto-distribution upon approval
New Total Time: 10 min active time
New Lead Time: 2-4 hours
3. Technology Integration
Leverage technology for optimization:
- GPS for automatic location
- Barcode scanning for materials
- Voice-to-text for notes
- AI for photo categorization
- IoT sensors for conditions
Measuring Optimization Success
Key Performance Indicators
Workflow Metrics Dashboard:
- Report submission time: -67%
- Data accuracy: +15%
- User satisfaction: +22%
- Approval cycle time: -75%
- Rework requests: -40%
Continuous Improvement
Monthly Review Process:
1. Analyze workflow metrics
2. Gather user feedback
3. Identify new bottlenecks
4. Test improvements
5. Deploy updates
6. Monitor results
Advanced Customization
1. Custom Dashboards
Building Role-Specific Dashboards
Superintendent Dashboard:
┌─────────────────────────────────────┐
│ Today's Activities │ Weather: 72°F ☀│
├───────────────────┴─────────────────┤
│ ┌─────────────┐ ┌─────────────────┐ │
│ │Active Tasks │ │ Safety Metrics │ │
│ │ 12 │ │ 0 Incidents │ │
│ └─────────────┘ └─────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ Crew Locations Map │ │
│ └─────────────────────────────────┘ │
│ ┌─────────────────────────────────┐ │
│ │ Pending Approvals (3) │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────┘
Widget Configuration
Widget: Project Health Score
Type: Gauge Chart
Data Source: Calculated metric
Formula:
(schedule_performance * 0.3) +
(safety_score * 0.3) +
(quality_score * 0.2) +
(budget_performance * 0.2)
Update: Real-time
Thresholds:
Green: 85
Yellow: 70-85
Red: <70>
2. Custom Reports
Report Builder Configuration
Custom Report: Weekly Productivity Analysis
Sections:
1. Executive Summary
- Total man-hours
- Units completed
- Productivity rate
- Variance from plan
2. Detailed Analysis
- By trade breakdown
- By area/location
- Weather impact
- Issue correlation
3. Trending
- 4-week rolling average
- Projection to complete
- Recommendations
Data Sources:
- Daily reports
- Time entries
- Weather API
- Schedule baseline
Advanced Calculations
Productivity Index Calculation:
base_rate = planned_units / planned_hours
actual_rate = actual_units / actual_hours
productivity_index = (actual_rate / base_rate) * 100
Weather Adjustment Factor:
IF weather_condition = "Rain" THEN
adjustment = 0.7
ELIF wind_speed 25 THEN
adjustment = 0.8
ELSE
adjustment = 1.0
END IF
adjusted_productivity = productivity_index * adjustment
3. Custom Integrations
API-Based Integrations
Integration: Equipment Tracking System
Type: REST API
Direction: Bi-directional
Frequency: Real-time
Endpoints:
GET /equipment/status
POST /equipment/hours
PUT /equipment/location
Field Mapping:
NSPEC.equipment_id → API.asset_tag
NSPEC.hours_used → API.hour_meter
NSPEC.location → API.current_site
Webhook Automations
Webhook: Safety Incident Alerting
Trigger: Safety incident created
URL: https://company.com/safety/webhook
Method: POST
Headers:
Authorization: Bearer {{api_token}}
Content-Type: application/json
Payload:
{
"incident_id": "{{incident.id}}",
"severity": "{{incident.severity}}",
"location": "{{incident.location}}",
"description": "{{incident.description}}",
"reported_by": "{{incident.reporter}}",
"timestamp": "{{incident.created_at}}"
}
Integration and API Customization
REST API Usage
Authentication
API Authentication:
Base URL: https://api.nspec.com/v2
Auth Type: OAuth 2.0
Token Endpoint: /oauth/token
Request:
POST /oauth/token
{
"grant_type": "client_credentials",
"client_id": "your_client_id",
"client_secret": "your_client_secret"
}
Response:
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbG...",
"token_type": "Bearer",
"expires_in": 3600
}
Common API Operations
// Create Daily Report
POST /projects/{project_id}/reports
Authorization: Bearer {token}
Content-Type: application/json
{
"type": "daily",
"date": "2024-03-15",
"weather": {
"conditions": "Clear",
"temperature": 72,
"wind_speed": 5
},
"activities": [
{
"location": "Building A",
"description": "Foundation pour",
"crew_count": 8,
"hours": 64
}
]
}
// Get Reports with Filters
GET /projects/{project_id}/reports?
type=daily&
start_date=2024-03-01&
end_date=2024-03-31&
status=approved
Building Custom Integrations
Integration Architecture
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ NSPEC │────►│ Middleware │────►│External │
│ Platform │◄────│ Layer │◄────│System │
└─────────────┘ └─────────────┘ └─────────────┘
▲ │ ▼
└────────────────────┴────────────────────┘
Error Handling
Retry Logic
Data Transformation
Sample Integration Code
# NSPEC Integration Client
import requests
import json
from datetime import datetime
class NSPECClient:
def __init__(self, client_id, client_secret):
self.base_url = "https://api.nspec.com/v2"
self.token = self._authenticate(client_id, client_secret)
def _authenticate(self, client_id, client_secret):
response = requests.post(
f"{self.base_url}/oauth/token",
data={
"grant_type": "client_credentials",
"client_id": client_id,
"client_secret": client_secret
}
)
return response.json()["access_token"]
def create_report(self, project_id, report_data):
headers = {
"Authorization": f"Bearer {self.token}",
"Content-Type": "application/json"
}
response = requests.post(
f"{self.base_url}/projects/{project_id}/reports",
headers=headers,
json=report_data
)
return response.json()
def sync_timesheet_data(self, project_id, date):
# Get timesheet data from external system
external_data = self.get_external_timesheet(date)
# Transform data to NSPEC format
nspec_data = {
"entries": [
{
"employee_id": entry["worker_id"],
"hours": entry["hours"],
"cost_code": entry["activity_code"],
"date": date
}
for entry in external_data
]
}
# Submit to NSPEC
return self.create_timesheet(project_id, nspec_data)
Best Practices
1. Customization Strategy
Start Simple
- Begin with essential customizations
- Test thoroughly before expanding
- Get user feedback early
- Document all changes
Maintain Standards
Naming Conventions:
Fields: snake_case (equipment_id)
Templates: Title Case (Daily Report Template)
Automations: Descriptive (Auto Assign Inspector Based On Trade)
APIs: RESTful standards (/projects/{id}/reports)
Version Control
Change Log Example:
Version 2.1.0 - March 15, 2024
- Added custom field: equipment_hours
- Modified template: Daily Report
- New automation: Weather data sync
- Deprecated: manual_weather_entry field
Approved by: John Smith
Rollback plan: Restore v2.0.0 configuration
2. Performance Optimization
Field Optimization
- Limit calculated fields
- Use indexed lookups
- Cache frequently accessed data
- Optimize conditional logic
Automation Efficiency
Efficient Rule Design:
❌ Poor: Check every field change
✓ Good: Check specific field changes
✓ Better: Batch similar operations
✓ Best: Use webhooks for external triggers
3. User Experience
Progressive Disclosure
Show advanced features only when needed:
Basic User View:
- Essential fields only
- Simple workflows
- Guided processes
Advanced User View:
- All custom fields
- Complex workflows
- Power user features
Mobile Optimization
Mobile-Friendly Design:
- Single column layouts
- Large touch targets (44px minimum)
- Optimized images
- Offline capability
- Progressive web app features
4. Maintenance and Governance
Regular Reviews
Quarterly Customization Audit:
□ Review all custom fields usage
□ Analyze automation performance
□ Update outdated templates
□ Remove unused elements
□ Document changes
□ Train on new features
Change Management
Change Request Process:
1. Submit request with business case
2. Technical review and impact analysis
3. User acceptance testing
4. Pilot deployment
5. Training and documentation
6. Full deployment
7. Post-implementation review
Troubleshooting
Common Issues and Solutions
Issue 1: Custom Field Not Displaying
Diagnosis:
- Check field permissions
- Verify conditional logic
- Review template inclusion
- Confirm data exists
Solution:
Troubleshooting Steps:
1. Navigate to field settings
2. Verify "Active" status
3. Check role permissions
4. Test conditional logic
5. Clear browser cache
6. Test in different browser
Issue 2: Automation Not Triggering
Common Causes:
- Incorrect trigger configuration
- Condition logic errors
- Permission restrictions
- System delays
Debugging Process:
1. Check automation logs
2. Verify trigger events
3. Test conditions manually
4. Review error messages
5. Enable debug mode
6. Contact support if needed
Issue 3: Template Errors
Symptoms:
- Missing sections
- Calculation errors
- Format issues
- Save failures
Resolution:
Template Debugging:
1. Validate all formulas
2. Check field references
3. Test with sample data
4. Review version history
5. Restore previous version
6. Rebuild if necessary
Issue 4: Integration Failures
Error Types:
- Authentication failures
- Data format mismatches
- Timeout errors
- Rate limit exceeded
Solutions:
Integration Troubleshooting:
1. Verify API credentials
2. Check endpoint URLs
3. Validate data formats
4. Review rate limits
5. Implement retry logic
6. Add error handling
Getting Help
Self-Service Resources
- Customization guide
- API documentation
- Video tutorials
- Community forums
- Template library
Support Channels
- In-app help center
- Email: support@nspec.com
- Developer portal
- Professional services
Conclusion
NSPEC's workflow customization capabilities provide the flexibility to adapt the platform to your unique business needs while maintaining standardization and efficiency. By thoughtfully implementing custom fields, templates, and automation rules, you can create a system that not only meets your current requirements but also scales with your organization's growth.
Remember that successful customization is an iterative process. Start with core requirements, gather user feedback, and continuously refine your workflows. Regular reviews and optimizations ensure your NSPEC implementation remains aligned with your business objectives and delivers maximum value.
The key to successful workflow customization is finding the right balance between flexibility and standardization. While NSPEC provides powerful customization tools, the most effective implementations maintain simplicity for end users while providing sophisticated functionality behind the scenes.
For additional support with advanced customizations or to explore enterprise-level workflow optimization, contact your NSPEC success manager or visit our developer portal for comprehensive API documentation and integration guides.
Comments
0 comments
Please sign in to leave a comment.