FieldproxyAI-native field service software

Client portals

How do I manage ServiceChannel and Corrigo work orders in my own field service software?

Treat the client's platform as the place the work order comes from and the place the proof and the invoice go back to, and run everything in between in your own system. Pull each new work order in through the platform's API (ServiceChannel's REST API, or CorrigoPro Direct by polling or webhook) or from the dispatch email, keep the client's work order number and NTE on your job, and dispatch it to your own tech or a vendor. Then push check-in and check-out with GPS, status changes, notes and the invoice back to the platform, because the client checks and pays inside its own system, not yours.

  • Keep the client's work order number as the key. Every push back to the portal needs it.
  • Check-in rules are set by each client: IVR, GPS inside a radius, or the provider app. Ask before you go live.
  • The NTE is a hard ceiling. ServiceChannel rejects an invoice above it; on Corrigo the NTE only rises after the customer approves your quote.
  • Invoice only when the work order is in a billable status (ServiceChannel: Completed or Completed/Confirmed).
  • API access is switched on by the client and the platform, not by your software vendor. Start that paperwork early.
Fieldproxy

This page is for providers who receive work from ServiceChannel or Corrigo. If you are the facility owner issuing work orders, you need the client side of these platforms instead.

Facts checked as of November 2026. Sources at the end of the page.

Step by step

How it works, step by step

The same eight steps apply on both platforms. What changes is the API call at each step and which steps each client makes mandatory.

1. Get API access switched on

On ServiceChannel, providers report check-ins and most other activity only after permissions are enabled. GPS check-in is turned on by the subscriber's ServiceChannel representative, and the provider check-in permission is enabled between one subscriber and one provider after the subscriber signs a Contractor Request Form. On CorrigoPro, an admin turns on Integration in CorrigoPro Desktop and generates OAuth client credentials; the page notes that integration mode needs an upgraded membership level.

2. Pull new work orders in

CorrigoPro says your system must poll, or listen by webhook, for work orders a Corrigo customer sends you, and create a matching work order on your side. For ServiceChannel, a provider integration reads new work orders through the API; ServiceTitan's documented integration shows new ones arriving within about two minutes. Clients that are not connected yet still send a dispatch email with the work order number, which can be read into a job instead.

3. Create the job with the client's fields

Store the client's work order number, store or location ID, trade, priority, NTE, call date and due-by time on the job, and match the store to a site you already have. Use the client's number as the reference on every message and invoice.

4. Accept or decline

Corrigo makes accept or reject a required step for every customer. On ServiceChannel, accepting is reflected as In Progress / Dispatch Confirmed and declining as Open / Declined in ServiceTitan's integration.

5. Dispatch to your tech or a vendor

This part lives only in your system. The portal does not know or care whether your own technician or a subcontractor goes. Send the vendor a cost NTE below the client's NTE so your margin is protected.

6. Push check-in and check-out

ServiceChannel has universal endpoints, POST /workorders/{workorderId}/universalCheckIn and universalCheckOut. GPS check-in needs latitude and longitude inside the radius the subscriber sets (their example is 0.5 miles), and check-in moves the work order to IN PROGRESS / ON SITE. Check-out needs a PrimaryStatus such as Completed, Incomplete, PartsOnOrder or WaitingForQuote. CorrigoPro uses PUT /api/workOrder/checkIn (allowed from Accepted or Paused, result CheckedIn) and PUT /api/workorder/checkout, where some customers also require a repair category and code, custom fields, a checklist or the equipment worked on.

7. Sync status, notes and attachments

ServiceChannel status changes use PUT /workorders/{workorderId}/status with a primary status and an optional note. CorrigoPro supports messages and documents at any point, and says your system must listen for status changes, including cancellations by the customer.

8. Invoice back into the portal

ServiceChannel accepts an invoice only when the work order is Completed or Completed/Confirmed, as a Standard or Line Item invoice depending on what the subscriber requires. Submitted invoices cannot be edited; you void in the UI and resubmit. CorrigoPro added invoice endpoints in version 4.1, including PUT /api/invoice/submit and invoice attachments.

Where it breaks

Why it goes wrong

These are the problems commercial facility maintenance companies and contractors described on our sales calls.

Two people retyping dispatch emails

A facility maintenance company with in-house technicians and hundreds of vendors had two staff whose job was to read dispatch emails and fill in the missing pieces by hand. Their old system's integrations pulled some fields and not others, so every work order was touched twice.

Check-ins that only count if done the client's way

The same company asked whether a geotagged check-in from the field app could be pushed to ServiceChannel and Corrigo, and what happens when someone checks in from the office. ServiceChannel only accepts GPS check-ins inside the subscriber's radius, so an office check-in with office coordinates fails or is flagged.

Invoices rejected over the NTE

ServiceChannel rejects an invoice above the subscriber's NTE, and the fix is manual inside ServiceChannel. A tech who finds more work and does it before the increase is approved creates an invoice that cannot be paid as written.

Hybrid crews, one portal

Commercial owners with both employees and subcontractors said vendors are scheduled differently from staff and mostly work by email. The portal still expects one check-in, one status trail and one invoice per work order, whoever went.

Work orders started before the integration

ServiceTitan's docs warn that work orders already started in ServiceChannel before setup do not sync and must be finished there. Plan a cutover date, not a big-bang switch.

Notes the client can read

Notes sync to the subscriber. An internal note about vendor cost or a difficult store manager should never sit in a field that syncs.

The options

Ways to do it

ApproachHow work orders moveWeak spotGood for
Work inside each portal (ServiceChannel Provider, CorrigoPro app)Techs check in by IVR or the provider app; the office updates status and invoices in each portalYour own scheduling, vendor costs and margins live in a spreadsheet; one login per client portalOne or two portal clients, small crew
Dispatch email into your FSM, portal by handThe email or PDF becomes a job; check-in, status and invoice are still entered in the portalDouble entry at the end of every job; check-in depends on the tech remembering the IVRClients that have not approved API access yet
FSM with a built-in ServiceChannel connector (ServiceTitan, BuildOps)ServiceTitan via WorkConnect: work orders arrive as bookings, statuses and check-in sync, notes sync both ways, invoice status hourly. BuildOps lists ServiceChannel as an integrated partner with updates, photos and invoices syncing backServiceTitan sends an invoice once and no later changes, sends attachments once at job completion, and puts work order details in the job Summary field. Neither page mentions CorrigoContractors already on that FSM with mostly ServiceChannel clients
Your own code on the platform APIsYour developers call ServiceChannel's REST API and CorrigoPro Direct, and map fields to your systemYou maintain it per client and per API change; per-client check-in and completion rules add upLarge providers with in-house developers
Configurable FSM set up per client (Fieldproxy)Dispatch emails and PDFs become jobs with the client's WO number and NTE; pushes to each portal are set up per client during onboardingEach client's API permissions still have to be approved by the client and the platformBest for processes that don't fit a template, set up for you: hybrid in-house and vendor teams with several portal clients

As of November 2026, from each vendor's documentation (sources below). Integration details change; check the current docs for each client you serve.

Worked example

A worked example: one ServiceChannel work order, start to paid

Say a retail client sends a P2 plumbing work order with an NTE of $600 to a provider that uses its own techs in two states and vendors elsewhere. Made-up numbers to show where each step happens.

TimeIn your systemPushed to the portal
9:02Job created from the new work order: client WO number, store 0418, P2, NTE $600, due in 24 hoursNothing yet
9:05No in-house plumber within the store's area, so a vendor is offered the job with a cost NTE of $450Accepted; status In Progress / Dispatch Confirmed
14:40Vendor opens the job link at the store; GPS is 0.1 miles from the siteGPS check-in; status IN PROGRESS / ON SITE
15:30Vendor finds a cracked supply line beyond the scope; photos and a $380 add-on quoteCheck-out as WaitingForQuote, note with the reason; quote submitted against the NTE
Next dayClient raises the NTE to $980; vendor's cost NTE raised to $730; vendor returnsSecond check-in and check-out as Completed
Day 3Invoice of $940 built from labor and parts, under the new NTELine Item invoice submitted against the Completed work order

Without the quote step, the $940 invoice is over the original $600 NTE and is rejected. Every number here is an example, not a benchmark.

Before you buy

What to check before you buy

Good signs

  • Handles both ServiceChannel and Corrigo, plus email for clients that are not connected
  • Keeps the client's work order number, NTE and priority as real fields, not text in a summary box
  • Pushes check-in and check-out with GPS coordinates, and shows when a check-in failed
  • Blocks or warns before work or an invoice goes over the NTE
  • Lets you dispatch the same work order to an employee or a vendor and still sync one status trail
  • Separates internal notes from notes that sync to the client
  • Shows a log of every call to the portal and its response

Red flags

  • A demo with a sample work order, not one from your own client
  • Invoices sent once with no way to correct and resend
  • Corrigo support that turns out to mean email parsing only
  • No answer on who requests API access from each client
  • Vendors must buy a seat or install an app to check in

In Fieldproxy

Setting it up in Fieldproxy

Fieldproxy is set up around your process, so the fields, statuses and rules below are configured with you. Names marked e.g. are examples.

Work orders in

The Document intelligence agent (/agents/document-intelligence-agent) reads ServiceChannel and Corrigo dispatch emails and work order PDFs and fills the job: client WO number (e.g. client_wo), store number, priority, NTE and due-by time, matched to the right site. Where a client has approved API access, intake can come from the platform instead.

Your own dispatch rules

The Dispatch agent (/agents/dispatch-agent) offers the job to an in-house technician by area, skills and distance, and falls back to a vendor when none is free. Vendors can work from a job link without buying a seat.

NTE on the tech's screen

The job shows a running total of labor and parts against the NTE. Going over is blocked until an increase or a quote is approved, with a status such as e.g. needs_authorization. The Watcher agent (/agents/watcher-agent) flags a job at 90% of its NTE.

Check-in and back to the portal

The technician app records GPS check-in and check-out. For clients with API access, an automation sends check-in, status changes, client-facing notes and the invoice to the portal using your provider credentials, and keeps each response on the job. Which calls are possible depends on the permissions each client grants.

Chasing vendors

Autopilot (/agents/autopilot) drafts the follow-up to a vendor that has not checked in, sent photos or sent a quote, and a person approves it before it goes.

One price per company

Office staff, technicians and vendors all work in one system. Fieldproxy is one price per company with unlimited users. See /pricing.

How switching works

How switching to Fieldproxy works

We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.

  1. List your portal clients

    For each client: ServiceChannel or Corrigo, check-in method, invoice type, completion fields they require, and whether API access is already approved.
  2. Send us real work orders

    A recent work order and dispatch email from each client. We map the fields to your jobs and agree statuses on both sides.
  3. Request API access in parallel

    We give you the wording for each client's permission request. Clients without access stay on email intake until it is approved.
  4. Cut over by date

    New work orders go through Fieldproxy from an agreed date. Work orders already open in the portal are finished there.

FAQ

Questions people ask

Can field service software pull work orders from ServiceChannel and Corrigo automatically?
Yes, through each platform's API once the client and the platform enable access. CorrigoPro supports polling or webhooks; ServiceChannel has a REST API with OAuth. Until access is approved, the dispatch email can be read into a job instead.
Can a geotagged check-in from our own app count in ServiceChannel?
Yes, if the subscriber has GPS check-in enabled and the coordinates are inside its radius. ServiceChannel's universal check-in endpoint takes latitude and longitude and sets the work order to IN PROGRESS / ON SITE.
What if our tech checks in from the office or has no signal?
A GPS check-in from the wrong place is outside the radius. Use the client's IVR as the backup, and record the real arrival time; CorrigoPro allows back-dated check-ins only where the customer's settings permit it.
How do NTE increases work on Corrigo?
You submit a quote with PUT /api/workOrder/quoteSubmit. The NTE does not change until the customer approves, then it is set to the quote amount. A quote can be submitted once; the customer must reject it before you resubmit.
Can we use the client's work order number as our job number?
You should keep it on the job as its own field and search by it. Whether it is also your internal job number is your choice; every push to the portal needs the client's number either way.
Can vendors check in without our app?
They can use the client's IVR or provider app, which updates the portal but not your system. A job link that records GPS on arrival keeps both in step.
Does the invoice have to match the portal's format?
Yes. Some ServiceChannel subscribers require Line Item invoices for certain trades, and some require resolution text. Ask each client for its invoice rules before go-live.

Sources

Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.

See it built on your workflow

Tell us how your jobs run today. We build a demo on your stages, forms and pricing before the call.