> For the complete documentation index, see [llms.txt](https://docs.guardianservice.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.guardianservice.app/technical-information/users/standard-registry-users-schemas-and-policies/policies/multi-workflow-engine.md).

# Multi-Workflow Engine

## 1. Purpose <a href="#id-1.-purpose" id="id-1.-purpose"></a>

* Share document references between independent policies/instances using global topics.
* Let other policies listen to those topics and process incoming references in their own branches.
* Keep processing predictable: only events that match configured type/schema/filters are routed and executed.

## 2. Location <a href="#id-2.-location" id="id-2.-location"></a>

### **Admin setup (Policy Configurator)** <a href="#admin-setup-policy-configurator" id="admin-setup-policy-configurator"></a>

Where to add the blocks

* Open Policy Configurator
* Add Global Events Writer and Global Events Reader to the policy flow

<figure><img src="/files/HRi7K4XOPVOSWesVZ8C0" alt=""><figcaption></figcaption></figure>

Get complete information about the blocks: [Global Events Writer Block](https://guardian.hedera.com/guardian/standard-registry/policies/policy-creation/introduction/global-events-writer-block) and [Global Events Reader ](/technical-information/users/standard-registry-users-schemas-and-policies/policies/available-policy-workflow-blocks/global-events-reader-block.md)Block

### 3. Publish policy <a href="#id-3.-publish-policy" id="id-3.-publish-policy"></a>

* Reader/Writer do not work in Dry Run (block UI/pages are not shown and logic is not executed)
* Publish the policy so configuration is applied in a real run.

### 4. User setup (during policy execution) <a href="#id-4.-user-setup-during-policy-execution" id="id-4.-user-setup-during-policy-execution"></a>

#### **Streams management (Writer/Reader)**

* In the running policy UI, open the Reader/Writer block page (streams/topics management)
* User can:
  * Add a global topic
  * Create a global topic
  * Toggle Active ON/OFF
    * ON = Writer publishes / Reader reads & processes
    * OFF = Writer skips / Reader ignores
  * Delete a topic/stream

#### **Streams management (Writer)**

* Document type by topic

<figure><img src="/files/ulTTer4rdlGznhpiRQhr" alt=""><figcaption></figcaption></figure>

#### **Streams management (Reader)**

* User can set filter fields/values for a topic
* Filters are applied only if:
  * document type is VC
  * Admin configured a schema for the target branch

<figure><img src="/files/fS5dT24vXely7breg05x" alt=""><figcaption></figcaption></figure>

#### **Branch execution rule (Reader)**

* A branch is executed only if the incoming event passes all checks:
  * document type matches (if configured)
  * schema validation passes (if configured)
  * field filters match (only if enabled and applicable)

<figure><img src="/files/jg8MKqvmd6mA04yPxdq5" alt=""><figcaption></figcaption></figure>
