Inter Process Communication Overview

IPC Activities allow us to pass messages between running processes and established the communication between two running processes. Using IPC activities one Process can tells another process that an event has occurred. These activities work only for the processes running on the same Robot (same user, same machine).

How to Use it –

  1. Install IPC Activities in both the Processes using UiPath manage packages Official tab.

image

Note : -
Please make sure that IPC.Activities package version remains same in all the processes to make a connection between them.

  1. Once IPC Package is installed, two new Activities gets added in UiPath Activities panel :
    • Broadcast Message.
    • Message Receiver Trigger.

i. Broadcast Message Activity: - This Activity lets you send a message on a specified channel. You can send it on any channel and all the processes listening on that channel will receive the message.
For example, Here I’m sending a message to all the processes listening on the Channel: “HoldReminder” stating that “Call is resumed, Exit Reminder”.

image

ii. Message Receiver Trigger: - This Activity works only inside Trigger Scope Activity, as the name suggest this activity is used to receive the message triggered from as specific channel to receive the broadcasted messages. The received message can be fetched from args.Message argument.
Note:
The value in the channel property field of this activity must go inside with the one Broadcast Message Activity for the trigger to Activate.
For Example: the child process that we explained previously, can have a trigger waiting for the “Call is resumed, Exit Reminder” messages, and anytime the message is received, it ends itself and does not display a prompt anymore.

Please find the Working Project with an example for the same.

Interconnected Starting HoldReminder.zip (5.9 KB)
Interconnected Starting Customer Service Central.zip (22.7 KB)

5 Likes

wow. thanks for the detailed explanation.

WIll try this new feature :slight_smile:

1 Like

Hi @Gopal_Tewari1,

This seems like an excellent package for linked processes. I see that this is suitable for attended automations.

Before I try this out, I would like to clarify if this can be used in unattended robots as well?

Example use case:
IPC in REFramework such that on successful execution of a dispatcher process, a trigger scope activates the performer process.

There are other alternatives such as API based start jobs for performer, but I would like to know the scope of IPC for unattended automations.

Thanks in advance.

I gave it a quick test by having two background processes, where the first one starts the second one and then listens for the second one’s message.
All on one unattended robot.

First process
image

Second process
image

Unfortunately, it looks like invoking a parallel process is not supported in unattended mode, based on the Orchestrator job faulting with:
Info: Cannot start a parallel process from an unattended job.

Maybe @ElenaBuchir or @radutzp will know more :slight_smile:

4 Likes

Sweet!

:slightly_smiling_face::+1:

1 Like

can you explain what the channel means and how to create one, im confused on that part