The problem it solves
Delivery is not the end of the client relationship, but for most service businesses it accidentally becomes the end. Following up is easy to put off, and then it never happens.
How the pieces connect
The queue is built by the payment workflow. When a payment clears, it writes a post-delivery record to the database, and this workflow is the one that looks for it. The two do not call each other directly. They share a table, and this one runs on its own schedule.
The result is that every delivered client gets a follow-up without me remembering to send one. This is a Spark-size build: one scheduled trigger, one database check, the emails out and one record updated. Simple in structure, immediately useful.