Salesforce to AGM Data Migration Map

Heavenly Greens — Every SF object mapped to its AGM destination

Context 1: Historical
Completed jobs from SF
Reference data only. Custom fields + structured notes. No pipeline workflow. Change orders as data, not pipeline records.
Context 2: Costco (AGM-Native)
Full lifecycle in AGM
Leads originate in AGM via CENTAH. Sales process in AGM. Change orders run through AGM pipeline (Submitted → Sent → Approved). SF gets a copy.
Context 3: Standard HG
AGM lead capture → SF sales
Leads land in AGM (website, chat, calls). Sales process managed in SF. Stage sync keeps AGM updated. Full cutover to AGM is a future decision.
14
SF Objects
430
AGM Custom Fields
4
AGM Pipelines
120K+
SF Attachments
176 GB
File Storage
Direct Field Mapping
Custom Field
Pipeline Opportunity
Structured Note
File Upload / CDN
Skip / Not Needed
Decision Required
Core Customer Record
Contact — FirstName, LastName, Phone, Email, Address
AGM Contact — Standard Fields
firstName, lastName, phone, email, address1, city, state, postalCode
direct 1:1 field mapping
Contact — Mobile_2__c, Mobile_3__c, Alt_Email__c
AGM Contact — Additional Phones/Emails
additionalPhones, additionalEmails (object format)
custom Needs object wrapper
Contact — LeadSource, Lead_Secondary_Source__c
AGM Contact — Source + Custom Fields
source, "SOURCE - FIRST CONTACT", "How did you hear about us?", "SF Lead Secondary Source"
custom Source + 3 custom fields
Account — Container for Contact + Opportunities
skip
Lead — Pre-conversion record
skip Already handled by live pipeline
Job (Opportunity) — 164 fields in SF
Opportunity — Name, StageName, Amount, Total_Price__c
AGM Opportunity — Pipeline: 1. Lead Flow
name, pipelineStageId (13 stages mapped), monetaryValue, status (won/lost/open)
Lead Appt Booked Appt Ran Proposal Out Approved Deposit Sent Deposit Rcvd Install Started Installed Paid in Full No Show Lost
pipeline Stage name mapping
Opportunity — Total_Price__c, Deposit, Start_of_Work, Final_Payment, Remaining_Balance
AGM Contact — Financial Custom Fields (existing)
Total_Price__cPROJECT TOTAL / TOTAL PROJECT COST
Deposit_at_signing__cDEPOSIT
Start_of_Work__cSTART OF WORK
Final_Payment__cFINAL PAYMENT
Remaining_Balance__cSF Remaining Balance
Change_Order_Amount__cSF Change Order Amount
Price_Quoted__cTOTAL ESTIMATE
custom 7 monetary fields already exist
Opportunity — Square_Footage, Crew_Number, Application_Type, Job_Started_Date, etc.
AGM Contact — Job Detail Custom Fields
Total_Square_Footage__cSF Total Square Footage / TOTAL PROJECT AREA
Price_Per_Square_Foot__cSF Price Per SqFt
Crew_Number__cSF Crew Assignment
Application_Type__cSF Application Type
Job_Started_Date__cSF Job Started Date
Contract_Approval_Date__cSF Contract Approval Date
CloseDate (Completed)SF Job Completed Date
OwnerId (resolved)SF Salesperson
Opportunity_Address__cJOB ADDRESS
NameJOB NAME
custom 10 fields (7 new SF-prefix + 3 existing)
Opportunity — Full record summary (all fields)
AGM Notes — "JOB DETAILS" structured note
Complete snapshot: stage, price, sqft, crew, dates, financials, SF IDs
note Human-readable reference
Payments (Payment__c) — 6 data fields per record
Payment__c — Payment_Amount, Payment_Method, Payment_Type, Date, Description
AGM Contact — Financial Custom Fields
Aggregate totals in DEPOSIT, START OF WORK, FINAL PAYMENT. Method in DEPOSIT TYPE, FINAL PAYMENT TYPE.
custom Aggregated into existing fields
Payment__c — Individual payment records (3-5 per job)
AGM Notes — "PAYMENT HISTORY" structured note
Each record: date | amount | method | type | description. Full detail preserved.
note Individual records as line items
Payment__c — Itemized summary for Payment Notes field
AGM Contact — "Payment Notes" (LARGE_TEXT)
Compact multi-line summary of all payments in one field
custom Existing field
Change Orders (Change_Order__c) — 6,048 records, $3.85M total
Change_Order__c — Amount__c (net dollar change)
AGM Contact — Change Order Custom Fields (existing)
SUM(Amount__c)CO TOTAL
Total + CO netCO REVISED CONTRACT TOTAL
Description__cCO DESCRIPTION
Square footage deltaCO SQUARE FOOTAGE
custom 50 CO fields already exist in AGM
Change_Order__c — Active/future jobs (individual COs tracked)
AGM Opportunity — Pipeline: 3. Change Order
Each CO = separate opportunity. Stages: Submitted → Sent → Approved
CO Submitted CO Sent CO Approved
pipeline 1 opportunity per CO
Change_Order__c — Historical/completed jobs (reference only)
AGM Notes — "CHANGE ORDERS" structured note
Each CO: number | date | amount | product | description
note Batched into one reference note

Resolved: Change Order Handling

Historical (completed SF jobs): Data capture only. CO details go into custom fields (CO TOTAL, CO DESCRIPTION, CO REVISED CONTRACT TOTAL) + structured note. No pipeline involvement — the job is done.

New AGM-native jobs (Costco leads): Change orders run through the Change Order pipeline (Submitted → Sent → Approved) as live trackable opportunities. Full workflow applies.
Service History (Service__c) — Warranty visits, repairs, go-backs
Service__c — Aggregate metrics (count, revenue, last date)
AGM Contact — Service History Custom Fields
COUNT(records)SF Service History Count
SUM(Amount_Paid__c)SF Service History Revenue
MAX(Completed_On__c)SF Last Service Date
custom Aggregated into 3 fields
Service__c — Individual service records (visits spanning years)
AGM Notes — "SERVICE HISTORY" structured note
Each visit: service # | completed date | amount paid | go-back status | job info | address
note Full history preserved
Activities (Tasks + Events)
Task — Subject, Status, Description, ActivityDate
AGM Notes — "ACTIVITY TIMELINE" structured note
Tasks section: date | subject | status | description
note Combined with Events
Event — Subject, Start/EndDateTime, Location, Description
AGM Notes — "ACTIVITY TIMELINE" structured note
Events section: datetime | subject | location | consultation notes
note Consultation details preserved
Files & Documents — 120,585 attachments (176 GB)
Attachment (PDF) — Job builds, contracts, site plans 48,444
AGM CDN — FILE_UPLOAD Custom Fields
Upload via /medias/upload-file, link in General Image 1-5, Job Drawing, Job Access 1-2, Job Area 1-2
file Binary download → AGM CDN upload
Attachment (JPEG/PNG) — Job photos, site images 44,216
AGM CDN — FILE_UPLOAD Custom Fields
Same upload path. 12 FILE_UPLOAD fields available per contact.
file Binary download → AGM CDN upload
Attachment (XLSM) — Commission sheets (Excel macros) 16,501
Google Drive — Converted to Google Sheets
Convert .xlsm → Google Sheet, store in per-customer Drive folder. Link in AGM custom field.
decision Requires conversion pipeline
Attachment (DOCX) — Word documents 6,711
AGM CDN or Google Drive
AGM accepts DOCX natively for upload. Or convert to Google Doc.
file
Attachment (links) — All uploaded file URLs
AGM Notes — "SALESFORCE DOCUMENTS" note
Clickable links to all uploaded files (CDN + Drive)
note Document index note

Decision Required: File Strategy

DocuSign Envelopes — 32,471 signed documents
dsfs__DocuSign_Status__c — Envelope status, signed contracts 32,471
Decision: Download signed PDF → AGM CDN, or link to DocuSign directly
DocuSign API can retrieve completed envelope PDFs. Alternatively, store DocuSign envelope URL as a custom field.
decision Depends on DocuSign retention plan

Decision Required: DocuSign Strategy

Installation Lifecycle
Opportunity — Job lifecycle stages (Approved → Scheduled → Started → Completed)
AGM Opportunity — Pipeline: 2. Installation
14 stages covering full installation lifecycle
Received Reviewed Approved Materials Inspect Needed Inspect Done On Hold Delayed Scheduled Crew Assigned Started Completed Wrap Up Finished
pipeline Same contact, 2nd pipeline
Not Migrated — Legacy / Redundant Systems
INVOCA Call Logs — Call tracking data
skip
HubSpot Intelligence — Legacy marketing integration
skip
Slack Messages — SF Slack integration objects
skip
QuickBooks Sync (AVSFQB) — QB IDs, invoice sync, billing data
Decision: Skip or preserve QB reference IDs
QB sync fields exist on Opportunity and Payment. If QB integration continues separately, skip. If not, preserve IDs as custom field.
decision
Inventory__c / Planned_Materials__c — Job materials and inventory tracking
AGM Notes — Materials list per job
Structured note with quantities and product names
note If needed for reference
Crew__c / Crew_Members__c — Crew roster and assignments
AGM Contact — "SF Crew Assignment" (TEXT)
Crew name stored as text. Full crew roster is operational data, not per-customer.
custom Name only, not full roster
Cross-Reference & Sync Tracking
Contact.Id — SF Contact ID
AGM Contact — "SF Contact ID" (TEXT)
Enables reverse lookup: AGM → SF for any record
custom Bidirectional link
Opportunity.Id — SF Opportunity ID
AGM Contact — "SF Opportunity ID" (TEXT)
Links to primary job in SF
custom
Migration timestamp — When the record was synced
AGM Contact — "SF Record Synced Date" (DATE)
Tracks when data was last pulled from SF
custom
Migration flag
AGM Contact — Tag: "sf-migrated"
Identifies which contacts have been enriched from SF
direct Tag on contact