Sync Status
CloudWatch Alarms
SQS Queues
Lambda Metrics (24h)
Invocations
Errors
Duration P95 (ms)
Recent Logs
Data Sync Dashboard
Sync Status
CloudWatch Alarms
SQS Queues
Lambda Metrics (24h)
Recent Logs
Cross-platform field mapping across HubSpot, Harvest/Forecast, and SharePoint
| Data | HubSpot (Deal) | Harvest (Project) | Forecast | SharePoint | Direction | Status |
|---|---|---|---|---|---|---|
| Project Name | dealname | name | name | Title | Harvest → HS | ● |
| Project Number / Code | harvest_project_code | code | code | field_1 | Harvest → HS, SP → HS | ● |
| Project ID (Harvest) | harvest_project_id | id | harvest_id | — | Harvest → HS | ● |
| Project Stage | harvest_project_stage + dealstage | Task assignments (01–08) | — | — | Harvest → HS | ● |
| Pipeline | pipeline | — | — | — | Set on creation | ● |
| Data | HubSpot (Deal) | Harvest | SharePoint | Direction | Status |
|---|---|---|---|---|---|
| Deal Amount / Budget | amount | budget | — | Harvest → HS (seed) | ● |
| Cost Budget | harvest_cost_budget | cost_budget | — | Harvest → HS | ● |
| Task Budgets | harvest_task_budgets | Task budget | — | Harvest → HS | ● |
| Budget Remaining | harvest_budget_remaining | calculated | — | Harvest → HS | ● |
| Total Project Cost | project_value | — | field_34 | SP → HS | ● |
| Construction Cost | construction_budget | — | field_35 | SP → HS | ● |
| Variations Approved | sp_variations_approved | — | VariationsApproved | SP → HS | ● |
| Variations Pending | sp_variations_pending | — | VariationsPending | SP → HS | ● |
| Currency | deal_currency_code | Client currency | — | Set on creation | ● |
| Data | HubSpot (Deal) | Harvest | Direction | Status |
|---|---|---|---|---|
| Total Hours | harvest_total_hours | Time report total_hours | Harvest → HS | ● |
| Billable Hours | harvest_billable_hours | Time report billable_hours | Harvest → HS | ● |
| Billable Amount | harvest_billable_amount | Time report billable_amount | Harvest → HS | ● |
| Last Sync Timestamp | harvest_last_sync | — | System | ● |
| Data | HubSpot (Deal) | Forecast | Direction | Status |
|---|---|---|---|---|
| Scheduled Hours | forecast_scheduled_hours | Calculated from allocation x working days | Forecast → HS | ● |
| Utilisation % | forecast_utilisation | actual / scheduled | Forecast → HS | ● |
| Forecast Start Date | forecast_start_date | Earliest start_date | Forecast → HS | ● |
| Forecast End Date | forecast_end_date | Latest end_date | Forecast → HS | ● |
| Milestone Count | forecast_milestone_count | Milestone count | Forecast → HS | ● |
| Next Milestone Name | forecast_next_milestone_name | milestone.name | Forecast → HS | ● |
| Next Milestone Date | forecast_next_milestone_date | milestone.date | Forecast → HS | ● |
| Data | HubSpot (Deal) | Harvest | Forecast | SharePoint | Direction | Status |
|---|---|---|---|---|---|---|
| Deal Owner (Primary) | hubspot_owner_id | PM from user_assignments | Highest allocation person | — | Forecast → HS | ● |
| All Collaborators | hs_all_collaborator_owner_ids | — | All person_id on project | — | Forecast → HS | ● |
| Project Director | sp_project_director | — | — | DirectorInCharge | SP → HS | ● |
| Project Lead | sp_project_lead | — | — | Leader | SP → HS | ● |
| Contractor | sp_contractor | — | — | Contractor | SP → HS | ● |
| Contractor Contact | sp_contractor_contact | — | — | ContractorContact | SP → HS | ● |
| Data | HubSpot (Company) | Harvest (Client) | SharePoint | Direction | Status |
|---|---|---|---|---|---|
| Company/Client Name | name | name | field_31 (Client) | HubSpot ↔ Harvest | ↔ |
| Address | address | address | — | HubSpot ↔ Harvest | ↔ |
| Currency | harvest_currency | currency | — | Harvest → HS | ● |
| Client ID (Harvest) | harvest_client_id | id | — | Harvest → HS | ● |
| Client Contact Details | sp_client_contact | — | field_32 | SP → HS | ● |
| Data | HubSpot (Contact) | Harvest (Contact) | Direction | Status |
|---|---|---|---|---|
| First Name | firstname | first_name | HubSpot ↔ Harvest | ↔ |
| Last Name | lastname | last_name | HubSpot ↔ Harvest | ↔ |
email | email | HubSpot ↔ Harvest | ↔ | |
| Phone | phone | phone_office | HubSpot ↔ Harvest | ↔ |
| Job Title | jobtitle | title | HubSpot ↔ Harvest | ↔ |
| Data | HubSpot (Invoice) | Harvest (Invoice) | Direction | Status |
|---|---|---|---|---|
| Invoice Name | hs_invoice_name | subject / number | Harvest → HS | ● |
| Invoice Number | hs_number | number | Harvest → HS | ● |
| Invoice Date | hs_invoice_date | issue_date | Harvest → HS | ● |
| Due Date | hs_due_date | due_date | Harvest → HS | ● |
| Amount | hs_invoice_amount | amount | Harvest → HS | ● |
| Balance Due | hs_balance_due | due_amount | Harvest → HS | ● |
| Status | hs_invoice_status | state | Harvest → HS | ● |
| PO Number | hs_purchase_order_number | purchase_order | Harvest → HS | ● |
| Deal Roll-ups | ||||
| Total Invoiced | harvest_total_invoiced | sum of amounts | Harvest → HS | ● |
| Total Outstanding | harvest_total_outstanding | sum of open dues | Harvest → HS | ● |
| Invoice Count | harvest_invoice_count | count | Harvest → HS | ● |
| Latest Invoice Status | harvest_latest_invoice_status | latest state | Harvest → HS | ● |
| Last Payment Date | harvest_last_payment_date | paid_at | Harvest → HS | ● |
| Data | HubSpot (Deal) | Harvest | Forecast | SharePoint | Direction | Status |
|---|---|---|---|---|---|---|
| Project Start / Award Date | anticipated_award_date | starts_on | Earliest start_date | Date_x002d_Start | SP → HS | ● |
| Tender Date | sp_date_tender | — | — | Date_x002d_Tender | SP → HS | ● |
| Practical Completion | sp_date_practical_completion | — | — | Date_x002d_PracticalCompletion | SP → HS | ● |
| Construction Start | sp_date_construction_start | — | — | Date_x002d_ConstructionStart | SP → HS | ● |
| Close Date | closedate | — | — | — | HubSpot | ● |
| Data | HubSpot (Deal) | SharePoint Field | Direction | Status |
|---|---|---|---|---|
| Project Sector | sectors | field_30 | SP → HS | ● |
| Project Size (m2) | sp_project_area | Area | SP → HS | ● |
| Project Scope | description | ProjectBriefSummary | SP → HS | ● |
| Project Address | sp_project_address | ProjectAddressCURRENT | SP → HS | ● |
| First Nations Country | sp_first_nations_country | FirstNationsCountry0 | SP → HS | ● |
| EOT Approved (days) | sp_eot_approved | EOTApproved | SP → HS | ● |
| SharePoint Item URL | sp_item_url | Generated from item ID | SP → HS | ● |
| Link | Platform A | Platform B | Method |
|---|---|---|---|
| Deal ↔ Project | HubSpot harvest_project_id | Harvest id | DynamoDB xref table |
| Project ↔ Forecast | Harvest id | Forecast harvest_id | Direct field match |
| Company ↔ Client | HubSpot harvest_client_id | Harvest Client id | DynamoDB xref table |
| Contact ↔ Contact | HubSpot Contact id | Harvest Contact id | DynamoDB xref table |
| Invoice ↔ Invoice | HubSpot Invoice id | Harvest Invoice id | DynamoDB xref table |
| Forecast Person ↔ HS Owner | Forecast email | HubSpot Owner email | Email match |
| SharePoint ↔ HubSpot/Harvest | SharePoint field_1 | HubSpot harvest_project_code / Harvest code | Match by project number |
| Sync | Frequency | Direction |
|---|---|---|
| Time Data | Every 15 min | Harvest → HubSpot |
| Forecast Assignments | Every 15 min | Forecast → HubSpot |
| Forecast Hours | Every 15 min | Forecast → HubSpot |
| Forecast Milestones | Every 15 min | Forecast → HubSpot |
| Clients / Companies | Every 15 min | Bidirectional |
| Contacts | Every 15 min | Bidirectional |
| Invoices | Every 30 min | Harvest → HubSpot |
| Deal → Project (Won) | Webhook | HubSpot → Harvest |
| SharePoint | Every 15 min | SharePoint → HubSpot |
| Group | Label | Properties |
|---|---|---|
harvest_integration | Harvest Integration | 10 |
harvest_invoicing | Harvest Invoicing | 5 |
forecast_scheduling | Forecast Scheduling | 5 |
forecast_milestones | Forecast Milestones | 3 |
submission_details | Submission Details | 12 |
sharepoint_project | SharePoint Project Data | 15 |