Skip to main content

CreatePipeline Embeddable

Currently, it’s not possible to create pipelines via the nuvo API. To allow users, either internal teams or your customers, to create pipelines, you need to integrate the CreatePipeline component. This component is easy to implement into your existing application and provides an intuitive workflow:

  • Select the pipeline’s input and output connectors, as well as its target data model (TDM)
  • Configure how the input data should be transformed based on the selected TDM
  • Set an execution schedule and an error threshold (optional)

Depending on your use case, for example, whether you want your customers to go through the flow or, say, your internal customer success team, you can configure the component in different ways. You can use the embeddable as-is, with a linked pipeline template, and/or by injecting parts of the configuration at the component level. If specific components are predefined in the template or within the component itself, they will not be shown in the flow.”

info

A pipeline template is the blueprint of a pipeline. You can predefine certain components so that the user going through the "Create Pipeline" flow doesn’t have to configure them manually.

Configure the component based on your specific use case

Add the code snippet below and place the component on the page where you want it to appear:

Fields

accessToken

Add here your access token

templateId

Add here the ID of the template you want to use when a pipeline is created

configuration

The configuration determines if certain settings or components, such as connectors, target data model, schedule config etc., are already set for the pipeline, meaning that users going through the flow won’t have to set them themselves

developerMode

Set developer mode to true to test pipelines in your testing environment. Pipeline executions in developer mode are free of charge. Set it to false for production use. Please note that pipelines executed in developer mode will only output 100 rows

name

The name of the pipeline

tdmId

The ID of the target data model that should be used for the created pipeline. If this is set, the user won’t be able to select another target data model.

inputConnectorId

The ID of the input connector that should be used for the created pipeline. If this is set, the user won’t be able to select another input connector.

outputConnectorId

The ID of the output connector that should be used for the created pipeline. If this is set, the user won’t be able to select another output connector.

errorConfig

Defines how the pipeline should handle errors that might occur during pipeline execution

errorThreshold

A number between 0 and 100, representing the allowed percentage of erroneous cells during a pipeline execution. For example, if it is set to 10, it means that pipeline executions with less than 10% erroneous cells will be considered successful and will not fail.

scheduleConfig

Defines when the pipeline is executed for the first and last time, as well as the interval at which it is executed

frequency

Sets how often the pipeline is executed. It is intertwined with interval. For example, if frequency is set to HOURLY and interval is set to 2, the pipeline is executed every 2 hours:

  • HOURLY
  • DAILY
  • WEEKLY
  • MONTHLY

interval

Sets the interval based on the frequency at which the pipeline is executed. For example, if interval is set to 2 and frequency is set to HOURLY, the pipeline is executed every 2 hours. The next execution cannot be scheduled further into the future than 1 year from the set start date and time

startsOn

The date and time when the pipeline is first executed, provided as a timestamp in UTC (e.g., 2024-09-02T13:26:13.642Z). The date and time cannot be in the past.

endsOn

The date and time when the pipeline is last executed, provided as a timestamp in UTC (e.g., 2024-09-02T13:26:13.642Z). This date and time cannot be earlier than the start date and time.

settings

i18nOverrides

Allows you to override each text element in the interface

language

Defines the language of the flow. So far we only support English ("en")

modal

Defines whether the component is shown inline (false) or within a modal view (true)

allowTdmCreation

Defines whether the "Create target data model" button is shown in the TDM selection dropdown

allowInputConnectorCreation

Defines whether the "Create connector" button is shown in the input connector selection dropdown

allowOutputConnectorCreation

Defines whether the "Create connector" button is shown in the output connector selection dropdown

onPipelineCreate

Runs after the user has confirmed the final step of the flow to create a pipeline

onClose

Runs when the user trys to exit the "Create Pipeline" flow by clicking "Cancel" or closing the modal using the "X" button

onConnectorCreate

Runs when the user clicks on "Create connector" when selecting an input or output connector

onTdmCreate

Runs when the user clicks on "Create target data model" when selecting a target data model

Component

<CreatePipeline accessToken=string templateId=string configuration={{ developerMode: boolean (default: false), name: string, tdmId: string, outputConnectorId: string, inputConnectorId: string, errorConfig: { error_threshold: number, }, scheduleConfig: { frequency: "HOURLY" | "DAILY" | "WEEKLY" | "MONTHLY", interval: number, startsOn: Date, endsOn: Date, } }} settings={{ i18nOverrides: {}, language: "en", modal: boolean (default: true), allowTdmCreation: boolean (default: false), allowInputConnectorCreation: boolean (default: false), allowOutputConnectorCreation: boolean (default: false) }} onPipelineCreate={({data}) => { // data: is the 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 }} onTdmCreate: {({reload}) => { // runs when the user clicks on "Create target data model" when selecting a target data model }} />