I would like all players of a team to help each other defeat a boss during a certain time say 24 hours. That means that they will enter the level separately but the damage they do on the boss should be saved and be accessable to all the team members.
That value will be used as initial damage to the boss when the next player enters and plays the level and so on. So pretty much one value needs to be stored, and when the players participating in this challenge has collected enough damage(points) the boss is defeated.
Then everyone wins if the boss is defeated within the time allowed. Otherwise everyone loses.
So what I would like to know, is this something that can/should be done with the challenges? Or should this be done with events? Or maybe there is something else?
I believe Challenges would be a good way to implement the system you desire.
You could store and define the Bosses data in a Collection and pull that info from the Collection and store it in the Challenges ScriptData. Next, have two values in the ScriptData, "Boss health" which you have already pre-defined from its Collection and "Incremented damage" which is the value added to by team members against the boss. Every time a player affects the bosses health modify the Incremented damage as this will update the Challenge ScriptData, all players in the challenge will have access to this shared Challenge ScriptData. This will allow you to effectively manage the challenges outcome and persistence.
Does this seem like it would work for you?