Skip to main content

Get started with pipeline templates

Pipeline templates provide a convenient way to preconfigure all components of a pipeline, serving as a blueprint for creating new pipelines efficiently. With templates, you can preset the input and output connectors, target data model, error threshold, and schedule, saving time and effort. Templates are particularly useful when you want your customers or other users to create pipelines without having to choose and set all the components themselves. By creating a template with the desired preset components, you can streamline the pipeline creation process for your users, ensuring consistency and ease of use. Whether you're setting up pipelines for internal use or providing a service to clients, pipeline templates offer a powerful tool to simplify and standardize the pipeline configuration process.

Let’s get started

In this guide, we will go through the general process of creating a pipeline template. Please refer to the general guide on how to use the nuvo API to learn more about how to create pipeline components like connectors and target data models. Once you have created the pipeline template you can refer to it in the CreatePipeline embeddable component.

Get your access token

Learn more about our authentication API here.

Use this endpoint

Endpoint

POST api-gateway.getnuvo.com/dp/api/v1/auth/access-token

Send a POST request to get your access token

cURL
Javascript
curl -X 'POST' 'https://api-gateway.getnuvo.com/dp/api/v1/auth/access-token' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"license_key": LICENSE_KEY,
"auth": {
"identifier": E-MAIL,
"type": "USER"
}
}' # Replace LICENSE_KEY with your license key & E-MAIL with a user's email

Create a pipeline template

Learn more about our pipeline template API here

Use this endpoint

Endpoint

POST api-gateway.getnuvo.com/dp/api/v1/pipeline-template

Send a POST request to create a pipeline template

cURL
Javascript
curl -X 'POST' 'https://api-gateway.getnuvo.com/dp/api/v1/pipeline-template' \
-H 'accept: application/json' \
-H 'Authorization: Bearer ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"name": "Pipeline template",
"pipeline_name": "Pipeline name",
"input_connectors": ["6695092a8266536c28b97000"],
"output_connectors": ["66bb5afde31b39b57a580000"],
"schedule_config": {
"frequency": "HOURLY",
"interval": 6,
"starts_on": "2024-09-21T06:57:06.672Z",
"ends_on": "2024-09-30T06:57:06.672Z"
},
"error_config": {
"error_threshold": 32
}
}' # Replace ACCESS_TOKEN with the access token from the first step

Use a pipeline template in CreatePipeline

Learn more about implementing the CreatePipeline embeddable here.

Refer to the pipeline template as shown in the code snippet below:

<CreatePipeline
accessToken="ACCESS_TOKEN"
templateId="TEMPLATE_ID" // Add the ID of the newly created template here
settings={{
i18nOverrides: {},
language: "en",
modal: true,
allowTdmCreation: false,
allowInputConnectorCreation: false,
allowOutputConnectorCreation: false,
}}
onPipelineCreate={({ data }) => {
// runs after the user has confirmed the final step of the flow to create a pipeline
// data: pipeline object after creation
}}
onClose={() => {
// runs when the creation workflow is closed via the "Cancel" button or the "X" button
}}
onConnectorCreate={({ reload, connectorType }) => {
// runs when the user clicks on "Create connector" when selecting an input or output connector
// reload: on function call, refetch the connectors
// connectorType: "input" or "output"
}}
onTdmCreate={({ reload }) => {
// runs when the user clicks on "Create target data model" when selecting a target data model
// reload: on function call, refetch the TDMs
}}
/>