Description

WorkMarket, an ADP company, is a freelance management system (FMS) designed for enterprises to onboard, verify, manage, and pay independent contractors and contingent workers at scale.

Products

Fractional Insurance

Automated Certificate Review

Search vendor guides...

Search vendor guides...

/

/

WorkMarket

WorkMarket Integration Guide

Learn how to connect WorkMarket work orders to 1099Policy to automate contractor insurance checks, validate COIs, and offer fractional coverage for every assignment.

1. Overview

Connect WorkMarket Work Orders to 1099Policy to ensure every contractor engagement has valid insurance coverage before work begins. This integration automates policy creation, COI validation, and compliance syncing between both platforms.

You can:

  • Bind new insurance coverage when a contractor is assigned to a Work Order.
  • Automatically validate and store Certificates of Insurance (COIs).
  • Keep compliance states in sync through 1099Policy webhooks (policy.*, certificate.*).
  • Map WorkMarket compensation to 1099Policy job.wage (integer cents) and wage_type.
  • Persist Work Order IDs in custom_metadata.work_order_id for reconciliation (never as primary IDs).

2. Integration Flow

Coverage should be triggered when a contractor is assigned to a Work Order. This ensures insurance binds before work starts or service hours are logged.

  • Primary trigger: Work Order status changes to ASSIGNED.
  • Alternative trigger: Status updates to IN_PROGRESS (if work begins after check-in).
  • Event delivery: WorkMarket “Integration & Automation” Webhooks.
  • Required data: Work Order ID, worker ID, compensation, and scheduled dates.

3. Core Concepts

Each WorkMarket object maps directly to a 1099Policy resource to ensure every assignment carries active coverage and proper COI tracking.

WorkMarket Object1099Policy ResourceDescription
Work OrderJob + AssignmentDefines work scope, comp, and coverage window
WorkerContractorRepresents the insured individual
COI (Certificate)CertificateValidates insurance documentation
Work Order IDcustom_metadata.work_order_idUsed for reconciliation only

4. End-to-End Implementation

Follow these steps to integrate WorkMarket and 1099Policy for automated contractor insurance compliance.

4.1 Create Contractor

Each WorkMarket Worker must exist in 1099Policy before quotes or assignments are created. Every Contractor must include a unique contact.email. Generate a proxy email if missing (e.g., <worker_id>@relay.yourdomain.com).

WorkMarket Field1099Policy ContractorNotes
worker_idcustom_metadata.workmarket_worker_idReconciliation key
first_name, last_namecontact.first_name, contact.last_nameRequired
emailcontact.emailRequired; proxy allowed
countryaddress.countryOptional
regionaddress.regionOptional

Source: WorkMarket (REST)


GET https://api.workmarket.com/v1/workers/{worker_id}
Authorization: Bearer wm_live_***

Destination: 1099Policy (POST /contractors)


POST https://api.1099policy.com/api/v1/contractors
Authorization: Bearer t9k_test_***
Content-Type: application/json
Idempotency-Key: workmarket-worker-<WORKER_ID>


{
  "contact": {
    "first_name": "Alex",
    "last_name": "Nguyen",
    "email": "wk_421@relay.yourdomain.com"
  },
  "address": {
    "country": "US",
    "region": "CA"
  },
  "custom_metadata": {
    "workmarket_worker_id": "wk_421"
  }
}

4.2 Create Job

Create a Job in 1099Policy when a Work Order is assigned to a contractor to define scope, compensation, and region.

1099Policy Job FieldWorkMarket SourceNotes
nameWork Order titleHuman-readable name
descriptionWork Order descriptionScope or SOW
entityInternal client/account IDMust exist in 1099Policy
category_codeWork Order category → mapped 1099Policy codeMaintain mapping
wage (cents)budget_amount × 100 or rate_amount × 100Required
wage_type"flatfee" or "hourly"Required
regionWork location (state)Defaults to contractor region
custom_metadata.work_order_idWork Order IDReconciliation

Source: WorkMarket (REST)


GET https://api.workmarket.com/v1/workorders/{work_order_id}
Authorization: Bearer wm_live_***

Destination: 1099Policy (POST /jobs)


POST https://api.1099policy.com/api/v1/jobs
Authorization: Bearer t9k_test_***
Content-Type: application/json


{
  "name": "WO 12345 — Low Voltage Cabling",
  "description": "Install Cat6 and test drops at client site",
  "entity": "en_abc123",
  "category_code": "jc_MTqpkbkp6G",
  "wage": 32500,
  "wage_type": "flatfee",
  "region": "CA",
  "custom_metadata": { "work_order_id": "12345" }
}

4.3 Create Quote

Create a Quote to define the type of coverage and its effective window.

1099Policy Quote FieldWorkMarket SourceNotes
contractorMapped Worker IDMust exist first
jobReturned Job IDRequired
coverage_type[]Policy requiremente.g., ["general","workers-comp"]
effective_dateWO start (epoch UTC)Recommended
end_dateWO end (epoch UTC)Recommended
custom_metadata.work_order_idWork Order IDReconciliation

Destination: 1099Policy (POST /quotes)


POST https://api.1099policy.com/api/v1/quotes
Authorization: Bearer t9k_test_***
Content-Type: application/json


{
  "contractor": "cn_Ehb3bYa",
  "job": "jb_jsb9KEcTpc",
  "coverage_type": ["general","workers-comp"],
  "effective_date": 1761997200,
  "end_date": 1762083600,
  "custom_metadata": { "work_order_id": "12345" }
}

4.4 Create Insurance Application Session

Redirect contractors to complete their first policy opt-in using the insurance application session endpoint.

Destination: 1099Policy (POST /apply/sessions)


POST https://api.1099policy.com/api/v1/apply/sessions
Authorization: Bearer t9k_test_***
Content-Type: application/json


{
  "quote": "qt_5DciVga8Kt",
  "success_url": "https://workmarket.com/workorders/12345?coverage=active",
  "cancel_url": "https://workmarket.com/workorders/12345?coverage=canceled",
  "custom_metadata": { "work_order_id": "12345" }
}

4.5 Create Assignment

Assignments represent active coverage tied to the Work Order’s scheduled period.

Destination: 1099Policy (POST /assignments)


POST https://api.1099policy.com/api/v1/assignments
Authorization: Bearer t9k_test_***
Content-Type: application/json


{
  "contractor": "cn_Ehb3bYa",
  "job": "jb_jsb9KEcTpc",
  "effective_date": 1761997200,
  "end_date": 1762083600,
  "coverage_type": ["general","workers-comp"],
  "custom_metadata": { "work_order_id": "12345" }
}

4.6 Upload Certificate (BYO-COI)

If a contractor provides their own COI, upload it for validation and compliance tracking.

Destination: 1099Policy (POST /files/certificates)
(multipart upload)

Fields:

  • certificate=@file.pdf
  • contractor=cn_Ehb3bYa
  • custom_metadata[work_order_id]=12345

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
}

Unix timestamp

Use Unix seconds (UTC) for paycycle_startdate and paycycle_enddate. See full API reference: https://docs.1099policy.com/group/endpoint-invoice

5. Webhooks

WorkMarket event notifications and 1099Policy webhooks keep coverage synchronized across systems.

SourceEventAction
WorkMarketWork Order assignedTrigger Job + Quote creation
WorkMarketWork Order in progressCreate Assignment
1099Policypolicy.activeMark contractor insured
1099Policypolicy.expired / policy.canceledMark unprotected
1099Policycertificate.validatedMark COI valid
1099Policycertificate.flaggedFlag for manual review

6. Testing Checklist

Ensure coverage is bound automatically when Work Orders are assigned.

  • Contractor created (proxy email if missing)
  • Job created with wage and metadata mapping
  • Quote created with coverage types and dates
  • Application Session launched successfully
  • Assignment matches Work Order term
  • COI uploads validated and webhook verified
  • Optional invoice recorded when remuneration differs

7. References

Was this page helpful?

Yes

No

Was this page helpful?

Yes

No

Was this page helpful?

Yes

No

Was this page helpful?

Yes

No

Was this page helpful?

Yes

No

© Copyright 2024. All rights reserved.

© Copyright 2024. All rights reserved.

© Copyright 2024. All rights reserved.

© Copyright 2024. All rights reserved.

© Copyright 2024. All rights reserved.