Supergood | SAP Field Service Management API
Programmatically access SAP Field Service Management work orders, scheduling, inventory, and mobile results with a stable REST API. Supergood builds and operates production-grade, unofficial SAP FSM integrations so your team can automate dispatch, service delivery, and back-office workflows without heavy custom engineering.
Plain English: SAP Field Service Management is software for running field service operations—creating and scheduling work orders, dispatching technicians, tracking parts and van stock, capturing time and expenses, completing checklists, and meeting SLAs. An unofficial API lets you pull service orders, technician assignments, inventory levels, contracts and SLAs, and completed work (time, materials, photos, signatures)—and push new work, dispatch decisions, and updates back into SAP FSM.
For a tech company integrating with SAP FSM, this means you can sync real-time work order data to power customer dashboards, automate scheduling from your product, reconcile time and materials with ERP, trigger workflows when SLAs are at risk, and enrich your platform with field photos, checklists, and signatures. You can also create service orders from IoT alerts, allocate parts, update technician routes, and keep CRM, ERP, and analytics aligned with field execution.
What is SAP Field Service Management?
SAP Field Service Management (https://www.sap.com/products/field-service-management.html) is a cloud platform for planning, executing, and monitoring field service. It connects contact center, dispatch, and mobile technicians with intelligent scheduling, mobile apps, and back-office integrations. Teams use SAP FSM to generate service orders, optimize routes, assign work by skills and territory, manage parts and van stock, capture time and expenses, complete digital checklists, and meet contractual SLAs and warranties.
Core product areas include:
- Service Order Management (e.g., tickets/work orders, activities, confirmations)
- Scheduling & Dispatch (e.g., skills, territories, travel/route optimization, assignments)
- Mobile Execution (e.g., checklists, photos, notes, customer signatures, offline)
- Parts & Inventory (e.g., spare parts, van stock, reservations/consumption, warehouses)
- Assets & Contracts (e.g., installed base/equipment, warranties, service contracts, SLAs)
- Time & Expenses (e.g., labor entries, expense receipts, rate categories)
Common data entities:
- Accounts/Customers, Sites/Locations, Contacts
- Service Orders (metadata, priority, status, problem/resolution)
- Assignments/Activities (technician, schedule window, status)
- Technicians/Resources (skills, territories, availability)
- Equipment/Installed Base (serials, models, maintenance history)
- Service Contracts & Entitlements (SLA clocks, warranty coverage)
- Checklists/Forms and their results
- Parts, Stock Locations (warehouse/van), Inventory Movements
- Time Entries and Expenses, Attachments/Photos/Signatures
The SAP Field Service Management Integration Challenge
Field service teams depend on SAP FSM daily, but turning portal-first workflows into API-driven automation can be complex:
- Scheduling constraints: Skills, certifications, travel times, and SLA windows drive optimizer decisions that must be respected programmatically
- Offline-first mobile: Technicians capture data offline; your integration must handle delayed syncs and conflict resolution
- Entitlements and approvals: Contracts, warranties, and service confirmations follow strict lifecycle and permission models
- Distributed data: Work orders, assets, parts, and checklists live in separate modules and views with nuanced relationships
- Enterprise security: SSO/MFA, role-based access, and customer-specific entitlements complicate headless automation
How Supergood Creates SAP FSM APIs
Supergood reverse-engineers authenticated browser and mobile flows to deliver a resilient API endpoint layer for your SAP FSM 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, roles, SLAs, and approvals to ensure compliant access
Use Cases
Work Order Data Sync
- Mirror service orders, customers, and equipment into your systems
- Keep priorities, statuses, and SLA clocks current for analytics and alerting
- Normalize addresses, contact info, and identifiers across CRM/ERP
Scheduling & Dispatch Automation
- Create and schedule work orders from IoT alerts or customer portals
- Assign technicians by skills, territory, and availability; update routes in real time
- Trigger escalations when SLA thresholds approach
Parts, Time & Expenses
- Reserve parts to work orders and reconcile van stock
- Capture labor and expenses from field apps into ERP for billing or payroll
- Validate consumption against contracts and warranties
Mobile Checklists, Photos, and Signatures
- Ingest completed checklists and photo evidence for QA/compliance
- Store customer signatures with timestamps and technician metadata
- Generate service reports and distribute to stakeholders automatically
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_42a1f0",
"name": "Dispatcher",
"entitlements": ["service_orders", "scheduling", "inventory"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Service Orders
GET /service-orders: List service orders with filters and summary details.
Query parameters
- status: open | scheduled | in_progress | completed | canceled
- priority: low | normal | high | urgent
- accountId, siteId, technicianId: strings
- dueFrom, dueTo: ISO 8601 timestamps
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"serviceOrderId": "so_91c2e7",
"externalNumber": "WO-2026-1042",
"status": "scheduled",
"priority": "high",
"accountId": "acct_0012",
"siteId": "site_7843",
"equipmentId": "eq_55021",
"slaDueAt": "2026-01-24T22:00:00Z",
"scheduledWindow": {"start": "2026-01-24T18:00:00Z", "end": "2026-01-24T20:00:00Z"},
"assignedTechnicianIds": ["tech_1003"],
"problemDescription": "Chiller not cooling; error E47",
"updatedAt": "2026-01-24T14:05:11Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
POST /service-orders: Create a new service order with customer, asset, and SLA context.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/service-orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"accountId": "acct_0012",
"siteId": "site_7843",
"contact": {"name": "Dana Lee", "phone": "+1-555-0149", "email": "[email protected]"},
"equipmentId": "eq_55021",
"priority": "high",
"requestedDate": "2026-01-24",
"problemDescription": "Chiller down. Alarm E47 after power cycle.",
"contractId": "ctr_9021",
"checklistTemplateIds": ["chk_aa01"],
"attachments": [
{"fileName": "alarm-photo.jpg", "uploadToken": "upl_7ac200"}
],
"referenceId": "iot-alert-88921"
}'
Example response
{
"serviceOrderId": "so_91c2e7",
"number": "WO-2026-1042",
"status": "open",
"createdAt": "2026-01-24T14:01:03Z",
"referenceId": "iot-alert-88921"
}
Dispatch & Scheduling
POST /service-orders/{serviceOrderId}/dispatch: Assign technicians and schedule a work window.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/service-orders/so_91c2e7/dispatch \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"assignments": [
{
"technicianId": "tech_1003",
"startAt": "2026-01-24T18:00:00Z",
"endAt": "2026-01-24T20:00:00Z",
"travelFromLocationId": "loc_van_1003"
}
],
"notes": "Priority call; customer has production impact"
}'
Example response
{
"serviceOrderId": "so_91c2e7",
"status": "scheduled",
"assignmentIds": ["asgn_5f3b9a"],
"updatedAt": "2026-01-24T14:07:55Z"
}
Complete Work: Time, Parts, Checklist, Signature
POST /service-orders/{serviceOrderId}/complete: Submit work completion with time entries, parts consumed, checklist results, and customer signature.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/service-orders/so_91c2e7/complete \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"timeEntries": [
{"technicianId": "tech_1003", "startAt": "2026-01-24T18:10:00Z", "endAt": "2026-01-24T19:40:00Z", "workType": "repair"}
],
"partsUsed": [
{"itemId": "part_chill_valve_2in", "quantity": 1, "sourceLocationId": "loc_van_1003"}
],
"checklistResults": [
{
"checklistId": "chk_aa01",
"items": [
{"itemId": "chk_power_cycle", "status": "passed"},
{"itemId": "chk_temp_reading", "status": "passed", "value": "6.1C"}
]
}
],
"resolutionSummary": "Replaced expansion valve, cleared E47. System cooling nominal.",
"customerSignature": {"name": "Dana Lee", "signedAt": "2026-01-24T19:45:30Z", "uploadToken": "upl_sig_992ab1"},
"attachments": [
{"fileName": "after-repair.jpg", "uploadToken": "upl_9ed320"}
]
}'
Example response
{
"confirmationId": "conf_77d201",
"serviceOrderId": "so_91c2e7",
"status": "completed",
"totals": {"laborHours": 1.5, "partsCount": 1},
"documents": [
{"type": "service_report", "url": "https://files.supergood.ai/reports/so_91c2e7.pdf"}
],
"completedAt": "2026-01-24T19:46:10Z"
}
Inventory
GET /inventory/items: List parts and on-hand quantities by warehouse or van.
Query parameters
- locationId: string (warehouse, van, or site store)
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"itemId": "part_chill_valve_2in",
"sku": "VAL-CH-2IN",
"name": "Chiller Expansion Valve 2\"",
"uom": "ea",
"quantityOnHand": 3,
"locationId": "loc_van_1003",
"bin": "B-03",
"reorderPoint": 2,
"updatedAt": "2026-01-24T12:12:55Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
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 service orders, assignments, inventory, and confirmations
- Security: Encrypted transport, scoped tokens, and audit logging; respects SAP FSM role-based permissions and contract entitlements
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., schedule changes, service confirmations)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume work order sync and technician updates
- 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 SAP FSM adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as SAP FSM evolves.
Frequently Asked Questions
Q: Which SAP FSM modules can this integration cover?
Supergood supports workflows across commonly used areas such as Service Orders, Scheduling & Dispatch, Mobile Checklists, Parts/Inventory, Assets/Installed Base, and Time & Expenses, 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 enterprise SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.
Q: Can you sync labor, parts, and van stock to our ERP?
Yes. We normalize time entries, parts consumption, and inventory movements to match your ERP schema (e.g., items/SKUs, cost centers, rate categories) and deliver updates via webhooks or polling while complying with permission and usage constraints.
Q: Are checklists, photos, and customer signatures supported?
Yes. We support downloading artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs. Checklist results are preserved with item-level status and values for compliance.
Related Integrations
Salesforce Field Service API - Programmatically access Salesforce Field Service with Supergood
Ready to automate your SAP FSM workflows?
Supergood can have your SAP Field Service Management integration live in days with no ongoing engineering maintenance.