IPC - Inter Process Communication Activities

IPC - Inter Process Communication Activities

Hi everyone,

We have just released a new activity package in preview: UiPath.IPC.Activities.
This set of two activities is useful for having two processes “talk” to each other. They are working only for processes running on the same Robot (same user, same machine).

Let’s imagine the following scenario: you have an always running background process that monitors, through tens of triggers, what happens on a Call Center Representative’s machine. Each time a call is put on hold, a new process is started through the RunParallelProcess activity that informs the CCR every 30 seconds that a call is on hold and they should get it back.

Everything clear until now :slight_smile:, but what happens if the customer closes the call while on hold? How can the “parent” process inform the “child” one that the call is not on hold anymore and that it should not show the “call on hold” prompt again? Well… it couldn’t until now. This is where the new activity package comes into play.

UiPath.IPC.Activities contains these two activities:

Broadcast Message

An activity that allows you to send a message to a specific channel. You can send it on any channel and all the processes listening on that channel will receive the message.

For example, I’m sending a message to all the processes listening on the “OnHoldCalls”, stating that the call with the ID 34 was canceled.


Message Receiver Trigger

This is a new Trigger type that can be used in order to receive broadcasted messages. It has to listen on a specific channel and also to be added inside a Trigger Scope activity. The message will be part of the args.Message argument.

Example: the child process that I explained previously, can have a trigger waiting for the “CallCanceled” messages, and anytime the message is received, it ends itself and does not display a prompt anymore.


We hope you find these two activities useful and we would love to hear your feedback!


Great add on, Do we have any documentation!


@radutzp Thank you! This sounds really interesting.

You mentioned that the Channel is determined by name, like “OnHoldCalls”. What protocol is the activity using to send and receive? Like, if I am having many unattended bots running, preforming the same process parallel with queues, and all can send this broadcast, and all are listening if the other bot had isses, then are they using an open Port, is it done via Orchestrator, or otherwise?

Kind regards,


1 Like

Hi @ronanvanstokkom,

Great question! In fact, these two activities are working only for communication between processes running on the Robot (same machine, same user). For example: having two background processes and one foreground process that you want to keep in sync. It cannot be used in order for two unattended processes running on different Robots to communicate. For this, queues can be used.

Thanks for pointing this out. I’m sorry I missed mentioning this :sweat_smile:


Great job. This is really interesting

Awesome set of activities… Great work team!


Cool stuff! Is it possible to send a message to a robot from another process, i.e. a python script? Thanks a lot!

Hi @kkrehl,

No, it’s only between two UiPath processes.


Thank you for the quick response, in this case please take my question as a highly anticipated feature request.