Can we add dynamic property to gojs shape?

I need to store additional details with each of my gojs shapes.

is there a way to add dynamic properties to GoJs shapes, and then set them at a later point of time upon button click or any other action ?

Yes, of course. You can add as many properties as you need on each node data object, held in the Diagram.model, accessible via the Part.data property, corresponding to each Node in the Diagram.

Read GoJS Using Models -- Northwoods Software and GoJS Data Binding -- Northwoods Software.

Thanks Walter for your reply.

Got the feature I was looking for.