This daemon handles as much of the weird signal-specific stuff and exposes an easier to use API. It handles things like encrypting and decrypting messages, generating and storing keys, syncing with linked devices and a bunch of others.
signald doesn't really "trigger actions" or anything, but it would be pretty easy to write something that does using it.