# Updating a private blueprint

## Introduction

As a user associated with the company profile that [built a blueprint](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/building-a-private-blueprint), you can make changes to the blueprint and publish an updated version. This guide walks through the steps required to achieve this.&#x20;

## Need to know

* Blueprints built and installed before 5th November 2025 cannot be updated. If you have older blueprints but want to utilise the update functionality, you should [build](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/building-a-private-blueprint) and [install](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/installing-a-private-blueprint) new versions.
* A blueprint can have up to ten versions. If you attempt to publish a new version that would exceed this limit, you are prompted to confirm the deletion of the oldest version (first in, first out). For more information, please refer to [About blueprint versions](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/about-blueprint-versions).
* When updating a blueprint, you can add new and remove existing process flows. When an existing blueprint installation is updated to this version, all associated process flows are 'un-deployed' first. If you have removed a flow from the updated version, that flow remains in place, but it is not redeployed for the company. &#x20;
* You can change the component parts of an existing process flow in a blueprint - for example, apply different connectors, cross-reference lookups, or scripts. When an existing blueprint installation is updated to this version, the new components are installed; the old components stay in place but are not referenced in the updated flows.

## Suggested workflow for updating blueprints

The suggested workflow for updating and then rolling out a private blueprint is as follows:

{% stepper %}
{% step %}
**Make changes to the blueprint and publish a new version**\
Make your required changes in a draft, then publish a new version (as detailed [below](#the-steps)).&#x20;

{% hint style="info" %}
At this point, the updated version is not [active](https://doc.wearepatchworks.com/product-documentation/blueprints/about-blueprint-versions#the-active-version), - i.e. it will NOT be installed if someone chooses to [install this blueprint from your private marketplace](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/installing-a-private-blueprint). For more information about the `active` version of a blueprint, please refer to [About blueprint versions](https://doc.wearepatchworks.com/product-documentation/blueprints/about-blueprint-versions#the-active-version).
{% endhint %}
{% endstep %}

{% step %}
**Promote this version for testing**\
[Promote this version to one 'child' company](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/rolling-out-blueprint-updates/bulk-blueprint-updates-force) (or your own company) for testing.

{% hint style="info" %}
For testing purposes, you may choose to install a new blueprint in your own company or to have a dedicated 'child' company for testing.&#x20;
{% endhint %}
{% endstep %}

{% step %}
**Test the blueprint**\
[Install](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/installing-a-private-blueprint) and test the blueprint. If necessary, make and publish further updates (promoting each one to your test company for checks).
{% endstep %}

{% step %}
**Set the final version as active**\
When you're satisfied that a published version is ready for general use, [set it to be the active version](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/changing-the-active-version-for-a-private-blueprint).
{% endstep %}

{% step %}
**Promote the update to existing installations**\
You can force a [bulk update](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/rolling-out-blueprint-updates/bulk-blueprint-updates-force), or allow child companies to [accept the update manually](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/rolling-out-blueprint-updates/accepting-a-blueprint-update-manually).
{% endstep %}
{% endstepper %}

## The steps

{% stepper %}
{% step %}
**Log in to your own company profile**

Log in to the dashboard and (if you're managing multiple company profiles) ensure that you've [switched to your own profile](https://doc.wearepatchworks.com/product-documentation/company-management/multi-company-profiles/switching-in-and-out-of-a-linked-company).
{% endstep %}

{% step %}
**Access private blueprints**

Select `marketplace` from the left-hand navigation menu, then select `blueprints` and `private` tabs. Here you will see any blueprints that have been built by users associated with your company profile.
{% endstep %}

{% step %}
**Access the manifest for the required blueprint**

Click the blueprint tile that you want to update. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FJkF2b8NcqUR6edt7kxbk%2Finstall%20flow%201.png?alt=media&#x26;token=ae927bbd-dd2c-4494-9e84-b9601286382d" alt=""><figcaption></figcaption></figure>

The [blueprint manifest](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/building-a-private-blueprint) is displayed. For example:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FXEV4FkShsATgMIpulGDk%2Fcreate%20draft%201.png?alt=media&#x26;token=30aca899-afb4-4c6d-83e6-5aaead9beb65" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Open a new draft**

Click the ellipsis icon at the top of the page:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2Fpw1QP9SgdEgbRtnya90i%2Fcreate%20draft%202.png?alt=media&#x26;token=417d10d7-994e-4dcf-bbaa-77872d380a71" alt=""><figcaption></figcaption></figure>

Then select the `open draft` option:

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FGGoNdPJ1PXGjusZ6Btze%2Fcreate%20draft%203.png?alt=media&#x26;token=943c9975-4417-4adf-870b-f3bd66ec99f6" alt="" width="375"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**Make your changes**

An empty blueprint manifest opens in `draft` mode so you can add the required flows and (if necessary) adjust components as needed:

<figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2Fmmfu1GhrTuv9oRAxUgjT%2Fupdate%20blueprint%20-%20empty%20manifest.png?alt=media&#x26;token=07d546be-374e-47c5-a8a4-87391c172227" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Ensure that all process flows to be included in the blueprint are selected. If a process flow is not selected, it is not included.
{% endhint %}

{% hint style="info" %}
Remember that adding a process flow to a blueprint also adds its components (such as connectors, scripts, cross-reference lookups, etc.).
{% endhint %}
{% endstep %}

{% step %}
**Publish the updated version**

If you're ready to install/test this version, click the `publish` button at the top of the manifest. For example:

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FCSMBhZ8AncLYLYnkhcPx%2Fupdate%20blueprint%205.png?alt=media&#x26;token=8ca4f115-4622-4ea6-b3ce-fb91297c6986" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
A blueprint can have [up to ten versions](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/about-blueprint-versions). If you reach this limit and attempt to publish another version, you are prompted to confirm that the oldest version can be removed. For example:

![](https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2F6yai8yMLdAbIxl4vgF27%2Fmax%2010%20versions%20-%20delete%20confirmation.png?alt=media\&token=abcdfa69-49c4-44dd-876b-8e2d82fbb843)

If you would prefer to remove a different version to make way for a new one, select `cancel` and then [delete the required version](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/deleting-a-blueprint-version) before trying the `publish` operation again.

Also note that if the oldest version is also the `active` version, it can't be deleted automatically. In this case, you'll see an error message when attempting to publish a new version - for example:

![](https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FWGkkMvY0zoi7RgsGbbWe%2Fmax%2010%20versions%20-%20oldest%20is%20active%20message.png?alt=media\&token=07cd2f25-d803-4b93-b5e7-9f72410088a5)

In this case, you need to [change the active version](https://doc.wearepatchworks.com/product-documentation/blueprints/working-with-private-blueprints/changing-the-active-version-for-a-private-blueprint) before trying the `publish` operation again.&#x20;
{% endhint %}
{% endstep %}

{% step %}
**Post-publish actions**

Next steps are detailed in our [suggested workflow](#suggested-workflow-for-updating-blueprints), above.&#x20;
{% endstep %}
{% endstepper %}
