Skip to main content

System Surveyor Component

Design and manage physical spaces in System Surveyor.

Component key: ssv · Changelog ↓

Description

System Surveyor is a platform for designing and managing physical spaces. This component allows creating and managing sites, surveys, element profiles, reports, and webhooks through the System Surveyor REST API.

API Documentation

This component was built using the System Surveyor REST API.

Connections

API Key

key: ssvApiKeyConnection

The System Surveyor API Key connection authenticates via an enterprise access token for API requests.

Prerequisites

  • A System Surveyor enterprise account with API key access enabled
  • An enterprise access token generated by an account administrator

Setup Steps

  1. Contact the System Surveyor account administrator to obtain an enterprise access token
  2. Determine which API environment to connect to (Production, Staging, or Dev)

Configure the Connection

Create a connection of type API Key and configure the following fields:

FieldDescription
Base URLThe API environment URL. Defaults to the production environment (https://openapi.systemsurveyor.com). Change to the staging or dev URL if needed.
API KeyThe enterprise access token generated by an account administrator.
InputNotesExample
API Key

The enterprise access token generated by an account administrator.

Base URL

The base URL for the System Surveyor API environment.

https://openapi.systemsurveyor.com

Basic Authentication

key: ssvTokenConnection

The System Surveyor connection authenticates via email and password to obtain a JWT token for API requests.

Prerequisites

  • A System Surveyor account with API access
  • Account credentials (email and password) provided by the account administrator

Setup Steps

  1. Obtain the account email and password from the System Surveyor account administrator
  2. Determine which API environment to connect to (Production, Staging, or Dev)

Configure the Connection

Create a connection of type Basic Authentication and configure the following fields:

FieldDescription
Base URLThe API environment URL. Defaults to the production environment (https://openapi.systemsurveyor.com). Change to the staging or dev URL if needed.
EmailThe email address associated with the System Surveyor account.
PasswordThe password for the System Surveyor account.

The component authenticates via the Authentication endpoint to obtain a JWT token for subsequent API requests.

InputNotesExample
Base URL

The base URL for the System Surveyor API environment.

https://openapi.systemsurveyor.com
Email

The email address used to authenticate with System Surveyor.

Password

The password for the System Surveyor account.

Triggers

New and Updated Sites

Checks for new and updated sites in System Surveyor on a configured schedule. | key: newOrUpdatedSitesTrigger

InputNotesExample
Connection

The System Surveyor connection to use.

The New and Updated Sites trigger polls the System Surveyor API for newly created or modified sites on a configured schedule.

How It Works

  1. On the first execution, the trigger initializes a timestamp cursor and returns no results
  2. On subsequent executions, the trigger retrieves all sites modified after the stored cursor timestamp
  3. If new or modified sites are found, the trigger returns them and updates the cursor to the current time
  4. If no changes are detected, the trigger reports no changes and updates the cursor

Configuration

FieldDescription
ConnectionA configured System Surveyor connection.

The polling schedule is configured at the integration level and determines how frequently the trigger checks for changes.

Returned Data

The trigger returns an object containing an array of site records that have been created or modified since the last poll:

Example Payload
{
"data": [
{
"id": 123,
"name": "Site Name",
"modified_at": 1700000000
}
]
}

Data Sources

Select Element Profile

Select an element profile from a team's available profiles. | key: selectElementProfile | type: picklist

InputNotesExample
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"result": [
{
"label": "DDTest1",
"key": "133759"
},
{
"label": "Express Operational Test Kit (OTK)",
"key": "9045"
},
{
"label": "Standard Security Profile",
"key": "8120"
}
]
}

Select Site

Select a site from available System Surveyor sites. | key: selectSite | type: picklist

InputNotesExample
Connection

The System Surveyor connection to use.

{
"result": [
{
"label": "Chicago Office",
"key": "7923d9a5-7b45-49d5-ad1a-c8280999f280"
},
{
"label": "Frankfurt Airport",
"key": "2735eae1-910f-4438-b984-87b7e85f1f1e"
},
{
"label": "Los Angeles Data Center",
"key": "6ac251fc-5763-4e21-aa82-0a9efac256e5"
}
]
}

Select Site Survey

Select a survey from a specific System Surveyor site. | key: selectSiteSurvey | type: picklist

InputNotesExample
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

{
"result": [
{
"label": "Building A - Floor 1",
"key": "12345678-1234-1234-1234-123456789012"
},
{
"label": "Building B - Floor 2",
"key": "87654321-4321-4321-4321-210987654321"
}
]
}

Select Team

Select a team from the current user's teams. | key: selectTeam | type: picklist

InputNotesExample
Connection

The System Surveyor connection to use.

{
"result": [
{
"label": "Engineering Team",
"key": "4955"
},
{
"label": "Operations Team",
"key": "5120"
},
{
"label": "Security Team",
"key": "6230"
}
]
}

Actions

Get Element Profile Accessories

Retrieve accessories associated with a specific element profile. | key: getElementProfileAccessories

InputNotesExample
Element ID

The numeric identifier of the element.

68
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"data": [
{
"id": 45,
"team_id": 454,
"element_id": 12,
"description": "Accessory 1",
"manufacturer": "Acme Corp",
"model": "ACM-2000",
"price": 34.55,
"labor_hours": 3.5,
"created_at": 1714764800
}
]
}

Get Site Contacts

Retrieve contacts associated with a specific site. | key: getSiteContacts

InputNotesExample
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

{
"data": [
{
"id": 4501,
"first_name": "Jane",
"last_name": "Smith",
"email": "jane.smith@example.com",
"phone": "+1-555-0123",
"role": "Site Manager"
}
]
}

Get Site Info

Retrieve information about a specific site. | key: getSiteInfo

InputNotesExample
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

{
"data": {
"id": "6ac251fc-5763-4e21-aa82-0a9efac256e5",
"name": "Los Angeles Data Center",
"team": {
"id": 13775,
"name": "John's Team"
},
"creator": {
"user_id": 23123,
"first_name": "John",
"last_name": "Doe"
},
"created_at": 1714764800,
"modified_at": 1714851200,
"survey_count": 3,
"address": "Los Angeles, CA"
}
}

Get Sites and Folders

Retrieve a list of sites and folders accessible to the user. | key: getSitesAndFolders

InputNotesExample
Fetch All

When true, automatically fetches all pages of results using pagination. When false, returns a single page based on the Page Number and Page Size inputs.

false
Modified After

Filters results to only include records modified after this Unix UTC epoch timestamp. Leave blank to retrieve all records.

1672531199
Page Number

The 1-based page number to retrieve. Used when Fetch All is disabled.

1
Page Size

The number of records per page. Used when Fetch All is disabled.

50
Connection

The System Surveyor connection to use.

{
"data": {
"sites": [
{
"id": "7923d9a5-7b45-49d5-ad1a-c8280999f280",
"name": "Chicago Office",
"survey_count": 1,
"site_count": null,
"type": "site",
"version": 1752892675,
"favorite_timestamp": null,
"has_favorite_sites": null,
"custom_site_id": "",
"customer_external_id": null,
"permissions": {
"is_site_guest": false,
"user_can_edit_site": true,
"user_can_change_site_access": true,
"user_can_invite_guests": true,
"user_can_delete_surveys": true,
"user_can_create_surveys": true,
"user_can_modify_surveys": true,
"user_can_revoke_survey_edit": true,
"user_can_edit_contacts": true,
"user_can_view_site_access": true
},
"owner": {
"user_id": 20332,
"first_name": "Zach",
"last_name": "Walders"
},
"modified_at": 1752892675,
"modifier": null,
"team": {
"team_id": 13775,
"name": "Arjun's Team"
}
}
]
}
}

Get Survey

Retrieve information about a specific survey. | key: getSurvey

InputNotesExample
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

Survey ID

The unique identifier (UUID) of the survey.

12345678-1234-1234-1234-123456789012

{
"data": {
"id": "12345678-1234-1234-1234-123456789012",
"name": "Building A - Floor 1",
"site_id": "6ac251fc-5763-4e21-aa82-0a9efac256e5",
"created_at": 1714764800,
"modified_at": 1714851200,
"element_count": 24
}
}

Get Team Members

Retrieve all members of a specific team. | key: getTeamMembers

InputNotesExample
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"data": [
{
"id": 4500,
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"role": "admin",
"team_id": 4955,
"created_at": 1714764800
}
]
}

Get Team System Types

Retrieve all system type elements available for a specific team. | key: getTeamSystemTypes

InputNotesExample
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"data": [
{
"id": 412,
"name": "Access Control",
"icon": "access-control",
"sort": 0,
"team_id": 4955
}
]
}

Health Check

Check the health of the System Surveyor API connection. | key: healthCheck

InputNotesExample
Connection

The System Surveyor connection to use.

{
"data": {
"status": "ok"
}
}

List Deleted Sites

Retrieve a list of deleted sites. | key: listDeletedSites

InputNotesExample
Fetch All

When true, automatically fetches all pages of results using pagination. When false, returns a single page based on the Page Number and Page Size inputs.

false
Page Number

The 1-based page number to retrieve. Used when Fetch All is disabled.

1
Page Size

The number of records per page. Used when Fetch All is disabled.

50
Connection

The System Surveyor connection to use.

{
"data": [
{
"id": "a1b2c3d4-5e6f-7a8b-9c0d-e1f2a3b4c5d6",
"name": "Decommissioned Warehouse",
"deleted_at": 1714851200,
"team": {
"id": 13775,
"name": "John's Team"
}
}
]
}

List Element Profiles

Retrieve element profiles available for a specific team. | key: listElementProfiles

InputNotesExample
Fetch All

When true, automatically fetches all pages of results using pagination. When false, returns a single page based on the Page Number and Page Size inputs.

false
Page Number

The 1-based page number to retrieve. Used when Fetch All is disabled.

1
Page Size

The number of records per page. Used when Fetch All is disabled.

50
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"data": {
"count": 23,
"ep_accessories": [
{
"id": 0,
"team_id": 0,
"element_id": 0,
"description": "Accessory 1",
"manufacturer": "string",
"model": "string",
"price": 0.1,
"labor_hours": 0.1,
"created_at": 0
}
]
}
}

List Reports

Retrieve all reports created by the current user. | key: listReports

InputNotesExample
Connection

The System Surveyor connection to use.

{
"data": [
{
"id": "c3bfec95-bfaf-4c3c-b97d-403e71ea0f41",
"name": "Bill of Materials 1",
"file_path": "string",
"token": "c3bfe",
"status": "requested",
"type": "pdf",
"expires_at": 59045010,
"site_id": 45651,
"survey_id": 90563
}
]
}

List Site Surveys

Retrieve a list of surveys and folders for a specific site. | key: listSiteSurveys

InputNotesExample
Fetch All

When true, automatically fetches all pages of results using pagination. When false, returns a single page based on the Page Number and Page Size inputs.

false
Page Number

The 1-based page number to retrieve. Used when Fetch All is disabled.

1
Page Size

The number of records per page. Used when Fetch All is disabled.

50
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

{
"data": {
"surveys": [
{
"id": "12345678-1234-1234-1234-123456789012",
"name": "Building A - Floor 1",
"type": "survey",
"created_at": 1714764800,
"modified_at": 1714851200,
"element_count": 24
}
]
}
}

List Sites

Retrieve a list of sites accessible to the user. | key: listSites

InputNotesExample
Fetch All

When true, automatically fetches all pages of results using pagination. When false, returns a single page based on the Page Number and Page Size inputs.

false
Modified After

Filters results to only include records modified after this Unix UTC epoch timestamp. Leave blank to retrieve all records.

1672531199
Page Number

The 1-based page number to retrieve. Used when Fetch All is disabled.

1
Page Size

The number of records per page. Used when Fetch All is disabled.

50
Connection

The System Surveyor connection to use.

{
"data": [
{
"id": "2735eae1-910f-4438-b984-87b7e85f1f1e",
"name": "Frankfurt Airport",
"team": {
"id": 13775,
"name": "John's Team"
},
"version": 1755150152,
"creator": {
"user_id": 23123,
"first_name": "John",
"last_name": "Doe"
},
"modifier": null,
"created_at": 1755150152,
"modified_at": 1755182104,
"survey_count": 1,
"favorited_ts": null,
"reference_id": "frankfurt-airport",
"address": "Frankfurt, Germany",
"customer_external_id": "CUST-00123"
}
]
}

List Teams

Retrieve all teams the current user is a member of. | key: listTeams

InputNotesExample
Connection

The System Surveyor connection to use.

{
"data": [
{
"id": 4955,
"name": "Engineering Team",
"created_at": 1714764800,
"modified_at": 1714851200
}
]
}

Raw Request

Send raw HTTP request to System Surveyor. | key: rawRequest

InputNotesExample
Connection

The System Surveyor connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/v3/sites). For example, to access the sites endpoint (https://openapi.systemsurveyor.com/v3/sites), enter /v3/sites.

/v3/sites
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Register Webhook

Register a new webhook endpoint. | key: registerWebhook

InputNotesExample
Account ID

The internal ID of the System Surveyor account to register the webhook for.

690560
Customer ID

The external customer ID associated with this account.

67890
Webhook Name

A name identifier for the webhook.

create_netsuite_quote
Connection

The System Surveyor connection to use.

Webhook URL

The URL to which the webhook will send POST requests.

https://mydomain.com/webhook-endpoint

{
"data": {
"id": 4954,
"customer_id": "453590",
"account_id": "453590",
"name": "create_netsuite_quote",
"url": "https://mydomain.com/webhook-endpoint",
"created_at": 1714764800,
"created_by": 4509
}
}

Schedule Report

Schedule a report to be generated and uploaded to the reports storage. | key: scheduleReport

InputNotesExample
Is Site Report

Whether the report is generated at the site level. Set to true for site-level reports, false for survey-level reports.

true
Report Definition ID

The external ID of the report definition the new report belongs to.

d290f1ee-6c54-4b01-90e6-7e7f57220995
Report Name

The display name assigned to the generated report output.

Monthly Security Report
Report Type

The format for the generated report.

xls
Site ID

The unique identifier (UUID) of the site.

6ac251fc-5763-4e21-aa82-0a9efac256e5
Connection

The System Surveyor connection to use.

Survey IDs

A list of survey UUID identifiers to include in the request.

6ac251fc-5763-4e21-aa82-0a9efac256e5

{
"data": {
"report_id": "f4b8e8d2-3c4b-4f7a-9f2d-1e2b3c4d5e6f"
}
}

Sync Element Profile

Create a new or update an existing Element Profile. | key: syncElementProfile

InputNotesExample
Accessories

A JSON array of accessory objects to assign to the element profile. Each object requires an attribute_id and a value. See the Element Profiles API reference for the full schema.

Content

A JSON array of attribute objects to assign to the element profile. Each object requires an attribute_id and a value. See the Element Profiles API reference for the full schema.

Element ID

The numeric identifier of the element.

68
Element Profile Name

The display name assigned to the element profile in System Surveyor.

ACP Server - SW - 11TB
Connection

The System Surveyor connection to use.

Team ID

The unique identifier for the team in System Surveyor.

33434

{
"data": {
"id": 9045,
"name": "Express Operational Test Kit (OTK)",
"is_default": true,
"sort": 0,
"created_by": 4500,
"team_id": 4955,
"element_id": 412,
"created_at": 1714764800,
"modified_at": 1714851200,
"content": {
"attribute": [
{
"attribute_id": 455,
"value": "49494A"
}
]
},
"accessories": [
{
"id": 45,
"team_id": 454,
"element_id": 12,
"description": "Accessory 1",
"manufacturer": "Acme Corp",
"model": "ACM-2000",
"price": 34.55,
"labor_hours": 3.5,
"created_at": 1714764800
}
]
}
}

Changelog

2026-03-27

Initial release of System Surveyor component with integration capabilities:

  • Site management actions: Get Site Info, Get Sites and Folders, List Sites, List Deleted Sites, Get Site Contacts, Get Bill of Materials Data, List Site Surveys
  • Get Survey action for retrieving survey details
  • Sync Element Profile action for creating or updating element profiles
  • Schedule Report action for report generation
  • Register Webhook action for webhook endpoint registration
  • New and Updated Sites polling trigger for detecting newly created or modified sites
  • Select Site and Select Site Survey data sources for improved input selection
  • Raw Request action for making custom API calls
  • Health Check action for verifying API connectivity