---
description: >-
  Maintain uniform JSON schemas for all ProcessMaker Platform assets in your
  organization.
---

# Vocabularies Package

## Overview

{% hint style="info" %}
### Need to Learn How to Develop JSON Schemas?

Start with [JSON Schema](https://json-schema.org/).
{% endhint %}

Use the Vocabularies package to maintain uniform JSON schemas across all assets in your organization. These assets include Processes, Screens, and Scripts.

Use Vocabularies to enforce compliance with a specific data structure in Request data for your Processes. Apply one or more Vocabularies to your Processes and/or specific BPMN elements in your Process models to ensure the JSON data model in Request data complies with a data structure you need to meet regulatory specifications or ensure Request data contains required information as each Request routes through workflow.

A Vocabulary is a JSON schema designed to annotate and validate ProcessMaker Platform assets to which that Vocabulary is applied. The JSON schema describes your existing data format(s) in both a machine and human readable structure. Any ProcessMaker asset to which that Vocabulary applies must conform to that JSON schema.

Use Vocabularies for the following reasons:

* Ensure that data associated with the ProcessMaker Platform asset to which the Vocabulary applies complies with a required data format. For example, use a Vocabulary on a Task element. By extension, the Vocabulary applies to the Screen referenced by that Task element. The Vocabulary ensures that the Screen designer complies with the JSON schema as structured in the Vocabulary. This maintains consistency, validation, and compliance across any Task to which that Vocabulary applies.
* Ensure the quality and compliance of submitted data. For example, ensure that information entered into a Screen for a Task complies with a regulatory specification.

The Vocabularies package has the following components after it is installed:

* **Manage your Vocabularies:** Manage your organization's Vocabularies. See [Vocabularies Management](broken-reference).
* **Set Vocabulary permissions:** Determine which users and/or groups have permission to view, create, edit or delete Vocabularies. See [Vocabulary permissions](broken-reference).
* **Start Event element configuration:** [Configure how to assign Vocabularies](broken-reference) to a Start Event element.&#x20;
*   **Intermediate Message Catch Event element configuration:** [Configure how to assign Vocabularies](broken-reference)

    &#x20;to an Intermediate Message Catch Event element.
* **Form Task element configuration:** [Configure how to assign Vocabularies](broken-reference)  to a Form Task element.
* **Manual Task element configuration:** [Configure how to assign Vocabularies](broken-reference)  to a Manual Task element.
* **Script Task element configuration:** [Configure how to assign Vocabularies](broken-reference)  to a Script Task element.
* **Sub Process element configuration:** [Configure how to assign Vocabularies](broken-reference) to a Sub process element.
