**Source URL:** https://general.veevavault.dev/qualityone/vault-toolbox/intellij-plugin/guides/designing-deploying-custom-vpks

# Designing & Deploying Custom VPKs

Vault Toolbox includes tools to assist with designing, building, and deploying custom configuration migration packages, or VPKs.

## Creating a VPK

The Vault Toolbox plugin allows you to create local configuration packages within IntelliJ IDEA. This operation creates a VPK build manifest, which is a JSON file that includes components, custom Vault Java SDK, and Web SDK distributions.

To create a local package:

<Steps>
1.  Within IntelliJ IDEA, open the Vault Toolbox plugin from the righthand sidebar.
2.  Select the **Actions** (<Icon name="ph:sliders-horizontal" />) tab.
3.  Expand **Deployment** (<Icon name="ph:package" />) and double-click **Local Packages** (<Icon name="ph:package" />).
4.  In the dialog, click <Icon name="ph:plus" /> to create a new package.
5.  Optional: If you'd like to edit an existing package, select the package from the list, then click <Icon name="ph:pencil-simple" />.
6.  Optional: To create a copy from an existing package, select the package from the list, then click <Icon name="ph:copy-simple" />.
7.  Provide a **Name**, **Author**, **Summary**, and **Description** for the new package.
    
    <ThemeImage srcLight="/images/toolbox/intellij-plugin/build_package_light.png" srcDark="/images/toolbox/intellij-plugin/build_package_dark.png" alt="IntelliJ Plugin Build Packages" />
    
8.  Optional: Select the **Java SDK** tab, then select the **Include Java SDK** checkbox. Within the **SDK Path** field, click the folder icon (<Icon name="ph:folder-simple" />) to select a path. In the dialog, navigate to the file you'd like to include in the package, then click **OK**. Select an option from the **Deployment Options** dropdown. Learn more about the available deployment options in the [Vault Java SDK documentation](/vault-sdk/deploying-code/create-vpk/#Deployment_Options).
9.  Optional: Select the **Components & Data** tab to view the components currently included in this package. Click <Icon name="ph:plus" /> to add a component or click <Icon name="ph:minus" /> to remove a component. Use the arrow icons to move components up or down in the order of deployment.
10.  Optional: Select the **Web SDK** tab to view the Custom Pages currently included in this package. Click <Icon name="ph:plus" /> to add a distribution or click <Icon name="ph:minus" /> to remove a distribution. Click <Icon name="ph:pencil-simple" /> to edit an existing distribution.
11.  Once you're finished creating your package, click **Save**.
</Steps>

 

<ThemeImage srcLight="/images/toolbox/intellij-plugin/create_vpk_package_light.png" srcDark="/images/toolbox/intellij-plugin/create_vpk_package_dark.png" alt="Creating a Local Package" />

Vault Toolbox generates a folder containing a `.json` file representing the build manifest. You can access this file from the `toolbox/vpk/{package-name}/packages` folder in your project directory. Next, you must build your VPK from the manifest file before deploying to Vault.

## Building a VPK

Vault Toolbox provides the capability of building VPKs within IntelliJ IDEA.

To build a VPK:

<Steps>
1.  Open the Vault Toolbox plugin from the righthand sidebar.
2.  Select the **Actions** (<Icon name="ph:sliders-horizontal" />) tab.
3.  Expand **Deployment** (<Icon name="ph:package" />) and double-click **Local Packages** (<Icon name="ph:package" />).
4.  In the dialog, select one or more packages from the list or click **Select** in the header to select all packages.
5.  Click <Icon name="ph:hammer" /> to build the package(s). Alternatively, you can click <Icon name="ph:play" /> to build the VPK and deploy it asynchronously.
</Steps>

A notification appears informing you a VPK has been created. Vault Toolbox generates a file with a `.vpk` extension in addition to a build folder containing any components and `vaultpackage.xml`. You can access these files and folders from the `toolbox/vpk/{package-name}` folder in your project directory.

## Deploying a VPK

Vault Toolbox provides the capability of deploying a VPK to Vault.

To deploy a VPK to Vault:

<Steps>
1.  Open the Vault Toolbox plugin from the righthand sidebar.
2.  Select the **Actions** (<Icon name="ph:sliders-horizontal" />) tab.
3.  Expand **Deployment** (<Icon name="ph:package" />) and double-click **Local Packages** (<Icon name="ph:package" />).
4.  In the dialog, the available packages to deploy are differentiated by a <Icon name="ph:package" /> within the *VPK* column. Select a package from the list.
5.  Optional: Click <Icon name="ph:check" /> to validate the package prior to deploying.
6.  Click <Icon name="ph:upload" /> to deploy the VPK to your Vault.
</Steps>

A notification appears informing you the VPK has been deployed. To verify that a VPK has deployed successfully, log in to the Vault UI and navigate to **Admin > Deployment > Inbound Packages**. The VPK should be visible in the list with a *Deployment Status* of *Deployed*.

## Working with Inbound Packages

With the Vault Toolbox plugin, you can download and view inbound packages that exist in your Vault.

To download inbound packages:

<Steps>
1.  Open the Vault Toolbox plugin from the righthand sidebar.
2.  Select the **Actions** (<Icon name="ph:sliders-horizontal" />) tab.
3.  Expand **Deployment** (<Icon name="ph:package" />) and double-click **Local Packages** (<Icon name="ph:package" />).
4.  Optional: Click <Icon name="ph:arrows-counter-clockwise" /> to refresh the list of inbound packages.
5.  In the dialog, select one or more inbound packages from the list or click **Select** in the header to select all packages.
6.  Optional: After the packages have downloaded successfully, click <Icon name="ph:eye" /> within the dialog to open the package in a File Viewer or <Icon name="ph:crosshair-simple" /> to locate the folder within your project directory. Alternatively, select a package and click <Icon name="ph:x" /> to clear local files.
</Steps>

 

<Aside type="tip">
In the *Inbound Packages* table, you can click and drag across rows to toggle their selection checkboxes in bulk, or right-click a row to access the available actions from a context menu.
</Aside>

---

**Previous:** [Comparing Vaults](/qualityone/vault-toolbox/intellij-plugin/guides/comparing-vaults)  
**Next:** [Using the VQL Console](/qualityone/vault-toolbox/intellij-plugin/guides/vql-console)