Skip to main content

CAD Connector - 365Labs

GovWorx integration guide for the 365Labs CAD system.

Written by Kevin Biegert

Capabilities

Capabilities

365Labs (Service Bus)

365Labs API

Connector Capabilities

Read

Yes

Yes

Backfill

No

No

Bidirectional Capabilities

Incident Create

No

No

Incident Update

No

No

Narrative Update

No

No

Overview

API

The Data Agent reads data using the CAD365Labs API.

Each run asks the API for incidents from one day before to one day after the current date. The Data Agent keeps closed incidents only.

Service Bus

The Data Agent reads data from a 365Labs Azure Service Bus topic.

The Data Agent reads Call Closure messages. It skips other message types.

Standard Data Fields

These are the standard data fields the Data Agent reads from 365Labs. The tables below show each GovWorx field and the 365Labs source it comes from. Source names are JSON fields of the incident.

Note: Additional fields are considered enhancement requests.

API: Incident fields

GovWorx field

365Labs API source

Notes

Incident ID

id

CAD record key.

Incident Number

incidentNumber

Incident Type

incidentType

Incident Date

startedAt

Includes the time offset settings.

Closed At

endedAt

Includes the time offset settings. The Data Agent reads closed incidents only.

Priority

priority

High, Medium and Low are normalized. Other values pass through unchanged.

Caller Name

name

Caller Number

phoneNumber

Uses the phoneNumber of the first entry in calls when the incident has none.

Call Taker ID

calls[].takenBy

The first call. Uses createdBy when takenBy is empty.

Call Taker Name

calls[].takenBy

The first call. Uses createdBy when takenBy is empty.

Call Received Time

calls[].startedAt

The first call. Uses startedAt when the incident has no calls.

The earliest CAD note timestamp setting replaces this with the earliest note time.

Agency

units[].agency

The agency of the first unit.

Location

location.address, apartmentNumber, city, state

Joined with spaces. The apartment number is written as Apt followed by the number.

Latitude

location.latitude

Needs both latitude and longitude.

Longitude

location.longitude

Needs both latitude and longitude.

Disposition

dispositions[].reason

The first disposition.

API: Notes

GovWorx field

365Labs API source

Notes

Note Text

comments[]

Each comment is plain text. The API sends no author or time, so Note By and Note Time stay empty.

API: Responders and units

GovWorx field

365Labs API source

Notes

Unit Name

units[].name

Dispatched By

units[].officials[]

The first official with a value. With the CreatedBy toggle on, uses createdBy when the unit has no official.

Dispatched At

units[].assignedAt

Includes the time offset settings.

Enroute At

units[].enRouteAt

Includes the time offset settings.

Arrived At

units[].onSceneAt

Includes the time offset settings.

Cleared At

units[].clearedAt

Includes the time offset settings.

Service Bus: Incident fields

GovWorx field

365Labs Service Bus source

Notes

Incident ID

id

CAD record key.

Incident Number

incidentNumber

Incident Type

incidentType

Incident Date

startedAt

Closed At

endedAt

Priority

priority

High, Medium and Low are normalized. An empty value becomes Medium.

Caller Name

name

Caller Number

phoneNumber

Call Taker ID

createdBy.badgeNumber

Uses createdBy.name when the badge number is empty.

Call Taker Name

createdBy.name

Agency

units[].agency

The agency of the first unit.

Location

location.address, apartmentNumber

Joined with a space. The apartment number is written as Apt followed by the number.

Latitude

location.geolocation

Read from the geolocation text, for example [longitude, latitude].

Longitude

location.geolocation

Read from the geolocation text, for example [longitude, latitude].

Disposition

dispositions[].reason

The first disposition.

Service Bus: Notes

GovWorx field

365Labs Service Bus source

Notes

Note Text

comments[].text

Note By

comments[].createdBy.name

Uses createdBy.badgeNumber when the name is empty.

Note Time

comments[].createdDate

Service Bus: Responders and units

GovWorx field

365Labs Service Bus source

Notes

Unit Name

units[].name

Dispatched By

createdBy.id

The incident creator. Uses createdBy.name when the ID is empty.

Dispatched At

units[].assignedAt

Enroute At

units[].enRouteAt

Arrived At

units[].onSceneAt

Cleared At

units[].clearedAt

Data Agent Settings

To prepare for this connection, we need the following details. These are settings in the GovWorx Data Agent configuration for this connector. A toggle is an on/off switch in that configuration.

API

*: Required

Setting

Type

Explanation

API Request URL*

Text

Provided by 365Labs

API Key*

Password

Provided by 365Labs

Time Offset (Minutes, can be positive or negative)

Text

Optional Value if Time sync is off from Cloud to Voice Logger

Time Offset (Seconds, can be positive or negative)

Text

Optional Value if Time sync is off from Cloud to Voice Logger

Use CreatedBy as DispatchedBy Fallback

Toggle

Toggle will use the incident creator as Dispatched By when a unit has no official. Default is off.

Use earliest CAD note timestamp for Received At

Toggle

Toggle will use the earliest CAD note time as Call Received Time. Use it when the first note marks the start of the call better than the CAD pickup time. Call Pickup Time does not change. When no note has a time, Call Received Time stays as read from CAD. Default: off. This setting is on every CAD connector.

Service Bus

*: Required

Setting

Type

Explanation

Azure Service Bus Connection String*

Password

The connection string for the 365Labs Azure Service Bus.

Topic Name*

Text

The name of the Service Bus topic to read.

Subscription Name*

Text

The name of the subscription on the topic.

Max Concurrent Calls

Number

Default is 5.

Max Wait Time (seconds)

Number

How long each run waits for messages. Default is 30 seconds.

Max Message Count per batch (Default 15)

Number

How many messages each run reads. Default is 15.

Use earliest CAD note timestamp for Received At

Toggle

Toggle will use the earliest CAD note time as Call Received Time. Use it when the first note marks the start of the call better than the CAD pickup time. Call Pickup Time does not change. When no note has a time, Call Received Time stays as read from CAD. Default: off. This setting is on every CAD connector.

Did this answer your question?