# Subflow Call

{% hint style="info" %}
O conector Subflow Call faz parte de um conjunto de conectores para chamada de subfluxos e retorno de dados para o fluxo principal. Acesse a documentação dos conectores [Subflow Input](https://docs.floui.io/guia/conectores/categorias/filas-e-eventos/subflow-input) e [Subflow Output](https://docs.floui.io/guia/conectores/categorias/filas-e-eventos/subflow-output) para saber mais sobre como utilizá-los em seu ambiente.
{% endhint %}

{% tabs %}
{% tab title="Parâmetros" %}

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXe3ufyseSIKMu3D2a9ZMOycMW6U33OG1_LG6TsLV3-Wu0Yh9w9LPekNht-JQTa12Om6b5pnIs4NvHUxw4ZOPu7faQBtTuxx5-t4tkNbFZO6cIkm-GkHYO0Pgl-H7wcHZBN1pfqIqA?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Parâmetros de configuração</p></figcaption></figure>

| Campo                     | Tipo           | Descrição                                                                                                                                                                      |
| ------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Descrição                 | Campo de texto | Descrição visual do conector na construção do fluxo.                                                                                                                           |
| Identificador do subfluxo | Campo de texto | Define um identificador de um subfluxo a ser acionado. O identificador inserido nesta configuração deverá também ser inserido no conector Subflow Input dentro do mesmo fluxo. |
| {% endtab %}              |                |                                                                                                                                                                                |

{% tab title="Payload" %}

## Sucesso

O conector Subflow Call, ao identificar um subfluxo através do identificador parametrizado, irá dar início a execução do subfluxo.&#x20;

No exemplo abaixo, um fluxo percorre uma lista de usuários e chama um subfluxo responsável por verificar se cada usuário está cadastrado em um banco de dados interno. Se o usuário já existir, seus dados serão atualizados; caso contrário, um novo registro será criado. Após isso será retornado para o fluxo principal, onde os demais conectores serão executados.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGgc7GMX8tf3gz2G1G2ryHiH4CqVg_j_JM5ZX5BUQOrBHTgEHfr5v8gLrP3poAJofbWH5AKlyBegfTby0pbJuyZv5cgj1Yi7djHJ5V8VB6FawiQofeEGA5cv3fWjbchLbrAw0zeg?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Exemplo de subfluxo</p></figcaption></figure>

Quando o conector é executado, ele cria uma estrutura específica dentro do objeto msg, que é o principal repositório de dados da execução. Dentro dessa estrutura, o campo identifier representa o identificador definido na configuração do conector, permitindo distinguir diferentes execuções. Já o objeto message contém as informações que serão enviadas para o subfluxo chamado, garantindo que os dados necessários sejam transmitidos corretamente para o processamento subsequente.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcI5esmUhd3juGHUlTOSqsyu-gjaI6azQJ7uzLeZPK0-3DTXETiuKeXB_LCi5C8xbGNiDAkVkYqvVTQm12ZzgO1Ahn6FvPwK3XILVcVIZJgVyhDqMnQ3YT7LX_BVyoDL0RtPDfg?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Transmissão de dados para subfluxo</p></figcaption></figure>

## Erro

Caso o subfluxo não seja encontrado, ou esteja parametrizado de forma incorreta, a execução irá retornar uma mensagem de erro da seguinte forma.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXebqBiNGeMHA_4ALvjCig3r-U08vv5qHZTks-_lkHMU-ctCHrM2sTWxodfN86K4_bjameoZblmlcXXoPcNU1dydh_tI5JaU_N_TbWZmNeOGI3u1xpV1FyR1U41rPoVVvq8uoXZH5w?key=yLogrgEbXy0K_a4zmB9ApgKO" alt=""><figcaption><p>Erro ao iniciar subfluxo</p></figcaption></figure>
{% endtab %}
{% endtabs %}
