1. Overview
Connect Field Nation’s Work Order data to 1099Policy to ensure that every Provider (technician) has valid insurance coverage before work begins. This integration automates policy binding, certificate validation, and compliance updates between both systems.
By connecting Field Nation and 1099Policy, you can:
- Bind on-demand coverage as soon as a Provider is assigned
- Automatically verify or upload Certificates of Insurance (COIs)
- Sync compliance statuses through 1099Policy webhooks (
policy.*,certificate.*) - Map pay rates or funded amounts to
job.wage(in cents) andwage_type - Persist the Field Nation Work Order ID in
custom_metadata.work_order_idfor reconciliation
2. Integration Flow
Coverage should activate as soon as a Provider is assigned so compliance is confirmed before on-site work begins.
- Primary trigger:
workorder.status.assigned— subscribe via Field Nation’s Webhooks API - Alternative trigger:
workorder.created— prepare coverage when the Work Order is posted - Payload: The webhook delivers the full Work Order object, including schedule, provider, pay, and location details
- Auth & endpoints: Use OAuth 2.0 (
?access_token=) with- Sandbox:
https://api-sandbox.fndev.net/api/rest/v2/ - Production:
https://api.fieldnation.com/api/rest/v2/
- Sandbox:
3. Core Concepts
Each Field Nation object maps directly to a 1099Policy coverage concept. This ensures consistency between compliance tracking and insurance binding.
| Field Nation Object | 1099Policy Object | Description |
|---|---|---|
| Work Order | Job + Assignment | Job defines scope and pay; Assignment applies coverage to scheduled dates |
| Provider | Contractor | Represents the insured individual |
| COI Upload | Certificate | BYO-COI intake and validation |
| Work Order ID | custom_metadata.work_order_id | Reconciliation key |
4. End-to-End Implementation
This section walks through the complete lifecycle, showing how to retrieve data from Field Nation and create coverage records in 1099Policy.
4.1 Create Contractor
Each Provider must exist as a Contractor in 1099Policy before creating a quote. Each Contractor must include a unique contact.email within your tenant. If Field Nation does not expose the Provider’s email, generate a proxy such as <provider.id>@relay.yourdomain.com.
| Field Nation Field | 1099Policy Contractor | Notes |
|---|---|---|
provider.id | custom_metadata.fieldnation_provider_id | Reconciliation key |
provider.first_name / last_name | contact.first_name, contact.last_name | Required |
provider.email | contact.email | Required; use proxy if missing |
provider.location.country | address.country | Optional |
provider.location.state / city | address.region / address.city | Optional |
Source: Field Nation (REST)
GET https://api.fieldnation.com/api/rest/v2/users/{providerId}?access_token=...
Destination: 1099Policy (POST /contractors)
POST https://api.1099policy.com/api/v1/contractors
Authorization: Bearer t9k_test_***
Content-Type: application/json
Idempotency-Key: fn-provider-<PROVIDER_ID>
{
"contact": {
"first_name": "Jordan",
"last_name": "Lee",
"email": "987654@relay.yourdomain.com"
},
"address": {
"country": "US",
"region": "TX",
"city": "Dallas"
},
"custom_metadata": {
"fieldnation_provider_id": "987654"
}
}
4.2 Create Job
Jobs describe the work being performed, its compensation, and category. Create a Job when a Work Order is assigned to a Provider.
| 1099Policy Job Field | Field Nation Source | Notes |
|---|---|---|
name | Work Order title | Role or task name |
description | Work Order description | Scope of work |
entity | Your internal client/account ID | Must exist in 1099Policy |
category_code | Work Order category or work_type → mapped code | Maintain mapping |
wage (cents) | Pay object amount × 100 | Required |
wage_type | Pay Rate type → "hourly" or "flatfee" | Required |
region | Work Order location state | Defaults to contractor location |
custom_metadata.work_order_id | Work Order id | Reconciliation key |
Source: Field Nation (REST)
GET https://api.fieldnation.com/api/rest/v2/workorders/{id}?access_token=...
GET https://api.fieldnation.com/api/rest/v2/workorders/{id}/pay?access_token=...
Destination: 1099Policy (POST /jobs)
POST https://api.1099policy.com/api/v1/jobs
Authorization: Bearer t9k_test_***
Content-Type: application/json
{
"name": "WO 88342 — Network Install",
"description": "On-site router installation and testing",
"entity": "en_a12B3C4",
"category_code": "NETWORK_INSTALL",
"wage": 6500,
"wage_type": "hourly",
"region": "TX",
"custom_metadata": { "work_order_id": "88342" }
}
4.3 Create Quote
Quotes determine the policy type and coverage duration for the Work Order. Use the Provider’s Contractor record, Job ID, and Work Order schedule.
| 1099Policy Quote Field | Field Nation Source | Notes |
|---|---|---|
contractor | Provider → Contractor mapping | Must exist first |
job | Returned Job ID | Required |
coverage_type[] | Compliance requirements | e.g., ["workers-comp","general"] |
effective_date | Work Order schedule start (epoch UTC) | Required |
end_date | Work Order schedule end (epoch UTC) | Required |
custom_metadata.work_order_id | Work Order id | Reconciliation key |
Source: Field Nation (REST)
GET https://api.fieldnation.com/api/rest/v2/workorders/{id}/schedule?access_token=...
Destination: 1099Policy (POST /quotes)
POST https://api.1099policy.com/api/v1/quotes
Authorization: Bearer t9k_test_***
Content-Type: application/json
{
"contractor": "cn_2Hk3a91",
"job": "jb_7ZfXqP9",
"coverage_type": ["workers-comp","general"],
"effective_date": 1764585600,
"end_date": 1764672000,
"custom_metadata": { "work_order_id": "88342" }
}
4.4 Create Insurance Application Session
Create an Application Session for first-time Providers so they can review and bind coverage.
Destination: 1099Policy (POST /apply/sessions)
POST https://api.1099policy.com/api/v1/apply/sessions
Authorization: Bearer t9k_test_***
Content-Type: application/json
{
"quote": "qt_Ya42GhT",
"success_url": "https://fieldnation.com/workorders/88342?coverage=active",
"cancel_url": "https://fieldnation.com/workorders/88342?coverage=canceled",
"custom_metadata": { "work_order_id": "88342" }
}
Providers complete this flow once to activate their first policy.
4.5 Create Assignment
Assignments apply coverage automatically for returning Providers who already completed their initial opt-in.
Destination: 1099Policy (POST /assignments)
POST https://api.1099policy.com/api/v1/assignments
Authorization: Bearer t9k_test_***
Content-Type: application/json
{
"contractor": "cn_2Hk3a91",
"job": "jb_7ZfXqP9",
"effective_date": 1764585600,
"end_date": 1764672000,
"coverage_type": ["workers-comp","general"],
"custom_metadata": { "work_order_id": "88342" }
}
4.6 Upload Certificate (BYO-COI)
If a Provider uploads their own COI to Field Nation, forward it to 1099Policy for automated validation.
Source: Field Nation (REST)
GET https://api.fieldnation.com/api/rest/v2/workorders/{id}/attachments?access_token=...
Destination: 1099Policy (POST /files/certificates)
(multipart upload)
Fields:
certificate=@file.pdfcontractor=cn_2Hk3a91custom_metadata[work_order_id]=88342
Field Nation also allows Providers to purchase its in-platform general liability option if no COI is uploaded.
4.7 Record Invoice (Optional)
If the contractor’s final pay differs from the original estimate, record the actual remuneration for reconciliation and audit. This step is optional and does not affect insurance coverage.
Destination: 1099Policy (POST /invoices)
POST https://api.1099policy.com/api/v1/invoices
Authorization: Bearer t9k_test_***
Content-Type: application/json
{
"contractor": "cn_ti8eXviE4A",
"job": "jb_rajdrwMUKi",
"gross_pay": 1200,
"paycycle_startdate": 1714419793,
"paycycle_enddate": 1714419793
}
Use Unix seconds (UTC) for paycycle_startdate and paycycle_enddate. See full API reference: https://docs.1099policy.com/group/endpoint-invoice
5. Webhooks
Webhooks keep both systems synchronized throughout the Work Order lifecycle.
| Source | Event | Action |
|---|---|---|
| Field Nation | workorder.status.assigned | Create Job and Quote; if first-time, create Application Session |
| Field Nation | schedule.updated / provider.checked_in/out | Adjust Assignment window |
| Field Nation | workorder.status.work_done / approved | End coverage |
| 1099Policy | policy.active | Mark Provider insured |
| 1099Policy | policy.expired / policy.canceled | Mark coverage inactive |
| 1099Policy | certificate.validated | Mark COI valid |
| 1099Policy | certificate.flagged | Flag for manual review |
6. Testing Checklist
Use this checklist to confirm that your integration behaves as expected.
- Provider created with proxy email if missing
- Job created with correct wage and metadata
- Quote created and session launches successfully
- Application Session completes and coverage binds
- Assignment dates align with Work Order schedule
- Webhook endpoint verified with signature
- Certificate uploads trigger validation

