Supergood | WorkWave API
Programmatically access WorkWave field service data, scheduling, routing, and billing with a stable REST API. Supergood builds and operates production-grade, unofficial WorkWave integrations so your team can automate field and office workflows without heavy custom engineering.
Plain English: WorkWave is field service software used by pest control, lawn care, cleaning, HVAC, and other service businesses to manage customers, service locations, schedules, routes, mobile technicians, and billing. An unofficial API lets you pull customers and service locations, work orders and schedules, technician and route assignments, GPS/ETAs, service reports and materials, invoices and payments—and push new jobs, reschedules, route plans, invoices, payments, and documentation back into WorkWave.
For a tech company integrating with WorkWave, this means you can ingest real-time schedules to power dispatcher consoles, surface ETAs to customers, automate job creation from your CRM, sync invoices and payments to accounting, or enrich your app with service outcomes, photos, signatures, and chemical usage for compliance. You can also push optimized routes, reassign jobs mid-day, create estimates-to-work-orders flows, and keep ERP, BI, and messaging systems in lockstep.
What is WorkWave?
WorkWave (https://www.workwave.com/) provides cloud software for field service and last‑mile operations. Brands such as PestPac, WorkWave Service, Route Manager, Fleet/GPS, and WorkWave Payments centralize customer management, scheduling and dispatch, route optimization, mobile proof of service, and billing.
Core product areas include:
- Field Service Management (e.g., customers, service locations, work orders, schedules, dispatch)
- Route Planning & Last‑Mile (e.g., territory planning, daily route optimization, ETAs)
- Mobile Workforce & GPS (e.g., technician tracking, time clock, proof of service, photos/signatures)
- Billing & Payments (e.g., invoices, subscriptions/recurring service, WorkWave Payments)
- Vertical Compliance (e.g., PestPac chemical usage, service documentation)
Common data entities:
- Accounts/Customers, Contacts, and Branches
- Service Locations and Property Details
- Work Orders/Jobs, Status, Service Codes, Durations
- Schedules/Appointments, Time Windows, Routes
- Technicians/Cews/Vehicles and Skills/Capabilities
- Service Reports, Photos, Signatures, Notes
- Materials/Chemicals, Inventory, and Compliance Metrics
- Invoices, Line Items, Taxes, Discounts, Payments/Refunds
- Estimates/Quotes and Recurring Service Plans/Contracts
The WorkWave Integration Challenge
Field service companies run day-to-day on WorkWave, but turning portal-based workflows into API-driven automation can be hard:
- Multi-product surface area: PestPac, Service, Route Manager, and Payments have different UX, data models, and entitlements
- Scheduling complexity: Calendar constraints, technician skills, time windows, recurring plans, and SLA rules must be respected programmatically
- Route optimization: Interactive planning, mid‑day changes, and branch/territory permissions complicate headless orchestration
- Rich artifacts: Photos, signatures, service reports, and chemical usage require robust upload/download flows
- Enterprise security: SSO/MFA and granular role-based controls (branch/tech/role) challenge unattended access
How Supergood Creates WorkWave APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your WorkWave tenant.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh and change detection
- Normalizes responses so you can integrate once and rely on consistent objects across modules
- Aligns with customer entitlements and role-based permissions to ensure compliant access
Use Cases
Customer and Location Sync
- Mirror customers, contacts, and service locations into your CRM or data warehouse
- Keep address, access instructions, and property metadata fresh for routing and analytics
- Resolve duplicates and normalize fields for multi-branch operations
Scheduling and Dispatch Automation
- Create work orders from sales/CRM events with preferred time windows and skills
- Auto-assign or reassign technicians based on availability and territory
- Send appointment confirmations and reminders via your messaging stack
Route Optimization and ETA Sharing
- Push daily jobs to Supergood to generate optimized routes per branch/crew
- Stream ETAs to customer portals and notify when technicians are en route
- Re-optimize mid-day when cancellations or emergencies occur
Field Reporting and Compliance
- Ingest service outcomes, photos, signatures, and chemical usage for QA and regulatory reporting
- Trigger follow-ups, upsells, or warranty visits based on results
- Feed BI dashboards for SLA adherence and productivity
Billing and Payments Sync
- Generate invoices from completed jobs and post to accounting (e.g., QuickBooks, NetSuite)
- Capture payments via WorkWave Payments and reconcile daily deposits
- Manage recurring plans and auto-billing for service contracts
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" }
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_5b3de1",
"name": "Dispatcher",
"entitlements": ["customers", "work_orders", "routing", "billing"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Customers & Locations
GET /customers: List customers with nested service locations and basic contacts.
Query parameters
- search: string (name, phone, email)
- updatedFrom, updatedTo: ISO 8601 timestamps
- active: true | false
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"customerId": "cus_91a2f0",
"name": "Eastside Property Management",
"accountNumber": "ACCT-100293",
"status": "active",
"primaryContact": {
"name": "Dana Cooper",
"email": "[email protected]",
"phone": "+1-404-555-0123"
},
"serviceLocations": [
{
"serviceLocationId": "loc_7f991b",
"label": "Eastside Apartments - Bldg A",
"address": {
"line1": "500 Eastside Blvd",
"city": "Atlanta",
"region": "GA",
"postalCode": "30312",
"country": "US"
},
"defaultTechnicianId": "tech_21b0c9",
"tags": ["multi-unit", "quarterly"]
}
],
"createdAt": "2026-01-05T14:22:10Z",
"updatedAt": "2026-01-20T08:41:00Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Work Orders
POST /work-orders: Create a new work order/job with schedule preferences and optional assignment.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/work-orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"serviceLocationId": "loc_7f991b",
"serviceCode": "GEN_PEST",
"description": "Quarterly pest control service",
"requestedDate": "2026-02-03",
"timeWindow": {"start": "08:00", "end": "12:00", "timezone": "America/New_York"},
"priority": "normal",
"durationMinutes": 60,
"technicianId": "tech_21b0c9",
"price": 125.00,
"notes": "Gate code 4321. Tenant prefers early arrival.",
"attachments": [
{"fileName": "infestation.jpg", "uploadToken": "upl_98dc3a"}
],
"referenceId": "crm-opp-12345"
}'
Example response
{
"workOrderId": "wo_6ac2e7",
"number": "WO-2026-00128",
"status": "scheduled",
"scheduledStart": "2026-02-03T08:00:00-05:00",
"scheduledEnd": "2026-02-03T09:00:00-05:00",
"technicianId": "tech_21b0c9",
"createdAt": "2026-01-21T13:12:33Z"
}
Route Optimization
POST /routes/optimize: Optimize daily routes for a branch with job and technician constraints. Returns per-technician stop sequences and ETAs.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/routes/optimize \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"date": "2026-02-03",
"branchId": "br_east01",
"objective": "minimize_drive_time",
"jobs": [
{
"workOrderId": "wo_6ac2e7",
"serviceDurationMinutes": 60,
"location": {"lat": 33.7486, "lng": -84.3915},
"timeWindows": [{"start": "08:00", "end": "12:00"}],
"skills": ["general_pest"],
"priority": "normal"
}
],
"technicians": [
{
"technicianId": "tech_21b0c9",
"startLocation": {"lat": 33.7511, "lng": -84.3875},
"endLocation": {"lat": 33.7511, "lng": -84.3875},
"shift": {"start": "07:00", "end": "16:00"},
"skills": ["general_pest", "termite"],
"vehicle": {"capacity": {"chemicals_lb": 200}}
}
]
}'
Example response
{
"routes": [
{
"technicianId": "tech_21b0c9",
"stops": [
{
"sequence": 1,
"workOrderId": "wo_6ac2e7",
"eta": "2026-02-03T08:15:00-05:00",
"serviceStart": "2026-02-03T08:15:00-05:00",
"serviceEnd": "2026-02-03T09:15:00-05:00",
"driveMinutes": 12,
"distanceMiles": 6.8
}
],
"driveTimeMinutes": 45,
"serviceTimeMinutes": 60,
"routeScore": 0.92
}
],
"createdAt": "2026-01-21T13:45:44Z"
}
Invoices
POST /work-orders/{workOrderId}/invoice: Generate an invoice from a work order with line items, taxes, and optional immediate payment collection via WorkWave Payments.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/work-orders/wo_6ac2e7/invoice \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"lineItems": [
{"itemCode": "SERV_GEN", "description": "Quarterly pest control", "quantity": 1, "unitPrice": 125.00, "taxable": true}
],
"discounts": [{"type": "percent", "value": 10}],
"taxes": [{"ratePercent": 8.25, "jurisdiction": "GA"}],
"payment": {
"collect": true,
"method": "card",
"token": "pm_7a9c21",
"amount": 122.81
},
"notes": "Thank you for your business."
}'
Example response
{
"invoiceId": "inv_51af80",
"status": "paid",
"workOrderId": "wo_6ac2e7",
"subtotal": 125.00,
"discountTotal": 12.50,
"taxTotal": 10.31,
"total": 122.81,
"paymentId": "pay_3bb921",
"createdAt": "2026-01-21T14:20:44Z"
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across modules
- Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks
- Data freshness: Near real-time retrieval of customers, schedules, work orders, routes, and billing objects
- Security: Encrypted transport, scoped tokens, and audit logging; respects WorkWave role-based permissions
- Webhooks: Optional asynchronous delivery for long-running or event-based workflows (e.g., job completions, invoice payments)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume schedule sync, route optimization, and invoice processing
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your modules, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened WorkWave adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as WorkWave evolves.
Frequently Asked Questions
Q: Which WorkWave products can this integration cover?
Supergood supports workflows across commonly used modules such as Field Service (customers, locations, work orders, schedules), Route Manager (routes, ETAs, re-optimization), and Billing (invoices, payments), plus vertical features like PestPac chemical usage—subject to your licensing and entitlements. We scope coverage during integration assessment.
Q: How are MFA and SSO handled for automation?
We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.
Q: Can you sync invoices and payments to our accounting system?
Yes. We can normalize invoices and payment records to match your ERP schema (e.g., QuickBooks, NetSuite) and deliver updates via webhooks or polling while complying with rate and permission constraints.
Q: Do you support attachments, photos, signatures, and chemical usage details?
Yes. We support downloading service artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs. Chemical usage data (product, quantity, units, application method) can be captured and synced for compliance.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your WorkWave workflows?
Supergood can have your WorkWave integration live in days with no ongoing engineering maintenance.