There are probably a bunch of ways to handle it.
The simplest way - assuming you have store all the information that is needed by Relay in the content you could write a replication event listener that runs on the publish instances and whenever it receives something it sends the response to Relay. That assumes that Relay will ignore all the duplicate responses since it will get 6 responses. You could set up the replication event listener to only run on one publish server - but then if that one was down you would never get any responses to Relay.
You could have the replication event listener send a message back to author. You would have to write a servlet that ran on author and accepted the message from the publish servers. This servlet would then send the message to Relay. The servlet would have to keep track of which activation had been confirm with Relay and which not so that would prevent the duplicate messages to Relay.
You could have a step in the workflow after publication that had some sort of wait mechanism in it and have that poll replication queue logs to determine if the activation was successful and have it send the message to relay. That's going be suboptimal because the polling mechanism will be completely custom - I'd tend to stay away from this option.
If really wanted to go all out you could write and extension of the default replication agent's and build the logic to send the relay message after it removes something from the queue. You'd have to make it smart enough to track whether or not another agent had already sent it but this would work. I'd tend to stay away from this as well unless you are very comfortable with the APIs and interfaces around replication agents.
There are probably a bunch of other variations on this, but they will all boil probably down to one of three concepts:
- A replication event listener on publish servers that somehow triggers the Relay message
- Some sort of polling mechanism that watches the replication queues
- An extension of the default replication agent.
I'd tend to work with some based of off a replication event listener in publish but that's personal opinion.