Pass-through integration for local government · records are never stored System status1-559-251-7767Sentra familySign in
SentraBridgeIntegration platform
Operations Integration basicsSeptember 2, 2026 · 4 min read

From 311 request to work order, and back to the resident

Service requests arrive in 311; crews work them in an asset or work order system such as Cityworks. How to connect the two, keep IDs on both sides, and close the loop so residents hear back.

A resident reports a pothole. The 311 system takes the request. Then, in many cities, a dispatcher reads it and types it into the work order system the street crew uses. When the crew finishes, nobody updates 311, so the resident never hears that the pothole was fixed.

Connecting the two systems fixes both halves: requests arrive as work without retyping, and residents get an answer when the work is done.

Agree on the rules first

Before building, sit down with 311 staff and the public works supervisors. Settle these questions:

  • Which request types become work? Potholes, streetlights, sewer backups, signs. Not every 311 type belongs in the work order system.
  • Which template or work type in the work order system each 311 category maps to.
  • Who reviews first? Some departments want every request to go straight to a crew. Others want a supervisor to look first.
  • What closes a request? A completed work order, a cancelled one, or a "no problem found" inspection.
  • What residents are told at each stage.

Write these down as a table. It becomes the value map in the flow.

Direction one: 311 to work orders

  1. 01A request arrivesBy webhook or schedule
  2. 02Keep work typesOnly categories crews handle
  3. 03Translate category311 type to work type
  4. 04Create the requestIn the work order system
  5. 05Write the ID backSo both sides are linked
  • Start. Either the 311 system calls in when a request is created, or a flow checks for new requests every few minutes.
  • Filter. Keep only the categories that public works handles.
  • Translate. A value map turns the 311 category into the right request or work order type.
  • Create. A new service request or work order is created with the address, description and 311 number.
  • Write back. The new ID is stored on the 311 request, so each side knows about the other.

Direction two: closing the loop

Many work order systems don't send a message when work is completed, so the return trip usually runs on a schedule.

  • Every 15 minutes or so, read work orders changed since the last successful run.
  • Keep the ones that are complete or cancelled, and that came from 311.
  • Update the matching 311 request, which notifies the resident in the way 311 is set up to do.

Because the flow reads changes since the last good run, a missed run catches up on its own.

IDs on both sides

The single most useful design choice is to store each system's ID in the other.

  • The 311 number goes into the work order, often in a reference or description field.
  • The work order number goes back onto the 311 request.

This makes the return trip simple, prevents duplicates if a run repeats, and lets anyone trace a request from either end.

Cityworks notes

Cityworks is common in public works and utilities. A few things to know when connecting to it:

  • Each Cityworks server documents its own API at its apidocs address. Check paths against your version.
  • Requests send a form field holding JSON, rather than a plain JSON body.
  • Search methods often return only IDs, so a second lookup reads the full records.
  • The integration user needs access to the request and work order templates it will use.

Other work order and asset systems differ in detail, but the same pattern applies.

What usually goes wrong

  • Addresses. 311 addresses typed by call takers may not match the asset system's address points. Geocode or validate before creating work.
  • Duplicate requests. Several residents report the same pothole. Decide whether each becomes its own work order or whether supervisors merge them.
  • Loops. If both directions sync status, make sure an update from one side doesn't trigger the other endlessly. Filtering on records that came from 311 helps.
  • Statuses. "Completed", "Closed", "Cancelled - duplicate". List every status that should close a 311 request, and decide what residents are told for each.

Measure it

Once connected, you can finally answer questions like how long potholes take from report to repair. Keep an eye on:

  • Requests waiting for a work order.
  • Work orders with no matching 311 request.
  • Requests closed in 311 but still open in the work order system.

In SentraBridge

SentraBridge connects Sentra 311 and Open311 systems to Cityworks or Sentra Scheduler, with value maps for categories and a scheduled return trip that closes requests. The Cityworks connector is built from its public developer guides and confirmed against your server during setup. A ready template turns new pothole requests into Scheduler visits. See public works and field crews.