CRM migration

Migrate from FotoNotes to HighLevel

Field-level mapping, validation, and rollback between FotoNotes and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.

FotoNotes logo

FotoNotes

Source

HighLevel

Destination

HighLevel logo

Compatibility

100%

12 of 12

objects map 1:1 between FotoNotes and HighLevel.

Complexity

BStandard

Timeline

48–72 hours

Rollback included Accuracy guarantee Field-level validation

Overview

What this migration involves

FotoNotes organizes field operations around a container (property) and containee (work order) hierarchy: each property holds multiple work orders, and each work order can contain photos, notes, and status updates tied to specific field users or vendors. HighLevel's data model centers on Contacts and Companies with Opportunities for pipeline tracking, plus a separate Workflows engine for automation logic. These architectures do not align natively — FotoNotes has no direct CRM contact model, and HighLevel has no native property-inspection object — so the migration requires structural translation: FotoNotes properties map to HighLevel Companies, work orders map to Opportunities with custom fields capturing inspection metadata, and FotoNotes contact records (field users, customers, vendors) map to HighLevel Contacts. FlitStack AI extracts FotoNotes data via API including container relationships, containee work orders, photo references, and custom fields, transforms the hierarchy into HighLevel's flat CRM model, and delivers the mapped dataset with a field-level diff before the full run. Workflows, vendor assignments, and inspection-triggered automations do not migrate — they must be rebuilt in HighLevel's Workflows builder using exported FotoNotes configuration as a reference. The migration operates on scoped read access with a delta-pickup window during cutover so FotoNotes remains fully operational throughout.

Field-level fidelity

Every standard and custom field arrives verified.

Schema-aware mapping

AI proposes the map; you confirm before any record moves.

Relationships preserved

Parent–child, lookups, and ownership stay linked.

Full activity history

Calls, emails, meetings — with original timestamps.

Attachments & notes

Documents, uploads, and inline notes move with the record.

Why teams make this switch

Two sides of the same decision

Leaving

FotoNotes logo

FotoNotes

What's pushing teams away

  • Status updates on work orders sometimes fail to sync across the web portal and mobile app, causing field supervisors to lose visibility on which properties have been completed.
  • The platform rebranded from FotoNotes to SiteCapture in 2022, and the two product names cause confusion during vendor evaluation and support escalation — existing customers on the legacy FotoNotes branding struggle to locate updated documentation and pricing pages.
  • Batch report generation is an admin-only feature, so front-line field managers who need on-demand PDF summaries must request exports from a portal admin rather than generating them independently.
  • Custom fields created via templates are per-account and not easily documented — when migrating off platform, the complete field schema requires manual enumeration from within the portal admin settings.

Choosing

HighLevel logo

HighLevel

What's pulling them in

  • Agencies choose HighLevel to consolidate CRM, email, SMS, scheduling, and funnels into one subscription, eliminating monthly bills for five to ten separate SaaS tools they previously stitched together.
  • The flat-rate pricing model bills per sub-account rather than per contact, so growing a contact database from 1,000 to 100,000 records does not trigger a billing surprise—a common pain point avoided by migrating customers.
  • White-label and sub-account capabilities let agencies resell HighLevel access to their own clients, turning a software cost center into a recurring revenue stream that justifies the subscription.
  • The platform ships a 14-day free trial with no credit card required, giving teams a low-friction entry point to validate fit before committing to the $97/month Starter tier.
  • Marketing agencies managing multiple client accounts use sub-accounts to maintain data isolation per client while operating under a single agency billing relationship with HighLevel.

Object mapping

How FotoNotes objects map to HighLevel

Each row shows how a FotoNotes object lands in HighLevel, including any object-level transformations, lookup resolution, or schema-design dependencies.

Typical mapping — final map is confirmed during the sample migration step.

FotoNotes

Container (Property)

maps to

HighLevel

Company

1:1
Fully supported

FotoNotes containers (properties) map directly to HighLevel Companies. Property name becomes Company name, address fields map to the address compound field, and the container ID is stored as a custom field (Source_Container_ID__c) for traceability back to FotoNotes. This mapping also preserves the original creation timestamp in a separate custom datetime field for audit purposes.

FotoNotes

Containee (Work Order)

maps to

HighLevel

Opportunity

1:1
Fully supported

Work orders (containees) translate to HighLevel Opportunities with custom fields capturing the original work order type, status, and priority. The parent container ID maps to the related Company via HighLevel's custom relationship field so the property-opportunity link is preserved, ensuring that historical inspection context remains accessible after migration.

FotoNotes

Customer (Portal-facing contact)

maps to

HighLevel

Contact

1:1
Fully supported

FotoNotes customers who can view assigned projects map to HighLevel Contacts. Customer name, email, and phone transfer directly. The customer's associated container (property) maps to the related HighLevel Company via the custom relationship field. Additionally, any portal‑level permissions associated with the customer record are recorded in a custom text field (Portal_Permissions__c) for future reference in HighLevel's access‑control configuration.

FotoNotes

Field User

maps to

HighLevel

Contact

1:1
Fully supported

Field users who complete inspections map to HighLevel Contacts. Their role (Field User) is stored as a custom pick-list field (Field_User_Role__c) since HighLevel does not have a native field-user role concept. Email and phone transfer directly. The migration also captures the user's last inspection date from FotoNotes and stores it in a custom datetime field (Last_Inspection_Date__c) on the Contact record for performance tracking.

FotoNotes

Vendor

maps to

HighLevel

Contact

1:1
Fully supported

FotoNotes vendor records map to HighLevel Contacts with a custom field (Vendor_ID__c) storing the original FotoNotes vendor identifier. Vendor admins and vendor field users both land as Contacts with role-stamped custom fields. Additionally, the vendor's primary service category is recorded in a custom pick-list field (Vendor_Service_Category__c) to support segmentation and routing of work orders within HighLevel's pipeline.

FotoNotes

Photo / Attachment

maps to

HighLevel

File

1:1
Fully supported

FotoNotes photos attached to work orders download and re-upload to HighLevel as Files attached to the corresponding Opportunity. Photo flag status (flagged/unflagged) migrates as a custom pick-list field (Photo_Flag_Status__c) on the file record. The original photo capture timestamp is preserved in a custom datetime field (Photo_Capture_Date__c) on the File record to maintain the temporal context of each inspection image.

FotoNotes

Comments / Notes on Work Orders

maps to

HighLevel

Notes

1:1
Fully supported

Work order comments migrate as HighLevel Notes attached to the Opportunity. Original author (field user or vendor) maps to the Note owner field, and the comment timestamp is preserved in the Note creation date. If a comment contains an @mention of another user, the mention is converted to a note tag in HighLevel to preserve collaborative context.

FotoNotes

Work Order Template

maps to

HighLevel

Custom Field Set

1:1
Fully supported

FotoNotes templates that define work order structure (containee types, display lines, required fields) have no direct HighLevel equivalent. We preserve template definitions as a JSON export for reference when rebuilding HighLevel custom field configurations. The JSON also includes any conditional logic or field dependencies originally configured in the template, which can inform automation rules in HighLevel's Workflows builder.

FotoNotes

Batch Report

maps to

HighLevel

Custom Report

1:1
Fully supported

FotoNotes batch PDF reports and bulk exports are file outputs, not data objects. These are not migrated as reports; the underlying work order data migrates to HighLevel so reports can be rebuilt using HighLevel's reporting tools. Any specific report layouts, column order, or grouping preferences are documented in a reference CSV that your team can use as a blueprint for recreating the reports in HighLevel.

FotoNotes

Custom Fields on Container

maps to

HighLevel

Custom Fields on Company

1:1
Fully supported

Any custom fields defined on FotoNotes containers (properties) are created as custom fields on the HighLevel Company object (e.g., Property_Type__c, Inspection_Schedule__c). Field type mapping follows FotoNotes type-to-HighLevel type correspondence. If a FotoNotes field uses a pick‑list, the allowed values are imported as HighLevel pick‑list options, preserving the original set of choices for downstream automation conditions.

FotoNotes

Custom Fields on Containee (Work Order)

maps to

HighLevel

Custom Fields on Opportunity

1:1
Fully supported

Custom fields on FotoNotes work orders (containees) become custom fields on the HighLevel Opportunity (e.g., Inspection_Result__c, Priority_Level__c). Pick-list values map value-by-value to HighLevel pick-list custom fields. For any numeric or currency fields, FlitStack AI ensures that the field’s precision and scale match the original FotoNotes definition to avoid data truncation during migration.

FotoNotes

Activity Log (on Work Order)

maps to

HighLevel

Activity / Task

1:1
Fully supported

FotoNotes activity log entries recording work order status changes, assignments, and completions migrate as HighLevel Tasks attached to the Opportunity, preserving the original timestamp and assigning to the resolved HighLevel user by email match. If an activity entry references a vendor or field user not yet present in HighLevel, FlitStack AI creates a placeholder Contact record with the original identifier to ensure no activity history is lost.

Gotchas + challenges

What specifically takes care here

Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.

FotoNotes logo

FotoNotes gotchas

High

Container-to-contained field inheritance is implicit

Medium

Batch PDF reports are the only bulk export mechanism

Medium

Vendor sub-accounts require hierarchical mapping

Low

FotoNotes is now SiteCapture — documentation split

HighLevel logo

HighLevel gotchas

High

Sub-account architecture creates isolated data silos per client

High

Usage-based telecom and AI costs are not in the subscription price

Medium

Workflows have no native equivalent in most destination CRMs

Medium

API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account

Low

White-label configuration and branding assets do not export via API

Pair-specific challenges

  • FotoNotes container/containee hierarchy has no native HighLevel equivalent

    FotoNotes structures data as a parent container (property) containing multiple containees (work orders). HighLevel's CRM model is flat — Contacts and Companies are top-level objects, and Opportunities attach to Companies. FlitStack AI flattens this hierarchy by mapping containers to Companies and containees to Opportunities with a custom relationship field (Related_Property__c) pointing back to the Company. However, this means nested container hierarchies (parent properties with child sub-properties) collapse to separate Company records with a custom Parent_Company_ID__c field for reference rather than a native parent-child relationship.

  • HighLevel API rate limits constrain bulk import throughput

    HighLevel's API 2.0 enforces 200,000 requests per day and 100 requests per 10 seconds per sub-account. For FotoNotes migrations with large photo libraries or bulk work order imports, FlitStack AI batches API writes within these limits and uses HighLevel's bulk import endpoints where available. Large FotoNotes deployments (50,000+ work orders) may require multi-day migration runs to stay within rate limits, which extends the timeline but does not cause data loss.

  • Work order templates require manual rebuild as custom field sets

    FotoNotes work order templates define containee structure — which display lines appear, which fields are required, and which field types are used. These templates do not have a HighLevel equivalent because HighLevel does not have a native work-order or inspection object. FlitStack AI exports template definitions as JSON and delivers them alongside the migration, so a HighLevel admin can recreate the field configuration as Opportunity custom fields. The migration itself migrates data only; template logic must be rebuilt.

  • Vendor and field user roles map to Contact custom fields, not native roles

    FotoNotes defines seven distinct role types (Portal Admin, Manager, User, Field User, Customer, Vendor Admin, Vendor Field User) with permission hierarchies tied to each role. HighLevel's permission model is location-based and sub-account-scoped — there is no native concept of a Field User role. FlitStack AI migrates role information as a custom pick-list field on the Contact record (FotoNotes_Role__c), but access controls and sharing rules must be reconfigured in HighLevel based on the exported role definitions.

  • Batch reports and PDF exports do not migrate — underlying data does

    FotoNotes batch PDF reports and bulk download exports are rendered file outputs, not underlying data records. HighLevel cannot import PDF exports directly. FlitStack AI migrates the underlying work order data to HighLevel Opportunities so that reporting can be rebuilt in HighLevel's reporting tools. If your team relies on specific FotoNotes report formats, those formats must be redesigned in HighLevel using the migrated Opportunity data as the source. In addition, any custom charts, graphs, or filters originally defined in FotoNotes should be recreated as HighLevel dashboard widgets using the migrated Opportunity fields.

Migration approach

Six steps for a successful FotoNotes to HighLevel data migration

  1. Audit FotoNotes data structure and export data via API

    FlitStack AI connects to FotoNotes using available API endpoints or structured export tools to pull containers (properties), containees (work orders), contacts (customers, field users, vendors), photos, comments, and activity logs. We document custom fields on containers and containees, identify template definitions, and flag any nested container hierarchies before mapping begins. A pre-migration data quality report identifies missing emails on contacts, orphaned containees, and duplicate records that need resolution before the migration run.

  2. Design HighLevel schema: Companies, Contacts, and Opportunity custom fields

    Before data lands, we create the HighLevel custom fields needed for FotoNotes metadata — Work_Order_Type__c, Priority__c, Original_Create_Date__c, Photo_Flag_Status__c, and FotoNotes_Role__c on the appropriate objects. We also configure the custom relationship field (Related_Property__c) linking Opportunities to Companies. A schema setup plan is delivered so your HighLevel admin can review and approve field configurations before the migration validates against them. We also verify that each field type (text, number, pick‑list, date) aligns with HighLevel's supported types, and we record the pick‑list values for later validation.

  3. Run a sample migration with field-level diff

    A representative slice of FotoNotes data — typically 100–500 records spanning properties, work orders, contacts, and photos — migrates to HighLevel first. We generate a field-level diff comparing source values to destination values so you can verify containee-to-opportunity mapping, custom field population, photo attachment links, and contact-role assignment before the full run commits. Sample approval unlocks the full migration. The sample run also checks for any API throttling issues and validates that photo flags map correctly to the Photo_Flag_Status__c field.

  4. Execute full migration with scoped read access and delta pickup

    The full migration runs against HighLevel's API with rate-limit-aware batching. Your team continues working in FotoNotes during the migration window. A delta-pickup window (typically 24–48 hours) captures any new work orders, updated statuses, or newly attached photos created during cutover. Audit logs capture every record written, and a post-migration reconciliation report compares record counts by object against the FotoNotes source export.

  5. Deliver export package for workflow rebuild

    FlitStack AI exports FotoNotes work order template definitions as JSON, role-permission configurations as CSV, and batch report layouts as reference documents. These exports give your HighLevel admin or implementation partner the configuration reference needed to rebuild inspection-triggered automations in HighLevel's Workflows engine. Post-migration support includes a 30-day reconciliation window where any incorrectly mapped records can be flagged and corrected. Additionally, the export package contains a field-mapping spreadsheet that lists each source field alongside its HighLevel destination, making it easier to audit the migration during the reconciliation period.

Platform deep dives

Context on both ends of the pair

FotoNotes logo

FotoNotes

Source

Strengths

  • Photo-first inspection workflow with mobile app capture and cloud sync across devices
  • Container/containee data model reduces duplicate property data across large portfolios
  • Supports seven distinct user roles including vendor admin and customer read-only access
  • Batch PDF report exports allow portfolio-level review across multiple properties at once
  • Field user mobile app works offline and syncs when connectivity is restored

Weaknesses

  • The FotoNotes-to-SiteCapture rebranding splits web presence and creates documentation gaps for legacy customers
  • Granular role-based permissions require careful mapping during migration — vendor admin and customer roles do not map directly to standard CRM roles
  • Custom work type templates vary by account, making schema extraction non-trivial without direct portal admin access
  • Status synchronization issues between web and mobile are an ongoing pain point reported in user reviews
  • No publicly documented public API means programmatic data export relies on the admin batch report feature rather than a REST endpoint
HighLevel logo

HighLevel

Destination

Strengths

  • Consolidates CRM, marketing automation, email, SMS, scheduling, and funnels into one platform at a predictable flat monthly rate.
  • Supports unlimited contacts and unlimited users on all paid tiers, removing per-record billing anxiety as databases grow.
  • Offers white-label and sub-account capabilities that let agencies resell access and manage multiple client environments under one billing relationship.
  • Includes built-in review management, reputation monitoring, and AI agents as native features rather than third-party add-ons.
  • Exports Contacts and Companies via a scalable async bulk CSV system that handles multi-million-row datasets without blocking the UI.

Weaknesses

  • The breadth of features creates a steep learning curve; advanced automations and Workflow configuration require significant time investment that smaller teams may not recover.
  • The platform charges usage-based fees for telecommunications and AI features that are not included in the base subscription, leading to bill surprises.
  • Recurring user reports on Reddit and G2 describe bugs, errors, and slow support response times that disrupt live marketing and sales operations.
  • Sub-account architecture, while powerful for agencies, adds migration complexity when identifying which client data lives in which isolated environment.
  • The platform is designed for agencies and SMBs; larger enterprises requiring deep reporting, custom objects at scale, or complex role-based access may outgrow its capabilities.

Complexity grading

How hard is this migration?

Standard CRM migration. 1 of 8 objects need a mapping; the rest are 1:1.

B

Overall complexity

Standard migration

Derived from compatibility, mapping clarity, API constraints, and data volume across FotoNotes and HighLevel.

  • Object compatibility

    B

    1 of 8 objects need a mapping; the rest are 1:1.

  • Field mapping clarity

    C

    Field mapping is derived from defaults — final spec confirmed during the sample migration.

  • Timeline complexity

    B

    8-object category — typical timelines run 2–7 days end-to-end.

  • API constraints

    B

    FotoNotes: Not publicly documented.

  • Data volume sensitivity

    B

    FotoNotes doesn't expose a bulk API — REST + parallelization used for high-volume runs.

Estimator

Estimate your FotoNotes to HighLevel migration cost

Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.

Step 1

What are you migrating?

Pick a category, then your source and destination platforms.

Category

FAQ

Frequently asked questions about FotoNotes to HighLevel data migrations

Answers to the questions buyers ask most during FotoNotes to HighLevel migration scoping. Not seeing yours? Book a call.

Can't find your answer?

Walk through your FotoNotes to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.

Book a free 30 minute consultation

Most FotoNotes-to-HighLevel migrations complete in 48–72 hours of clock time for under 10,000 records. Complex setups with nested container hierarchies, extensive custom work order fields, or large photo libraries extend to 5–10 days. HighLevel's API rate limits (200,000 requests per day) are the primary timeline driver for bulk imports; FlitStack AI batches writes within these limits to avoid throttling while maintaining data integrity throughout the run.

Adjacent paths

Related migrations to explore

Ready when you are

Move from FotoNotes.
Land in HighLevel, intact.

Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.

Accuracy guarantee Rollback included Quote in 1 business day