Converse and its plugins trigger various events which you can listen to via the _converse.api.listen namespace.
Some of these events are also available as ES2015 Promises although not all of them could logically act as promises, since some events might be fired multpile times whereas promises are to be resolved (or rejected) only once.
Events which are also promises include:
The various plugins might also provide promises, and they do this by using the
promises.add api method.
(static) add(name|namesopt, replaceopt)
Generally, it's the responsibility of the plugin which adds the promise to also resolve it.
||string | array||
The name or an array of names for the promise(s) to be added
Whether this promise should be replaced with a new one when the user logs out.