You can build processes for collaboration using the standard process types as described in Process library. However, a more productive approach is to use and extend process module component libraries that provide larger-grained components from which you can build your processes. See Process module conventions for a general discussion on how component libraries work. See Process module task library for the core task-handling components.
The process can only refer to process scripts (step types) that the other party is happy to use. This means sticking to the Standard step types, or creating an application for the partners to install which includes a Control worker which is configured with the new step types in a whitelist (or setting up the whitelist manually).