SoterHelp Centre

CCTV: Turning Camera Footage into Safety Insight

#BuildWithSoter
Community Workflow Guide

Build Your Own CCTV Safety Monitor

One of our customers built this entirely inside SoterAI — no extra software, no per-camera fees. This guide shows you how to replicate it.

Want help building this for your own cameras? We'll walk you through it — free.

Schedule a walkthrough

What You're Building

An automated safety monitoring workflow that:

  • Pulls a snapshot from your CCTV camera every hour (or any frequency you choose)
  • Runs a full AI hazard analysis on the image — scene description, missing controls, OSHA violations, recommended actions
  • Automatically creates a hazard record and/or notifies your team if something is flagged
  • Requires zero manual effort once set up

Before You Start

You'll need three things:

RequirementDetails
A cloud-connected CCTV systemMust support scheduled snapshot export (see platform guides below)
A cloud storage folderSharePoint (recommended for Microsoft 365 users) or Google Drive
A SoterAI accountWith access to Custom Workflows and Connectors

Does My CCTV System Support This?

Most modern enterprise CCTV platforms support scheduled snapshot export natively. Select your platform below to see its setup guide.

Milestone XProtect

Genetec Security Center

Avigilon Alta

Motorola Solutions

Hikvision

Hanwha Vision

Wisenet

Axis Communications

Verkada

Milestone XProtect

Automated

Capture method — Rule Engine + Export

How to set it up:

  1. 1In XProtect Smart Client, navigate to the Exports tab
  2. 2Add your camera's video sequence to the export list
  3. 3Select Export as still images as the format
  4. 4Under Still image format settings, enable Add date and time — this stamps the timestamp on the image
  5. 5Set the Export destination to your synced OneDrive/SharePoint folder
  6. 6For automated recurring exports, use Milestone's Rule Engine to trigger snapshot saves on a time-based schedule

Milestone's Rule Engine (in Management Client) lets you create a time-triggered rule that automatically saves a snapshot to a network folder at a set interval — no manual export needed once configured.

Don't see your platform?

Most enterprise CCTV systems support one of these methods:

  • FTP upload on a schedule — most camera-level systems (Hikvision, Hanwha, Axis, Dahua)
  • Network share / mapped drive output — most VMS platforms
  • API / webhook — cloud-native platforms like Verkada

If your platform isn't listed, search your vendor's help center for “scheduled snapshot,” “timed image capture,” “FTP upload,” or “image export automation.” If you get stuck, contact us and we'll help you figure it out.

1

Configure Your Camera to Export Snapshots

In your CCTV platform (using the guide above), configure it to:

Output formatJPEG or PNG
FrequencyEvery hour (or every 10–30 minutes for higher coverage)
Filename formatInclude a timestamp — e.g. camera1_2026-08-06_14-00.jpg. Timestamped filenames let SoterAI understand when each image was taken
DestinationYour SharePoint folder or Google Drive folder (see Step 2)
2

Set Up Your Cloud Folder

Create a dedicated folder in SharePoint or Google Drive for your camera snapshots. Keep it clean — only snapshots from this camera should go here.

Recommended folder structure:

SoterAI-CCTV/
📁 Camera-1-LoadingDock/
📁 Camera-2-WasteArea/

Point your CCTV system's export destination to the relevant subfolder.

One folder per camera makes it easy to run separate workflows with different instructions for each area.

3

Connect SoterAI to Your Cloud Folder

  1. 1In SoterAI, go to Connectors
  2. 2Connect your Microsoft SharePoint or Google Drive account
  3. 3Grant SoterAI read access to the folder you created in Step 2
  4. 4Test the connection — you should be able to browse to your snapshot folder

Privacy note: SoterAI connects to your cloud storage folder only — it never connects directly to your camera system or CCTV network. Your video footage stays on your infrastructure.

4

Build Your Custom Workflow

This is where you define what the AI looks for and what it does with what it finds.

4a. Create a New Custom Workflow

In SoterAI, navigate to Workflows → Create a Workflow. See Creating Custom Workflows for a full walkthrough of the builder.

4b. Set the Image Source

In your workflow instructions, tell SoterAI where to find the images:

“Pull the most recent image uploaded to [your SharePoint folder path] in the last hour.”

Or for higher frequency setups: “Pull all images uploaded to [folder path] in the last 30 minutes.”

4c. Write Your Analysis Instructions

This is the most important step. Be specific about what you want the AI to look for. Here's a template to start from:

Workflow Prompt Template

You are a workplace safety analyst reviewing CCTV snapshots.

Look in the following folder and pull all images created in the
last hour:

📁 [YOUR FOLDER PATH HERE — e.g. "SoterAI-CCTV/Camera-1-LoadingDock"]

For each image found, analyze it and provide:

1. SCENE DESCRIPTION — Describe what you see in the area.
   What work appears to be happening? What equipment, materials,
   or people are visible?

2. HAZARD ANALYSIS — Identify any hazards, unsafe conditions,
   or missing controls. This should include two parts:

   SPECIFIC FOCUS AREAS (things this camera is always checked for):

   - [Your specific item 1 — e.g. "Is the emergency exit clear
     and unobstructed?"]

   - [Your specific item 2 — e.g. "Is the spill kit present
     and accessible?"]

   - [Your specific item 3 — e.g. "Are hazardous waste containers
     properly closed and labeled?"]

   GENERAL SAFETY SCAN (apply to every image regardless of area):
   Look for anything that appears dangerous, non-compliant, or
   likely to cause injury — even if not listed above. This includes
   but is not limited to:

   - Blocked or obstructed emergency exits, aisles, or fire equipment

   - Missing, damaged, or inaccessible safety equipment

   - Unsafe stacking, storage, or placement of materials

   - Slip, trip, or fall hazards

   - Visible spills or leaks

   - Electrical hazards or exposed wiring

   - Lack of appropriate signage or warnings

   - Any condition that would likely fail an OSHA inspection

3. CONTROLS ASSESSMENT — What controls are in place?
   What controls are missing or inadequate?

4. RECOMMENDED ACTIONS — What should be done, by whom,
   and with what urgency?

5. OVERALL RATING — Rate the scene: Safe / Monitor / Action Required

   - Safe: No significant hazards observed

   - Monitor: Minor issues noted, no immediate risk but worth tracking

   - Action Required: A hazard exists that needs prompt attention

---

RECORD CREATION

If the Overall Rating for any image is "Monitor" or "Action
Required", create a Hazard record in SoterAI with the following
fields:

   - Title: Brief description of the hazard observed

   - Location: [YOUR CAMERA LOCATION — e.g. "East Loading Dock"]

   - Description: Full findings from steps 1–4 above

   - Severity: Based on your assessment (Low / Medium / High)

   - Image: Attach the snapshot that triggered the record

   - Timestamp: Date and time from the image filename

⚠️ Note: The fields above reflect the default SoterAI Hazard
record type. If your workspace uses a customised Hazard record
with different fields, update this section to match your own
field names and options. Ask your SoterAI workspace admin if
you are unsure what fields are available.

Before writing your prompt, spend 10 minutes in Risk Intelligence reviewing the common hazard types for this area of your facility. Use those as your specific focus items — the AI will be much more targeted and useful.

Not sure what fields your Hazard record type supports? See Setting Up and Managing Your Record Types.

4d. Set the Workflow Output Action

When the AI identifies a hazard, you have two options — or use both together:

Option A

Create a Hazard Record

Record type: Hazard. Trigger: when the AI rates the scene as “Monitor” or “Action Required.” Auto-populates scene description, hazards identified, recommended actions, image timestamp, and camera location. See Creating Records with AI Assistance.

Option B

Send a Notification

Alert a user or team directly when something is flagged. Notifications are delivered in-app and via email based on each user's preferences.

Using both together is recommended �� create the record for audit trail and traceability, and send a notification so the right person knows to act immediately.

5

Schedule the Workflow

For a full breakdown of scheduling options, see Scheduling Workflows.

  1. 1In your workflow settings, enable Scheduled Run
  2. 2Set the frequency to match your camera's snapshot interval — e.g. every 1 hour
  3. 3Set the start time and confirm the schedule
  4. 4Save and activate

Offset your workflow schedule by 5–10 minutes after your camera's export time. This gives the image time to land in the folder before SoterAI goes looking for it. For example: camera exports at :00, workflow runs at :10.

6

Test It

Before leaving it to run automatically:

  • Manually trigger the workflow once
  • Check that it found the correct image in your folder
  • Review the AI's analysis — does it match what you'd expect from that area?
  • If a hazard was found, confirm the hazard record was created and/or notification was sent correctly
  • Adjust your prompt if the analysis is too broad, too narrow, or missing your key focus areas

What to Expect

The honest trade-off: this is a scheduled inspection tool, not a live monitoring system. Think of it as an automated safety walkthrough — every hour, without sending anyone out. It's excellent for persistent physical hazards and compliance checks. It's not designed to catch fast-moving behavioral events.

ScenarioWhat SoterAI Will CatchWhat It May Miss
Blocked emergency exitAlmost always — it's persistentIf cleared between snapshots
Missing spill kitVisible in most framesIf temporarily moved and returned
Housekeeping / clutterPersistent physical hazards
Improper storage / labelingVisible in image
PPE non-compliance (person)Only if person is in frame at snapshot timeBrief / fast-moving events
Forklift near-missHappens in seconds — likely to occur between snapshots

Real-world example

Hazardous Waste Area Monitor

Here's how one SoterAI customer set this up for their hazardous waste storage area.

Camera

Fixed camera covering the 90-day hazardous waste storage zone

Frequency

Every hour

Focus items:

  • Emergency exit clear and unobstructed
  • Spill kit present and accessible
  • Waste containers closed and labeled
  • No unauthorized personnel in the area
  • Aisle widths maintained (no blocking materials)

Output

Hazard record auto-created + safety manager notified via in-app alert and email

Result

The workflow ran hourly, flagged a blocked exit on a Tuesday afternoon, auto-created a hazard record, and the issue was resolved within 2 hours — something that would have gone unnoticed until the next scheduled inspection.

Frequently Asked Questions

Built by the Community, for the Community

This workflow was originally built by a SoterAI customer who stitched together Hazard Identification, Custom Workflows, and Scheduled Runs — three existing SoterAI features — into something entirely new. That's what #BuildWithSoter is about: sharing what you've built so others can learn from it.

#BuildWithSoter

Want help building this for your own cameras?

Book a short walkthrough with our team. We'll help you map out the connector, the prompt, and the record types for your facility — free, no obligation.

  • A live walkthrough of this exact workflow
  • Guidance tailored to your CCTV provider
  • Answers to any setup questions along the way

Related articles

Was this article helpful?