| object id | external_id (with external_source: "hubspot") | Makes re-runs idempotent and lets a run be undone with POST /api/v1/activity-imports/{id}/undo |
hs_timestamp | occurred_at (created_at for notes and tasks) | Its place on the timeline |
hubspot_owner_id → owner email | actor_email (author_name on notes and tasks for non-members) | Matched to a member by email; otherwise kept as text |
| associations → contact / company / deal ids | contact_external_id, company_external_id, deal_external_id | Resolved through the ids stored when the records were imported |
hs_attachment_ids | POST /api/v1/files/import with activity_id or note_id | After the row is imported, using HubSpot’s signed URL for each file |