Blackbox pools are used to model an external participant, while whitebox pools are used in modeling entities whose process we are interested in. When should I choose which one or can we just pick and choose any?
Whitebox pool vs. blackbox pool in BPMN
8.7k Views Asked by user3263215 AtThere are 4 best solutions below

A white box is a pool
There is no such thing as a "white box", but I understand why you say it.
The term white box is mentioned only once in the BPMN specification, but only to distinguish it from a "black box":
Another aspect of pools is whether or not there is any activity detailed within the pool. Thus, a given pool may be shown as a "white box," with all details (e.g., a process) exposed, or as a "black box," with all details hidden.
- "Business Process Model and Notation (BPMN), v2.0.2", page 111
There is no definition for a white box in the specification.
A "white box" is really just a pool that contains a process.
Also, a black box doesn't even have to be black or dark. A black box is only a term for a pool without a process.
When should I choose which one or can we just pick and choose any?
- OP
TL;DR
Black box: A term used to describe an empty pool. That is, a pool where the contents is either unknown to you or out of your control, or irrelevant.
Use it in a collaboration diagram when you want to refer to an external participant whose processes are out of your control or irrelevant to the diagram you are making.
White box (regular pool): A term used as an antonym to a black box. But it is really just a pool containing a process.
Use it in a collaboration diagram (two or more participants) to refer to an internal process. In other words, use it as a normal pool - that's what it is.

There are several participants in a collaborative model, since we are interested to explain the activities of a particular participant, we use whitebox pool for the said participant and rest of the pools will be supposed as blackbox because most of the time we are not interested to mention detail of those participants whom we don't know the business process or we don't want to mention at all.
So when we have explain a specific participant's detail, we use whitebox pool otherwise blackbox whose means detail is not provided with it.

I'll add some details as to why you should or shouldn't use black-box pools:
While you know what you send (output) and receive (input) to an external source (vendor, etc.), you do not know the inner workings of your partner's process. Hence, you would use a black-box because you have neither 1) knowledge of their exact processes and 2) control over said processes. The only knowns are what you send and receive, nothing more, nothing less.
On the other hand, a white-box could be used to identify a source of input and output within your organization or through a possible partnership. In that case, using a whitebox would make sense since you could interact and possibly modify how the white-box source interacts with your current process.
However, using a black-box for an external source to which you have no control and no knowledge of its inner workings could be misleading, at best, and dangerous in some scenarios.
In the case of an on-going project, a development/project team could wrongfully conclude that it can interact/modify interactions with an external source that is mistakenly assigned a white-box.
Internal pools will always be whitebox pools, because you want to execute the internal process. External pools could be whitebox or blackbox pools.
The difference is pretty obvious: you can't see what's happening in a blackbox. As a process developer you'll be saving a few minutes by throwing in a blackbox pool, but it makes the process more difficult to understand. Therefore you should use whitebox pools even for external partners.
Reasons to use a whitebox: