Pre-built where it matters.
Any API where it doesn't.
Pre-built connectors know each system's records, fields, paging and sign-in. Plain APIs need an address and a key. Or upload an OpenAPI file and SentraBridge builds the connector.

Pre-built connectors and plain APIs.
Pre-built connectors carry the catalog for a system: resources, paths, record IDs, change-since parameters, paging and fields. Plain APIs, like Twilio, Slack or the US Census geocoder, are ready-made settings for a simpler API. Both are honest about access: Tyler EnerGov and Munis are listed, and need the city's Tyler API access.
- Cursor, page, offset, next-link and last-ID paging
- Bearer, API key, query key, basic, OAuth client credentials and password grant
- Google service-account sign-in and rotating refresh tokens
- Errors reported inside a 200 response are caught (Slack, Cityworks, ArcGIS)
| method | used by |
|---|---|
| API token (Bearer) | Sentra products, Airtable, HubSpot… |
| OAuth 2.0 client credentials | OpenGov, Laserfiche, Salesforce… |
| OAuth 2.0 password grant | Accela (agency app) |
| Rotating refresh tokens | QuickBooks Online… |
| Google service account | Google Sheets |
| API key in a header or address | Esri, Census, many plain APIs |
| Database login over TLS | SQL Server, PostgreSQL, MySQL |
| SFTP key, host key pinned | SFTP servers |
An API file becomes a connector.
Upload an OpenAPI 3 or Swagger 2 file, in YAML or JSON. SentraBridge reads the server address, how it signs in, the resources, fields and paging, and saves a connector for that client. Work that used to be weeks of reading documentation becomes a review.
- Per-client: one city's custom API doesn't appear for another
- Edit what the file got wrong before you use it
- Works for vendor APIs and the city's own
openapi: 3.0.3
info: { title: Permits API }
servers: [{ url: https://permits.city.gov/api }]
components:
securitySchemes:
key: { type: apiKey, in: header, name: X-Api-Key }
paths:
/permits: { get: ..., post: ... }
/permits/{id}: { get: ..., put: ... }
/inspections: { get: ... }| resource | read | write |
|---|---|---|
| Permits | list · get | create · update |
| Inspections | list | — |
Our products need no mapping.
SentraBridge knows every Sentra product out of the box: Sentra 311, Sentra Scheduler, SentraQueue, CivicCA, Sentra CMS, SentraDeed and SentraCheck. Each has a sandbox with made-up data, so a flow can be built and previewed before a real connection exists.
- Webhook signatures verified for every Sentra product
- Real paths taken from each product
- Sandbox connections for safe practice
See it in real flows.
311 code-enforcement requests become Accela records
When Sentra 311 sends request.created, code-enforcement requests become new Accela records. Everything else is ignored.
Salesforce → Sentra 311Salesforce web cases become Sentra 311 requests
Every 15 minutes, turns new Salesforce cases from the web into Sentra 311 service requests.
OpenGov Permitting & Licensing → Socrata / Tyler Data & InsightsPublish OpenGov permits to the open-data portal
Nightly, upserts changed OpenGov permit records into a Socrata / Tyler Data & Insights dataset.
Questions, answered
What if our system isn't listed?
If it has a REST/JSON API, it works: use Any REST / JSON API with the address and sign-in, or import its OpenAPI file. Databases and SFTP cover systems without an API.
Do we need the vendor's permission?
Sometimes. Accela requires your agency admin to approve the app; Tyler APIs need the city's Tyler API access. We say so on each connector page.
Are credentials safe?
Passwords, tokens and keys are encrypted at rest and never shown again after saving.
See your own systems connected.
We'll set up a workspace with your systems in a sandbox and build your first flow with you.