# Registering Public Responses

{% embed url="<https://youtu.be/4_VtngXMLBw>" %}
Registering Public Responses - 60 second video tutorial
{% endembed %}

A Worker is not coupled to its Caller and therefore a Worker's Caller must register to receive Public Response messages from a Worker. It is up to the Caller to decide whether or not it wants to receive one or more Public Response messages from a Worker.

To register to receive a Public Response message, let's look at the example in the [Workers Fundamentals](https://docs.workersforlabview.io/getting-started/example-projects) example project of how Worker B sends a Public Response message to Worker A.

{% hint style="success" %}
Now would be a great time to open the [Workers Fundamentals](https://docs.workersforlabview.io/getting-started/example-projects) example project which can be found in the [Workers tools menu](https://docs.workersforlabview.io/workers-tools/workers-tools-menu).
{% endhint %}

The following steps explain how the Public Response message from Worker B was registered with Worker A.

### Step 1: Create MHL case in Caller to receive Response message

From the block-diagram of Worker A , open the[ Create MHL Case tool](https://docs.workersforlabview.io/workers-tools/quickdrop-shortcuts/create-mhl-case-tool-ctrl+9). This tool can be activated from the block diagram of a Worker's Main VI, by use of the Quickdrop Shortcut: **Ctrl+9**.&#x20;

Select **Add to Response Cases Section** (shown below) so that the tool will create a MHL case and add it to the **---RESPONSE CASES---** section of the Worker's MHL case structure.

<figure><img src="https://2767648102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZWihGdeYUalj239OUdAB%2Fuploads%2FxbMDPcCHWlKmDBNfO7on%2Fimage.png?alt=media&#x26;token=7e7ce610-5918-4a48-a548-3f1d22e65451" alt=""><figcaption><p>Create MHL Case tool - demonstrating how to create a MHL case to receive a Response message</p></figcaption></figure>

### Step 2: Register Caller's MHL Response case with the Worker

In the **Set Initialization Data** VI for Worker B (you will find this VI in Worker A's \<Initialize> MHL case as shown below), you need to wire the [Case Label](https://docs.workersforlabview.io/worker-apis/case-labels) that was created for the MHL case in Step 1, to the name of the Public Response in the subWorker's *Initialization Data.vi* cluster (outlined in <mark style="color:red;">red</mark> below).

This allows Worker B to know which case of Worker A to send the Public Response message to.

<figure><img src="https://2767648102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZWihGdeYUalj239OUdAB%2Fuploads%2FMaxbpthX6WtiBilMD1Gw%2Fimage.png?alt=media&#x26;token=d5b9638c-1997-42bd-a7d8-13ca577c78ef" alt=""><figcaption><p>Worker A : Main.vi - Registering a subWorker's Public Response message with its Caller</p></figcaption></figure>

### Step 3: Convert Public Response message data to correct data type

In the MHL case that was created in Worker A to receive the Public Response message, place the Public Response VTD VI (from Worker B) and connect it to the **Data** terminal of the MHL case structure, as shown in the image below.

<figure><img src="https://2767648102-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZWihGdeYUalj239OUdAB%2Fuploads%2F9xLCdKj1oFsza3mraTyr%2Fimage.png?alt=media&#x26;token=2d8dcf30-37f4-4efe-ade3-a667beca8302" alt=""><figcaption><p>Worker B : rspvtd_Return number.vi in MHL case of Worker A</p></figcaption></figure>

This completes the registration process for a Public API Response. Worker B can now send the Public Response message to its Caller (i.e. Worker A). Worker A will receive the Response message in the \<Return Number> case of its MHL, and the data in the message will be converted to the correct data type by use of the Public Response VTD VI.
