System to system interaction can be hard. API integrations are a way of doing it, but we can also use a message bus. Actually I think that using a message bus is a very awesome way of doing it, it’s a very loose couple between systems and we can queue multiple things and have the task or messages in RabbitMQ until system is ready to consume the messages.
This is a guide of using vRO to pick up the RabbitMQ message and start a workflow with the payload of the message.
Adding RabbitMQ to vRO:
- Open vRO legacy client, login
- Expand Library > AMQP > Configuration
- Start the workflow Add a broker. This will pair vRO and RabbitMQ.
- Follow the wizard. I’m using a virtual host, but input all depends on your RabbitMQ config.
Subscribe vRO to a RabbitMQ queue:
From the same position in vRO, now run the workflow “Subscribe to queues“. This will make vRO aware of the queue and be able to use it as a trigger.
Now vRO is monitoring the queue, we are ready to proceed.
Creating a policy:
Now we need to create a policy that can tie the event of a message from RabbitMQ into a starting a workflow.
That was a lot of screen dumps, I hope it still makes sense.
Now you should make the policy start when vRO starts and for now also start the policy so that you can see it works. The case that is shown in the screen dumps will have a JSON as the message payload, it then sends it to the messageBody variable and then inside the script it will extract the values that it needs in for the workflow to run.