You need to select the exact entity when you create a workflow, this means you need to create a worklow for each activity entity-type (1 for Appointment, 1 for Phone Call, ...)
There isn't a built-in share functionality inside the standard Workflow designer, you need to use a custom activity (create one using .NET or install one already compiled)
Check these two: