Pass-through integration for local government · records are never stored System status1-559-251-7767Sentra familySign in
SentraBridgeIntegration platform
311 and permittingSolution

A code complaint in 311.
A case in Accela. Closed in both.

Code-enforcement requests from 311 become records in Accela or OpenGov, and closing the record closes the 311 request, so residents hear back without anyone re-keying it.

This solution

311 ↔ permitting

StartsWhen a system calls in · Sentra 311 calls in
SystemsSentra 311, Accela Civic Platform, OpenGov Permitting & Licensing, Open311 (GeoReport v2)…
Templates3 ready-made flows to start from3
Stored recordsNone: pass-through, in memory only0
Preview any template on your own data before it writes anything.
§ The problem

What it looks like today.

Re-keying

Staff copy complaints from the 311 queue into the permitting system by hand, and typos travel with them.

Residents left waiting

The case closes in Accela, but the 311 request stays open and the resident never hears.

No webhooks

Accela has no webhooks, so a 'live' connection means polling for changed records reliably.

§ How it works

How it works: 311 ↔ permitting

  1. 01311 calls inrequest.created, signature checked
  2. 02Code case?If/else on the request type
  3. 03Shape itMap 311 fields to an Accela record
  4. 04Create recordAccela Construct API
  5. 05Poll for closuresEvery 15 min, updateDateFrom
  6. 06Close in 311Resident gets the update
§ 01 / Into Accela

Only the requests that belong there.

The flow starts when Sentra 311 calls in, checks the signature, and keeps only code-enforcement requests. Map fields shapes each one as an Accela record with type, description and address.

  • Record types and statuses differ per city: check them in Preview
  • Agency admin approves the Accela app once
  • OpenGov works the same way with its connector
Flow diagram: 311 code-enforcement requests become Accela recordsWhen Sentra 311 sends request.created, code-enforcement requests become new Accela records. Everything else is ignored.Sentra 311 calls inWhen a system calls inCode enforcement?If / elseShape as an AccelarecordMap fieldsCreate Accela recordSend records · AccelaYes
311 code-enforcement requests become Accela records · 4 steps · a real SentraBridge template
§ 02 / Back to 311

Closed there means closed here.

Every 15 minutes, SentraBridge reads Accela records changed since the last good run, keeps closed ones that came from 311, and closes the matching 311 request.

  • Only closed records that came from 311
  • Replay by ID if 311 was briefly down
  • Run history keeps IDs on both sides
Flow diagram: Closed Accela records close their 311 requestsEvery 15 minutes, finds Accela records closed since the last run and closes the matching Sentra 311 request.Every 15 minutesOn a scheduleEvery 15 minutes (workspace time zone)Changed Accela recordsGet records · AccelaReads Records from Accela Civic PlatformClosed, from 311FilterKeeps only records where status.value is oneof Closed, Complete and customId starts wi…Closing updateMap fieldsShapes each record into 2 fields: status,request_numberClose 311 requestSend records · Sentra 311Updates Service requests in Sentra 311
Closed Accela records close their 311 requests · 5 steps · a real SentraBridge template
§ Systems

Works with

Pre-built connectors used in this solution. Anything else with an API, a database or SFTP works too.

See your own systems connected.

We'll set up a workspace with your systems in a sandbox and build your first flow with you.