Mapping HubSpot Deal Relationships in Neo4j – Help with Modeling

I'm working on modeling HubSpot's deal lifecycle in Neo4j and need help designing the relationships and structure for tracking deal status changes over time, including who made the change and when.

Nodes

  • DEAL
  • DEAL-STATUS
  • USER

I want to capture whenever a Deal changes to a new DealStatus, including:

  • The User who made the change
  • The timestamp of the change

Relationship

  • CHANGED

If I have

  • deal_1, deal_2, deal_3
  • dealStatus_1, dealStatus_2, dealStatus_3, dealStatus_4
  • user_1, user_2, user_3

Example cases

  • deal_1 changed to dealStatus_1 at TIMESTAMP by user_1
  • deal_1 changed to dealStatus_2 at TIMESTAMP by user_2
  • deal_1 changed to dealStatus_1 at TIMESTAMP by user_1
  • deal_2 changed to dealStatus_1 at TIMESTAMP by user_1
  • deal_2 changed to dealStatus_3 at TIMESTAMP by user_3
  • deal_3 changed to dealStatus_4 at TIMESTAMP by user_2

I want to fetch the status change history for a specific deal (e.g., deal_1) — including:

  • The target status
  • The user who changed it
  • The timestamp of the change

How to build the relationships and nodes for this?