> 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/available-policy-workflow-blocks.md).

# Available Policy Workflow Blocks

## Available Policy Workflow Blocks&#x20;

<table><thead><tr><th width="251" align="center">Block</th><th align="center">Definition</th><th width="242.33333333333331" align="center">Documentation Link</th></tr></thead><tbody><tr><td align="center">InterfaceContainerBlock</td><td align="center">A block which contains and organizes other blocks.</td><td align="center"><a href="/pages/bVXc1Fvp9Wy8x1PPWK9P">container-workflow-block</a></td></tr><tr><td align="center">PolicyRolesBlock</td><td align="center">A block which determines a role for the user.</td><td align="center"><a href="/pages/lMEDdADVeK4E8VigcByS">roles-workflow-block</a></td></tr><tr><td align="center">InterfaceStepBlock</td><td align="center">Similar to the InterfaceContainerBlock, with the difference that it can only render a single child element.</td><td align="center"><a href="/pages/hJKdj1ip5Sk0i2pfTVhc">step-workflow-block</a></td></tr><tr><td align="center">requestVCDocumentBlock</td><td align="center">A type of the block which creates a form from the schema, and sends the document to the server.</td><td align="center"><a href="/pages/GPQYAOKNTuDOvOzMeMmC">request-workflow-block</a></td></tr><tr><td align="center">sendToGuardianBlock</td><td align="center">A type of the block which can save a new or updated document.</td><td align="center"><a href="/pages/qnDGlD8huakvXaris7ty">send-workflow-block</a></td></tr><tr><td align="center">reassigningBlock</td><td align="center">A type of block which re-signs the document and change the user to document owner.</td><td align="center"><a href="/pages/3OsGEd1HVJlrlHnBzvjd">reassigningblock</a></td></tr><tr><td align="center">InformationBlock</td><td align="center">A block type which can display a notification or a progress bar.</td><td align="center"><a href="/pages/zPRCuqQ5Pas9vbS9csqy">information-workflow-block</a></td></tr><tr><td align="center">InterfaceDocumentsSourceBlock</td><td align="center">A block type which outputs information from the DB as grid.</td><td align="center"><a href="/pages/5jkExQ5s5RzsqtByMfpp">interfacedocumentssourceblock</a></td></tr><tr><td align="center">paginationAddon</td><td align="center">A block type which adds pagination to the InterfaceDocumentSourceBlock if added</td><td align="center"><a href="/pages/9Td4uz48mv6vw5sWlvXX">paginationaddon</a></td></tr><tr><td align="center">DocumentsSourceAddOn</td><td align="center">A type of block for searching VC as grid</td><td align="center"><a href="/pages/6dX5ClWWJX3QnUMegExC">documentssourceaddonblock</a></td></tr><tr><td align="center">filtersAddOnBlock</td><td align="center">A child block for 'DocumentsSourceAddon'. Contains additional dynamic filters</td><td align="center"><a href="/pages/at3pvYf4HPHRUYwfyuWF">filtersaddonblock</a></td></tr><tr><td align="center">InterfaceActionBlock</td><td align="center">A block to create custom actions.</td><td align="center"><a href="/pages/ELwePWGOAgeqSIzxeNYm">action-workflow-block</a></td></tr><tr><td align="center">externalDataBlock</td><td align="center">Receives data from the external source and passes them over the the next block.</td><td align="center"><a href="/pages/ntdUamowoaUQc90I7Tic">external-data-workflow-block</a></td></tr><tr><td align="center">retirementDocumentBlock</td><td align="center">Receives the VC from the previous block and retires based on the rule(s).</td><td align="center"><a href="/pages/O4dd3Ighh6SX3O80ephe">retirementdocumentblock</a></td></tr><tr><td align="center">calculateContainerBlock &#x26; calculateMathAddonBlock</td><td align="center">The blocks to calculate. calculateContainerBlock: Receives VC from the previous block. Passes the new VC to the next block.<br>calculateMathOnBlock: Child block for 'calculateContainerBlock'. Contains descriptions of variables and formulas.</td><td align="center"><a href="/pages/3reDQXgB3FGDqWv3Fwuy">calculatecontainerblock-and-calculatemathaddonblock</a></td></tr><tr><td align="center">reportBlock</td><td align="center">The block container for TrustChain.</td><td align="center"><a href="/pages/EjbobmBwoCELky3PMUgz">reportblock-and-reportitemblock</a></td></tr><tr><td align="center">reportItemBlock</td><td align="center">The block for setting up the elements of the TrustChain.</td><td align="center"><a href="/pages/EjbobmBwoCELky3PMUgz">reportblock-and-reportitemblock</a></td></tr><tr><td align="center">Switch Block</td><td align="center">This block transfers execution to one or more blocks depending on the parameters</td><td align="center"><a href="/pages/vfTv89wyUGkh05biBys7">switchblock</a></td></tr><tr><td align="center">timerBlock</td><td align="center">timer object which triggers the event</td><td align="center"><a href="/pages/PjecBLDVUo8E3zqXmHrd">timerblock</a></td></tr><tr><td align="center">aggregateDocumentBlock</td><td align="center">block responsible for aggregation of the documents</td><td align="center"><a href="/pages/uZKoqUFW49OsMC3G7SSe">aggregatedocumentblock</a></td></tr><tr><td align="center">revocationBlock</td><td align="center">This Block finds related messages in policy topics, and revokes those messages and sends it to Hedera topic, but it doesn’t save documents in DB</td><td align="center"><a href="/pages/bHoDYy1TrTmO4fMxSlEV">revocationBlock</a></td></tr><tr><td align="center">setRelationshipsBlock</td><td align="center">Contains DocumentSourceAddOn Block and set relationships for input document.</td><td align="center"><a href="/pages/vKlYpo64eKYQ9S74UgdG">setrelationshipsblock</a></td></tr><tr><td align="center">buttonBlock</td><td align="center">Block responsible for creating buttons</td><td align="center"><a href="/pages/TmU0s6ZI6demuHza192P">buttonblock</a></td></tr><tr><td align="center">documentValidatorBlock</td><td align="center">Block to validate documents, including linked documents</td><td align="center"><a href="/pages/cIFFWKFdsYQy9sm0CFka">documentvalidatorblock</a></td></tr><tr><td align="center">tokenActionBlock</td><td align="center">Block is responsible to automation actions related to tokens</td><td align="center"><a href="/pages/z8G82FmflvgQgkxZIFX6">tokenactionblock</a></td></tr><tr><td align="center">tokenConfirmationBlock</td><td align="center">Block enables the owner of the private key for the account to manually perform operations with the token</td><td align="center"><a href="/pages/XOgiVp8wqxuDvPTYaxCD">tokenconfirmationblock</a></td></tr><tr><td align="center">mintDocumentBlock</td><td align="center">Block is responsible for adding configurations on calculating the amount of tokens to be minted.</td><td align="center"><a href="/pages/pen4kwLqjVeFpjaWPvyL">mintdocumentblock</a></td></tr><tr><td align="center">groupManagerBlock</td><td align="center">Block allows to manage group membership, add and remove users from the group.</td><td align="center"><a href="/pages/dFXGsidj1BjvCiV5QgSK">groupmanagerblock</a></td></tr><tr><td align="center">multiSignBlock</td><td align="center">This block provides a way to specify multiple signators for a single VC document, and then create a VP based on it.</td><td align="center"><a href="/pages/MIu59c8i6xyOzEodqRvn">multisignblock</a></td></tr><tr><td align="center">customLogicBlock</td><td align="center">This block is used to perform Logic</td><td align="center"><a href="/pages/7HsIiU3U5pyyiEH6beEu">customlogicblock</a></td></tr><tr><td align="center">splitBlock</td><td align="center">This block allows to accumulate VC documents and produce new VCs in fixed chunks</td><td align="center"><br><a href="/pages/sfafi6AdccUNoyDpmNRV">splitblock</a></td></tr><tr><td align="center">create Token Block</td><td align="center">This block is used to create Token template</td><td align="center"><a href="/pages/S6i93P9LlZWdYasDEbqV">create Token Block</a></td></tr><tr><td align="center">Impact Addon</td><td align="center">This Addon is for the mint block which allows to add additional info for the token being created.</td><td align="center"><a href="/pages/uGTo0QWIcvQwEjuSkGhv">Impact Addon</a></td></tr><tr><td align="center">HttpRequestBlock</td><td align="center">This block is used to retrieve information from outside</td><td align="center"><a href="/pages/gYGvs2LUHt2Q6ztytcal">HttpRequestBlock</a></td></tr><tr><td align="center">historyAddOn</td><td align="center">This block turn on history on interfaceDocumentsSourceBlock.</td><td align="center"><a href="/pages/nnOr3ME9FZlnEFHgAVbI">historyAddOn</a></td></tr><tr><td align="center">selective Attributes Block</td><td align="center">This will filter attributes (option field) in documents returned by documentsSourceAddon.</td><td align="center"><a href="/pages/5HnzFaaB3FDSIhaIUs5u">selectiveAttributes Block</a></td></tr><tr><td align="center">tagsManagerBlock</td><td align="center">This Block is responsible for managing tags in policies.</td><td align="center"><a href="/pages/oPbNV4pse5TjXWEpJfYC">tagsManagerBlock</a></td></tr><tr><td align="center">extractDataBlock</td><td align="center">This Block provides means to extract a data set which corresponds to any of these embedded schemas </td><td align="center"><a href="/pages/wj2nPHl2pPRetweuF8Fk">extractDataBlock</a></td></tr><tr><td align="center">Data Transformation Addon</td><td align="center"><p>This Block produces a transformed result based on the data from the source</p><p>and filters blocks</p></td><td align="center"><a href="/pages/TTp1eXLh9oYcFAwfOPLg">Data Transformation Addon</a></td></tr><tr><td align="center">button block Addon</td><td align="center">This block is used to display interactive buttons</td><td align="center"><a href="/pages/rBC0bOaqmvwfj1FJmDek">buttonblockAddon</a></td></tr><tr><td align="center">Dropdown Block Addon</td><td align="center">The block is to display an interactive dropdown menu</td><td align="center"><a href="/pages/fVeRcYFIYjUkIlreptGe">dropdownblockaddon</a></td></tr><tr><td align="center">RequestVC Document Block Addon</td><td align="center">This block is to display an interactive button in the interfaceDocumentsSourceBlock.</td><td align="center"><a href="/pages/GWxxiPnigwsZhfH074qB">requestVCDocumentBlockAddon</a></td></tr><tr><td align="center">IntegrationButtonBlock</td><td align="center">This block enable interaction with third-party data providers</td><td align="center"><a href="/pages/GhLdrhcBerBvJXWdta5e">IntegrationButton</a></td></tr><tr><td align="center">Global Events Reader Block</td><td align="center">This block subscribes to global topics and routes incoming events into policy branches</td><td align="center"><a href="/pages/VaYbdAugCyEOlG7OKT5a">Global Events Reader</a></td></tr><tr><td align="center">Global Events Writer Block</td><td align="center">This block publishes document references to one or more global Hedera topics</td><td align="center"><a href="/pages/613C3a7lYOHAqfujZZLZ">Global Events Writer</a></td></tr></tbody></table>
