CRM migration
Field-level mapping, validation, and rollback between AddressTwo and HighLevel. We move data and schema; workflows are rebuilt natively in HighLevel.
AddressTwo
Source
HighLevel
Destination
Compatibility
9 of 12
objects map 1:1 between AddressTwo and HighLevel.
Complexity
BStandard
Timeline
2-3 weeks
Overview
Moving from AddressTwo to GoHighLevel is a structural shift from a flat-contact model to a Contact-Organization-Deal model with a built-in automation layer. AddressTwo stores company data as a field on Contact; GoHighLevel maintains a separate Organization object that Contacts link to via a lookup. We extract company data from each AddressTwo Contact during the pre-migration transform, create the corresponding GoHighLevel Organization, then link the Contact to it before import. AddressTwo Deals map to GoHighLevel Opportunities within the pipeline, with stages mapped to GoHighLevel's configured workflow stages. Activity history (calls, emails, meetings, notes) migrates via GoHighLevel's REST API with chunking and timestamp preservation. AddressTwo Workflows, automations, and BCC email sync rules do not migrate; we deliver a written inventory of each for the customer's admin to rebuild in GoHighLevel's Automation builder.
Every standard and custom field arrives verified.
AI proposes the map; you confirm before any record moves.
Parent–child, lookups, and ownership stay linked.
Calls, emails, meetings — with original timestamps.
Documents, uploads, and inline notes move with the record.
Why teams make this switch
Leaving
What's pushing teams away
Choosing
What's pulling them in
Object mapping
Each row shows how a AddressTwo 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.
AddressTwo
Contact
HighLevel
Contact
1:1AddressTwo Contacts migrate 1:1 to GoHighLevel Contacts. The contact's name, email, phone, and address fields map directly. Custom fields on the Contact migrate as GoHighLevel custom properties. We run a de-duplication pass on email addresses before import to catch any duplicate records that arose from AddressTwo's documented BCC sync gap.
AddressTwo
Company (field on Contact)
HighLevel
Organization
1:manyAddressTwo stores company name and address as fields on the Contact record rather than a separate object. We extract these fields during the pre-migration transform, create a GoHighLevel Organization record for each distinct company value, and link the Contact to it via the Organization lookup. Contacts sharing the same company name in AddressTwo attach to the same GoHighLevel Organization.
AddressTwo
Deal
HighLevel
Opportunity
1:1AddressTwo Deals migrate to GoHighLevel Opportunities. The Deal name, value, close date, stage, and owner transfer directly. We map AddressTwo pipeline names to GoHighLevel pipeline names configured during setup, and Deal stages to GoHighLevel workflow stages matched per the customer's stage matrix.
AddressTwo
Deal Stage
HighLevel
Workflow Stage
lossyEach AddressTwo Deal stage value becomes a GoHighLevel workflow stage. We match the stage names and order so that historical Deals retain their correct pipeline position. Stage probabilities migrate to GoHighLevel but do not control workflow routing in GoHighLevel the way they do in AddressTwo — we document this distinction for the customer's admin during handoff.
AddressTwo
Activity: Call
HighLevel
Contact Activity (call)
1:1AddressTwo call activities migrate to GoHighLevel Contact Activities. Call duration, disposition, and timestamp preserve. Each call attaches to the migrated Contact record. The GoHighLevel API accepts activity entries per Contact with the activity type, date, and description fields populated from the AddressTwo export.
AddressTwo
Activity: Email
HighLevel
Contact Activity (email)
1:1AddressTwo email activities from the BCC sync thread migrate as GoHighLevel Contact Activity entries with type email. The thread subject, participants, and body content transfer. The email timestamp and the associated Contact reference are preserved. Note that AddressTwo's BCC email sync stores threads as a flattened conversation log; we import them as-is without reconstructing individual message boundaries.
AddressTwo
Activity: Meeting
HighLevel
Contact Activity (meeting)
1:1AddressTwo meeting activities migrate to GoHighLevel Contact Activities with type meeting. The meeting subject, date, duration, and any notes migrate as activity description. Attendees are not a structured object in AddressTwo, so we capture the meeting owner and the associated Contact only.
AddressTwo
Activity: Task
HighLevel
Contact Activity (task)
1:1AddressTwo task activities migrate to GoHighLevel Contact Activities with type task. Task subject, due date, status (pending, completed), and assigned owner migrate. Completion timestamps preserve where available.
AddressTwo
Note
HighLevel
Contact Note
1:1AddressTwo free-text Notes on Contacts migrate as GoHighLevel Contact Notes. The note content, author, and creation date transfer. Notes are not structured objects in AddressTwo so they carry no field-level mapping beyond the content text itself.
AddressTwo
Tag
HighLevel
Tag
1:1AddressTwo Contact tags migrate to GoHighLevel Tags as a flat array on each Contact. Tags are string identifiers and migrate directly without transformation. The customer decides during scoping whether to use GoHighLevel's built-in tagging or a separate custom field for additional segmentation.
AddressTwo
Mass Email Campaign Membership
HighLevel
Contact Tag + Custom Field
lossyAddressTwo campaign membership (which contacts received a mass email) migrates to GoHighLevel as a tag per campaign name plus a custom property tracking the most recent campaign membership date. Campaign analytics such as open rates and click rates do not export from AddressTwo and cannot be migrated. We document the campaign names and member lists so the customer can set up equivalent campaigns in GoHighLevel.
AddressTwo
Custom Fields (Contact)
HighLevel
Custom Properties (Contact)
1:1AddressTwo custom fields on Contacts migrate as GoHighLevel Contact custom properties of equivalent type. Text fields, number fields, date fields, and picklist fields map to their GoHighLevel equivalents. Any custom field without a clear GoHighLevel type maps to a text property and is flagged for customer review.
| AddressTwo | HighLevel | Compatibility | |
|---|---|---|---|
| Contact | Contact1:1 | Fully supported | |
| Company (field on Contact) | Organization1:many | Fully supported | |
| Deal | Opportunity1:1 | Fully supported | |
| Deal Stage | Workflow Stagelossy | Fully supported | |
| Activity: Call | Contact Activity (call)1:1 | Fully supported | |
| Activity: Email | Contact Activity (email)1:1 | Fully supported | |
| Activity: Meeting | Contact Activity (meeting)1:1 | Fully supported | |
| Activity: Task | Contact Activity (task)1:1 | Fully supported | |
| Note | Contact Note1:1 | Fully supported | |
| Tag | Tag1:1 | Fully supported | |
| Mass Email Campaign Membership | Contact Tag + Custom Fieldlossy | Fully supported | |
| Custom Fields (Contact) | Custom Properties (Contact)1:1 | Fully supported |
Gotchas + challenges
Platform-specific issues from each side, plus the pair-specific challenges that don't show up on either platform's page on its own.
AddressTwo gotchas
API requires approved key obtained via email to support
No self-service data export or bulk download
Duplicate contact creation during email sync
QuickBooks integration does not exist
No formally documented API rate limits
HighLevel gotchas
Sub-account architecture creates isolated data silos per client
Usage-based telecom and AI costs are not in the subscription price
Workflows have no native equivalent in most destination CRMs
API rate limits cap bulk migration throughput at 100 requests per 10 seconds per sub-account
White-label configuration and branding assets do not export via API
Pair-specific challenges
Migration approach
Discovery and export coordination
We audit the AddressTwo account for record counts across Contacts, Deals, Activities, Notes, and Tags, and identify any custom fields. We simultaneously submit an API key request to AddressTwo support and a full account export request. If the API key is not approved within five business days, we proceed with the CSV export from AddressTwo support. The discovery output is a written scope document listing all source objects, record counts, and the chosen extraction method (API or CSV), plus a GoHighLevel pipeline and stage configuration plan.
GoHighLevel schema and pipeline configuration
We configure the GoHighLevel destination before any data moves. This includes creating the required Pipelines and workflow stages matched to the AddressTwo pipeline and stage structure, setting up custom properties for any AddressTwo custom fields, and provisioning Organization records for each distinct company value identified during the AddressTwo extraction. We also provision GoHighLevel Users matching the AddressTwo owner email list and assign a migration-specific team member as the fallback owner for unassigned records.
Pre-migration transform and de-duplication
We run the pre-migration transform on the AddressTwo export. This step extracts company data from Contact records, deduplicates by company name, and stages the Organization creation payload. We also run a fuzzy de-duplication pass on Contact records by email to catch any duplicates that arose from AddressTwo's BCC email sync creating double entries. The transform output is a set of clean, dependency-ordered CSV and JSON payloads ready for GoHighLevel import.
Sandbox import and reconciliation
If the customer has a GoHighLevel sub-account available for testing, we run a full import into that sub-account and reconcile record counts (Contacts in, Organizations in, Opportunities in, Activities in). The customer spot-checks 15-25 random Contact and Deal records against the AddressTwo source and approves the mapping before production. Any field mapping corrections, stage mismatches, or custom property changes happen here, not in production.
Production migration in dependency order
We run production migration in record-dependency order. Organizations import first so that Contact lookups are satisfied. Contacts import second with the Organization ID resolved and tags applied. Opportunities import third with Contact and Organization lookups resolved. Activity history (calls, emails, meetings, tasks, notes) imports last via the GoHighLevel API with chunking and timestamp preservation. Each phase emits a reconciliation report showing rows inserted, rows rejected, and rejection reasons before the next phase begins.
Cutover, delta sync, and automation handoff
We freeze AddressTwo writes during cutover and run a final delta migration of any records modified during the migration window. We deliver a written inventory of AddressTwo automations, reminders, and task triggers that require rebuilding in GoHighLevel's Automation builder, with a recommended equivalent for each. We support a five-business-day post-cutover window for reconciliation issues raised by the customer's team. We do not rebuild AddressTwo automations as GoHighLevel automations as standard scope; that work is a separate engagement.
Platform deep dives
AddressTwo
Source
Strengths
Weaknesses
HighLevel
Destination
Strengths
Weaknesses
Complexity grading
Standard CRM migration. 3 of 8 objects need a mapping; the rest are 1:1.
Overall complexity
Standard migration
Derived from compatibility, mapping clarity, API constraints, and data volume across AddressTwo and HighLevel.
Object compatibility
3 of 8 objects need a mapping; the rest are 1:1.
Field mapping clarity
Field mapping is derived from defaults — final spec confirmed during the sample migration.
Timeline complexity
8-object category — typical timelines run 2–7 days end-to-end.
API constraints
AddressTwo: Not publicly documented.
Data volume sensitivity
AddressTwo doesn't expose a bulk API — REST + parallelization used for high-volume runs.
Estimator
Rule-based pricing — no per-record fees, no manual quotes. Migrations over 2M records are scoped individually.
Step 1
Pick a category, then your source and destination platforms.
Category
FAQ
Answers to the questions buyers ask most during AddressTwo to HighLevel migration scoping. Not seeing yours? Book a call.
Walk through your AddressTwo to HighLevel migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationAdjacent paths
Other ways to leave AddressTwo
Other ways to arrive at HighLevel
Ready when you are
Tell us record counts and timeline. We'll come back with a written quote inside 1 business day — no commitment, no sales pitch.