Pipeline templates

Pipeline templates are exported JSON files that let you copy an existing Orchestrate pipeline to a new team without rebuilding it node by node. A template preserves the pipeline structure and provides instructions for mapping team-specific resources during import.

Exporting is unavailable when a canvas contains errors, if there are unsaved changes, or if the canvas is empty.

If the pipeline contains no team-specific resources requiring configuration, the JSON downloads without opening the form. For example, if your canvas contains an Incoming webhook event and an action that has no secret or event object mounted, there is nothing to configure, and the pipeline will automatically get exported.

What gets copied over?

The following information will be copied from pipeline to pipeline:

  • Nodes, configuration, connections, and success/failure branches.
  • Periodic-event schedule settings transfer.
  • Custom actions transfer their current code, dependencies, name, and description.
  • Custom-action testing configuration and previous version history do not transfer.
  • Agents, secrets, statuses and roles are mapped to existing team resources rather than copied.
📘

Keep in mind

  • When you import a pipeline, it’ll be automatically enabled even if the exported pipeline is disabled.
  • Periodic events are automatically created with the existing pipeline’s timeframe configuration. If the date is earlier than when you’re importing the pipeline, this event will trigger the pipeline once.
  • If your event’s scope is set to All projects, it’ll be automatically migrated without any user input.
  • Events that don’t have team-specific resources (Roles, Statuses) will automatically be migrated.

Everything else will need to be configured in the pipeline template export process.

An exported pipeline template can contain the following: Scopes, Statuses, Roles, Webhooks, Emails, Secrets, Custom arguments, and Agents.

What a template contains

These categories will show in the template export menu if their corresponding resources exist in your pipeline.

Scopes

You’ll see every unique project scope path used in at least one event node within the pipeline, separated into sections. A section represents one unique combination of projects and folders used by event nodes. Event nodes with identical scope configurations are grouped together. A scope may contain more than one project.

You must provide each section a separate label, and you may leave a description to instruct users on how to configure the scopes when importing the template.

Statuses

This section lists all unique statuses used in the pipeline. The section must include a label and may also include a description explaining the statuses.

If a user imports the template into a team with a different set of statuses, provide clear instructions for mapping the existing statuses to those available in their team.

Roles

This section lists all unique roles used in the pipeline. The section must include a label and may also include a description explaining the roles.

If a user imports the template into a team with a different set of roles, provide clear instructions for mapping the existing roles to those available in their team.

Webhooks

Each section contains a Request URL used by at least one Send webhook node in the pipeline.

The section must include a label and may also include a description explaining which URL is required when importing the template. Actions that use the same Request URL are grouped into a single section.

If a secret is mapped to the Send webhook node, it won’t be exported. You’ll need to specify in the section’s label or description for the importer to know that a secret must be mapped again during import.

Emails

Each section represents a unique list of email addresses used by at least one Send email node in the pipeline.

The section must include a label and may also include a description explaining which email addresses should be provided when importing the template.

Actions that use the same list of email addresses are grouped into a single section.

Secrets

Each section represents a unique secret used by at least one Custom action node in the pipeline.
The section must include a label and may also include a description explaining which secret should be provided when importing the template.
Actions that use the same secret are grouped into a single section.

Custom arguments

Each section represents a unique Event object of custom arguments used by at least one Custom action node in the pipeline. Identical JSON objects are grouped into a single section.

Select one or more keys to expose when the template is imported; only keys selected during export are shown to importers, while unselected keys are populated automatically.

Each selected key must include a label, may include a description explaining which value should be provided, and must specify a value type: String, Integer, Boolean, or JSON.

Parent keys and their nested keys cannot be selected at the same time.

Agents

This section lists all unique agents used in the pipeline. The section must include a label and may also include a description explaining how importers should map these agents to those available in their team.

Exporting a template

After you provide the required labels and configure any optional descriptions or custom argument keys, click Export Template.

All required fields must be completed before the template can be exported. If a required label is missing, the form directs you to the incomplete field so you can add it.

The template downloads automatically as a JSON file with the same name as your pipeline. The file contains the pipeline structure, its template configuration, and the information required to map team-specific resources during import.

This JSON file is safe and does not include any PII or personal data of any sort. It only includes the necessary data required to import the pipeline to a new team. It must also not be changed in any way after exporting, otherwise the import might fail.

After exporting, click Done to close the form. If you make further changes before closing it, you can export an updated version of the template.

Importing a template

When you create a new pipeline, you may import a template to avoid having to build it from scratch. To do this:

  1. In Orchestrate, click + New Pipeline.
  2. In the pop-up, type a name for your pipeline. If a name isn’t provided, the pipeline will use the name of the JSON file.
  3. Import a template file and click Create.

This will open up the import menu. There, you’ll see the following categories of data that need to be configured: Scopes, Statuses, Roles, Webhooks, Emails, Secrets, Custom arguments, and Agents.

Each category will have its own label and description as defined when the pipeline was exported. There may be more than one section per category, each with its own instructions to follow:

  • Scopes – Specify the project scope: All projects (default), or a specific project and a selection of folders, if applicable. If a folder scope is specified, but the target event node doesn’t support the selected folder or root folder, it won’t be included in its configuration.
  • Statuses – Map the listed statuses to their corresponding ones that exist in your team.
  • Roles – Map the listed roles to their corresponding ones that exist in your team. If a role is specified, but the target event node doesn’t support it, it won’t be included in its configuration.
  • Webhooks – Enter a valid request URL in each field available.
  • Emails – Select an email in each dropdown field available.
  • Secrets – Select a secret for each section available.
  • Custom arguments – Define the value for all keys available based on the value type selected during export. JSON type inputs accept objects, arrays, and null.
  • Agents – Map the listed agents to their corresponding ones that exist in your team.

New custom actions and events will automatically be built in the team when importing a pipeline. If an imported custom action or custom event has the same name as an existing resource of the same type, choose how to proceed:

  • Use existing — Use the existing action or event in the imported pipeline. The existing resource is not modified.
  • Create new — Create a new action or event from the template. You must provide a unique name.

When you’re done configuring everything, you can click Create. After doing so, the pipeline’s canvas will open in an unsaved state. You must save the pipeline to ensure it’s created with all your configurations.

If your pipeline contains custom actions, you can still save the canvas. They’ll start being built in the background and may be in a pending state on the canvas.


Did this page help you?