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: ssvApiKeyConnectionThe 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
- Contact the System Surveyor account administrator to obtain an enterprise access token
- 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:
| Field | Description |
|---|---|
| Base URL | The API environment URL. Defaults to the production environment (https://openapi.systemsurveyor.com). Change to the staging or dev URL if needed. |
| API Key | The enterprise access token generated by an account administrator. |
| Input | Notes | Example |
|---|---|---|
| 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: ssvTokenConnectionThe 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
- Obtain the account email and password from the System Surveyor account administrator
- 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:
| Field | Description |
|---|---|
| Base URL | The API environment URL. Defaults to the production environment (https://openapi.systemsurveyor.com). Change to the staging or dev URL if needed. |
| The email address associated with the System Surveyor account. | |
| Password | The password for the System Surveyor account. |
The component authenticates via the Authentication endpoint to obtain a JWT token for subsequent API requests.
| Input | Notes | Example |
|---|---|---|
| Base URL | The base URL for the System Surveyor API environment. | https://openapi.systemsurveyor.com |
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
| Input | Notes | Example |
|---|---|---|
| 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
- On the first execution, the trigger initializes a timestamp cursor and returns no results
- On subsequent executions, the trigger retrieves all sites modified after the stored cursor timestamp
- If new or modified sites are found, the trigger returns them and updates the cursor to the current time
- If no changes are detected, the trigger reports no changes and updates the cursor
Configuration
| Field | Description |
|---|---|
| Connection | A 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Connection | The System Surveyor connection to use. |
{
"data": {
"status": "ok"
}
}
List Deleted Sites
Retrieve a list of deleted sites. | key: listDeletedSites
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| 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
| Input | Notes | Example |
|---|---|---|
| Accessories | A JSON array of accessory objects to assign to the element profile. Each object requires an | |
| Content | A JSON array of attribute objects to assign to the element profile. Each object requires an | |
| 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