# Como criar um pipeline

Os pipelines são criados no ambiente do Canvas. Siga os passos abaixo para aprender a criar, configurar e construir seu pipeline.

## **Criando o pipeline**

Siga estes passos para criar um pipeline:

1. Na página Build, clique na aba **Pipeline**.
2. Clique em **Criar novo** no canto superior direito.&#x20;
3. Selecione a opção **Pipeline**.

O pipeline é criado automaticamente no seu **projeto padrão**. Para criar um pipeline em um projeto específico, selecione o projeto desejado antes de clicar em **Criar**.

<figure><img src="/files/gSyjJsm7nTO2F6DkaVMl" alt=""><figcaption></figcaption></figure>

## **Configurando o pipeline**

1. Clique no ícone de engrenagem no canto superior direito da tela (ao lado do botão **Salvar**) para acessar as configurações do pipeline.

<figure><img src="/files/2cwekpjTmeBFWoijr1TX" alt=""><figcaption></figcaption></figure>

2. Um painel de configuração será aberto no lado direito da tela. Preencha os campos conforme descrito abaixo:

* **Descrição:** Insira uma breve descrição do pipeline.
* **É multi-instância?:** Ative essa opção se o pipeline deve ser executado como multi-instância. Para mais informações, consulte a documentação sobre [Multi-Instância](/documentation/developer-guide/pt-br/platform-administration/settings/multi-instance.md).
* **Campo sensível:** Defina os campos de dados que devem ser ofuscados nos logs do pipeline, que aparecerão como `***`. O caractere hífen (`-`) é permitido no nome do campo, mas outros caracteres especiais, acentos e a letra *ç* não são suportados.

{% hint style="info" %}
Os campos sensíveis definidos nessa configuração se aplicam apenas a este pipeline específico. Se precisar aplicar campos sensíveis a todos os pipelines do seu realm, consulte a [Política de Campos Sensíveis](/documentation/developer-guide/pt-br/platform-administration/governance/policies/security/sensitive-fields.md).
{% endhint %}

* **InSpec e OutSpec (opcional):** Use essas configurações para definir regras de validação estrutural para a entrada e a saída do pipeline em formato JSON.

#### **InSpec e OutSpec: Validando a estrutura do pipeline**

As configurações **InSpec** e **OutSpec** permitem validar a estrutura dos dados de entrada e saída em **formato JSON**. Elas garantem que o pipeline processe apenas payloads que atendam ao esquema esperado.

* **InSpec:** Valida a estrutura do payload de entrada do pipeline.
* **OutSpec:** Valida a estrutura do payload de saída final.

Essas configurações utilizam validadores JSON (semelhantes ao JSON Schema) para definir o formato esperado dos dados.

**Benefícios**

* Evita falhas de execução causadas por estruturas de dados inesperadas.
* Reduz retrabalho devido a incompatibilidades entre sistemas.
* Melhora a segurança e a previsibilidade do fluxo de dados.
* Simplifica o debug por meio da validação automática de schemas.
* Documenta claramente os contratos de entrada e saída.

**Como funciona**

* Tanto **InSpec** quanto **OutSpec** contêm um esquema de **validação JSON**.
* Se o payload violar a estrutura definida durante a execução, o pipeline é **interrompido**.

**Exemplo: InSpec**

```json
{
  "type": "object",
  "required": ["id", "name", "email"],
  "properties": {
    "id":    { "type": "string" },
    "name":  { "type": "string" },
    "email": { "type": "string", "format": "email" }
  }
}
```

Esse exemplo garante que o payload de entrada inclua `id`, `name` e `email`, com um formato de email válido.

**Observações importantes**

* Esses campos são **opcionais**. Os pipelines funcionam normalmente sem InSpec e OutSpec.
* Eles são recomendados para pipelines de alta criticidade, fluxos com múltiplos consumidores, integrações B2B e contratos internos entre equipes.
* Eles ajudam a melhorar a confiabilidade das integrações e a consistência dos dados.

## **Construindo o fluxo no pipeline**

Siga os passos abaixo para criar um fluxo em um pipeline:

1. Mova o ponteiro do mouse sobre o trigger já disponível no Canvas e clique no botão **Configuração** (representado por um ícone de engrenagem).
2. Selecione um [trigger](/documentation/connectors-and-triggers/pt-br/triggers/overview.md) das opções disponíveis. O gatilho inicia a execução do pipeline, como um [evento](/documentation/connectors-and-triggers/pt-br/triggers/messaging-and-events/event.md) ou um [email](/documentation/connectors-and-triggers/pt-br/triggers/web-protocols/email.md).
3. Configure o gatilho selecionado e clique em **Confirmar** para salvar suas alterações.
4. Após configurar o trigger, clique no botão **+** para começar a criar seu fluxo. Consulte a [documentação sobre o Smart Connector User Experience](/documentation/developer-guide/pt-br/development-cycle/build-overview/canvas/smart-connector-user-experience.md) para mais detalhes sobre as opções de conexão disponíveis.
5. Enquanto constrói seu fluxo, use o [**Painel de Execução**](/documentation/developer-guide/pt-br/development-cycle/build-overview/canvas/execution-panel.md) para testes e o [**Modo Debug**](/documentation/developer-guide/pt-br/development-cycle/build-overview/canvas/design-and-inspect-mode.md) para resolução de problemas.

{% hint style="warning" %}
Os pipelines não são salvos automaticamente. Você precisa clicar no botão **Salvar** sempre que quiser salvar suas alterações. Na primeira vez que salvar, forneça o **Nome**, **Descrição** e **Projeto** ao qual o pipeline pertence.
{% endhint %}

O Canvas, o ambiente onde os pipelines são construídos, oferece várias opções de navegação. Para saber mais, leia a [documentação do Canvas](/documentation/developer-guide/pt-br/development-cycle/build-overview/canvas.md).

### Restrição de tamanho do pipeline

Cada pipeline tem um limite máximo de tamanho de 1 MB, incluindo todos os seus componentes: [conectores](/documentation/connectors-and-triggers/pt-br/connectors/overview.md), [triggers](/documentation/connectors-and-triggers/pt-br/triggers/overview.md), [contas](/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md), [globals](/documentation/developer-guide/pt-br/development-cycle/build-overview/globals.md) e outros. Se o tamanho total ultrapassar esse limite, a implantação não será possível. Antes de implantá-lo, certifique-se de que o tamanho do pipeline está dentro do limite permitido.

#### Como identificar o tamanho do seu pipeline?

**Passo 1:** Copie todos os conectores do pipeline usando um dos seguintes métodos:

* Pressione **Ctrl/Cmd + A** e depois **Ctrl/Cmd + C**.

Ou

* Mantenha pressionado **Ctrl/Cmd**, clique em cada conector e, em seguida, pressione **Ctrl/Cmd + C**.

**Passo 2:** Cole os conectores no [JSON Size Analyzer](https://www.debugbear.com/json-size-analyzer) pressionando **Ctrl/Cmd + V** e execute uma consulta para verificar o tamanho aproximado do pipeline.

Se o pipeline for menor que 1 MB, ele poderá ser implantado. Caso ultrapasse esse limite, reduza seu tamanho antes da implantação.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digibee.com/documentation/developer-guide/pt-br/development-cycle/build-overview/pipelines/how-to-create-a-pipeline.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
