> ## Documentation Index
> Fetch the complete documentation index at: https://docs.olie.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar automação

> Cria uma automação a partir da lista de componentes: um gatilho, condições opcionais e ao menos uma ação. A automação é criada ativa e passa a reagir aos eventos imediatamente. Componentes e opções em [Gatilhos](https://docs.olie.ai/guides/automation/triggers), [Condições](https://docs.olie.ai/guides/automation/conditions) e [Como o fluxo é executado](https://docs.olie.ai/guides/automation/anatomy).



## OpenAPI

````yaml /api-reference/openapi.json post /api/management/automations
openapi: 3.0.0
info:
  title: Olie API
  version: 1.0.0
  description: >
    # Introdução 👋


    Olá! Esta é a documentação oficial da API da [olie.ai](https://olie.ai/).
    Aqui você encontra as referências e exemplos de uso dos nossos endpoints.


    Para uma visão completa, recomendamos fortemente que você leia a
    [documentação oficial](https://docs.olie.ai/api-reference/introduction). Lá
    estão detalhados tópicos essenciais como
    [autenticação](https://docs.olie.ai/api-reference/introduction/authentication),
    [estrutura de
    respostas](https://docs.olie.ai/api-reference/general/response-structure),
    [paginação](https://docs.olie.ai/api-reference/general/pagination) e outros
    guias de integração.


    No Postman, esta coleção foca nas informações específicas de cada requisição
    (endpoints, parâmetros e exemplos), servindo como apoio rápido para testes e
    desenvolvimento.
servers:
  - url: https://api.olie.ai
security:
  - BearerAuth: []
paths:
  /api/management/automations:
    post:
      tags:
        - automations
      summary: Criar automação
      description: >-
        Cria uma automação a partir da lista de componentes: um gatilho,
        condições opcionais e ao menos uma ação. A automação é criada ativa e
        passa a reagir aos eventos imediatamente. Componentes e opções em
        [Gatilhos](https://docs.olie.ai/guides/automation/triggers),
        [Condições](https://docs.olie.ai/guides/automation/conditions) e [Como o
        fluxo é executado](https://docs.olie.ai/guides/automation/anatomy).
      operationId: criarAutomaO
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Definição da automação.
              properties:
                title:
                  type: string
                  description: Nome da automação.
                active:
                  type: boolean
                  description: 'Ignorado na criação: a automação é criada ativa.'
                components:
                  type: array
                  description: >-
                    Lista completa de componentes: ao menos um gatilho e uma
                    ação.
                  minItems: 1
                  items:
                    type: object
                    description: Componente do fluxo.
                    properties:
                      id:
                        type: string
                        description: >-
                          UUID de um componente existente desta automação para
                          atualizá-lo. Em componente novo, envie um ID
                          temporário em texto (ex.: "ACTION1") para
                          referenciá-lo em parent_id no mesmo payload.
                          Componente sem id é ignorado.
                      type:
                        type: string
                        description: Tipo do componente.
                        enum:
                          - trigger
                          - condition
                          - action
                      variant:
                        type: string
                        description: >-
                          Variante do componente. Gatilhos terminam em _trigger,
                          condições em _condition e ações em _action; a variante
                          precisa corresponder ao type. Cada variante tem opções
                          (config) e vínculos (relations) próprios.
                        enum:
                          - project_step_moved_trigger
                          - project_idle_in_step_trigger
                          - project_field_change_trigger
                          - project_tag_linked_trigger
                          - project_dynamic_form_edited_trigger
                          - project_date_reached_trigger
                          - project_execution_trigger
                          - project_content_added_trigger
                          - project_contains_tag_condition
                          - project_contains_funnel_status_condition
                          - project_in_step_condition
                          - project_filter_checker_condition
                          - project_step_put_action
                          - project_change_status_action
                          - project_content_add_action
                          - send_an_email_action
                          - update_project_funnel_status_action
                          - project_funnel_link_toggle_action
                          - project_funnel_tag_add_action
                          - project_funnel_tag_remove_action
                          - project_add_loose_form_action
                          - project_group_link_toggle_action
                          - update_form_counter_action
                          - project_save_form_history_action
                          - unlink_project_from_step_action
                          - webhook_dispatch_action
                          - create_project_action
                          - assignee_users_action
                          - update_date_field_action
                          - create_customer_action
                          - create_contact_action
                          - create_project_hierarchy_action
                          - step_assistant_execute_manually_action
                          - update_manual_goal_progress_action
                          - project_execution_control_action
                      order:
                        type: integer
                        description: Posição do componente entre os irmãos (a partir de 0).
                        minimum: 0
                      parent_id:
                        type: string
                        description: >-
                          id (real ou temporário) da condição à qual o
                          componente pertence. Nulo no nível principal do fluxo.
                        nullable: true
                      conditional_case:
                        type: string
                        description: >-
                          Ramo da condição pai em que o componente fica:
                          when_true (se verdadeiro) ou when_false (se falso).
                        enum:
                          - when_true
                          - when_false
                          - null
                        nullable: true
                      config:
                        type: object
                        description: Opções do componente; as chaves dependem da variante.
                        nullable: true
                      project_scope:
                        type: object
                        description: >-
                          Em quais projetos o componente age. Proibido em
                          gatilhos. Omitido, mantém o escopo salvo; padrão: o
                          projeto que disparou.
                        properties:
                          scope:
                            type: string
                            description: >-
                              trigger (projeto que disparou), descendants,
                              ancestors, siblings, siblings_including_trigger,
                              advanced_syntax (lista por expressão) ou filtered
                              (só ações, projetos de um filtro).
                            enum:
                              - trigger
                              - descendants
                              - ancestors
                              - siblings
                              - siblings_including_trigger
                              - advanced_syntax
                              - filtered
                              - null
                            nullable: true
                          quantifier:
                            type: string
                            description: >-
                              Só em condições com escopo diferente de trigger
                              (obrigatório nesse caso): all (todos passam), any
                              (ao menos um) ou none (nenhum).
                            enum:
                              - all
                              - any
                              - none
                              - null
                            nullable: true
                          advanced_syntax:
                            type: string
                            description: >-
                              Expressão que devolve os projetos. Obrigatória e
                              permitida só com scope advanced_syntax.
                            nullable: true
                          hierarchy_levels:
                            type: array
                            description: >-
                              Níveis da hierarquia considerados (1 a 3), só com
                              descendants ou ancestors. Vazio = todos.
                            items:
                              type: integer
                              description: Nível da hierarquia.
                              minimum: 1
                              maximum: 3
                            nullable: true
                          filter:
                            type: array
                            description: >-
                              Só em ações com escopo diferente de trigger
                              (obrigatório com filtered): regras que restringem
                              os projetos. Omitido mantém o filtro salvo; lista
                              vazia o remove.
                            minItems: 1
                            items:
                              type: object
                              description: Regra do filtro.
                              properties:
                                field:
                                  type: string
                                  description: Campo do projeto avaliado.
                                operator:
                                  type: string
                                  description: Operador de comparação.
                                  enum:
                                    - equals
                                    - not_equals
                                    - contains
                                    - not_contains
                                    - greater_than
                                    - greater_than_or_equals
                                    - less_than
                                    - less_than_or_equals
                                    - is_null
                                    - is_not_null
                                value:
                                  description: Valor comparado.
                                  nullable: true
                                  anyOf:
                                    - type: string
                                    - type: number
                                    - type: boolean
                                    - type: array
                                      items: {}
                                logical_operator:
                                  type: string
                                  description: >-
                                    Como a regra se combina com a anterior.
                                    Padrão: and.
                                  enum:
                                    - and
                                    - or
                                    - null
                                  nullable: true
                                arguments:
                                  type: array
                                  description: >-
                                    Argumentos extras da regra (ex.: campo de
                                    formulário ou funil de referência).
                                  items:
                                    type: object
                                    description: Argumento da regra.
                                    properties:
                                      argument_key:
                                        type: string
                                        description: Nome do argumento.
                                      argument_value_type:
                                        type: string
                                        description: Tipo do objeto referenciado.
                                      argument_value_id:
                                        description: ID do objeto referenciado.
                                        anyOf:
                                          - type: string
                                          - type: integer
                                    required:
                                      - argument_key
                                      - argument_value_type
                                      - argument_value_id
                              required:
                                - field
                                - operator
                        additionalProperties: false
                        nullable: true
                      relations:
                        type: array
                        description: >-
                          Vínculos com objetos da conta (etapas, etiquetas,
                          formulários, usuários etc.). A lista substitui os
                          vínculos anteriores do componente.
                        items:
                          type: object
                          description: Vínculo com um objeto da conta.
                          properties:
                            id:
                              type: string
                              description: >-
                                UUID de um vínculo existente para mantê-lo.
                                Omita em vínculo novo.
                              format: uuid
                              nullable: true
                            model_type:
                              type: string
                              description: >-
                                Tipo do objeto vinculado. Os aceitos dependem da
                                variante.
                              enum:
                                - App\Models\FunnelStep
                                - App\Models\FunnelTag
                                - App\Models\FunnelStatus
                                - App\Models\ProjectFunnel
                                - App\Models\Form
                                - App\Models\FormEdge
                                - App\Models\ProjectGroup
                                - App\Models\Project
                                - App\Models\User
                                - App\Models\StepAssistant
                                - App\Models\Goal
                                - App\Models\SavedFilters\SavedFilter
                            model_id:
                              description: >-
                                ID do objeto vinculado. Precisa existir na
                                conta.
                              nullable: true
                              anyOf:
                                - type: integer
                                - type: string
                            discriminator:
                              type: string
                              description: >-
                                Papel do vínculo quando a variante distingue
                                mais de um (ex.: coming_step, target_field,
                                relative_date_target, form_location_model). A
                                chave é obrigatória; envie nulo quando não se
                                aplica.
                              nullable: true
                          required:
                            - model_type
                            - discriminator
                        nullable: true
                    required:
                      - id
                      - type
                      - variant
                      - order
                    allOf:
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_step_moved_trigger.
                                    enum:
                                      - project_step_moved_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante project_step_moved_trigger não
                                      tem opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: >-
                                      Etapa de destino (discriminator nulo,
                                      obrigatória) e, opcionalmente, etapa de
                                      origem (discriminator "coming_step").
                                      Máximo 2.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_step_moved_trigger.
                                      enum:
                                        - project_step_moved_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_idle_in_step_trigger.
                                    enum:
                                      - project_idle_in_step_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_idle_in_step_trigger. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      value:
                                        type: integer
                                        description: >-
                                          Quantidade de tempo parado na etapa para
                                          disparar (mínimo 1).
                                        minimum: 1
                                      unit:
                                        type: string
                                        description: Unidade do tempo.
                                        enum:
                                          - minutes
                                          - hours
                                          - days
                                          - months
                                      repeat:
                                        type: boolean
                                        description: >-
                                          Se true, dispara a cada intervalo
                                          enquanto o projeto continuar parado; se
                                          false, uma única vez.
                                    additionalProperties: false
                                    required:
                                      - value
                                      - unit
                                      - repeat
                                  relations:
                                    type: array
                                    description: Etapas observadas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_idle_in_step_trigger.
                                      enum:
                                        - project_idle_in_step_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_field_change_trigger.
                                    enum:
                                      - project_field_change_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_field_change_trigger. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      field:
                                        type: string
                                        description: Campo do projeto observado.
                                        enum:
                                          - name
                                          - impact
                                          - status
                                          - budget
                                          - customer_id
                                          - contact_id
                                          - description
                                          - assignee
                                          - funnel_forecast_date
                                    additionalProperties: false
                                    required:
                                      - field
                                  relations:
                                    type: array
                                    description: >-
                                      Só com field funnel_forecast_date: até 1
                                      funil. Nos demais campos deve ficar vazio.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\ProjectFunnel
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_field_change_trigger.
                                      enum:
                                        - project_field_change_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_tag_linked_trigger.
                                    enum:
                                      - project_tag_linked_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante project_tag_linked_trigger não
                                      tem opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: Etiquetas observadas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelTag
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_tag_linked_trigger.
                                      enum:
                                        - project_tag_linked_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      project_dynamic_form_edited_trigger.
                                    enum:
                                      - project_dynamic_form_edited_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_dynamic_form_edited_trigger.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      one_edge_is_enough:
                                        type: boolean
                                        description: >-
                                          Com campos vinculados em relations: se
                                          true, basta um deles mudar; se false,
                                          todos precisam mudar na mesma submissão.
                                    additionalProperties: false
                                    required:
                                      - one_edge_is_enough
                                  relations:
                                    type: array
                                    description: >-
                                      Formulários ou campos de formulário
                                      observados.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Form
                                            - App\Models\FormEdge
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_dynamic_form_edited_trigger.
                                      enum:
                                        - project_dynamic_form_edited_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_date_reached_trigger.
                                    enum:
                                      - project_date_reached_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_date_reached_trigger. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      field_type:
                                        type: string
                                        description: >-
                                          Data observada: previsão do funil ou
                                          campo de formulário do tipo data.
                                        enum:
                                          - funnel_forecast_date
                                          - form_edge
                                      relative_time:
                                        type: string
                                        description: >-
                                          Deslocamento em relação à data, em
                                          expressão de tempo relativo (ex.: "-1
                                          day"), ou "custom" para usar
                                          custom_relative_time. Nulo dispara na
                                          própria data.
                                        nullable: true
                                      custom_relative_time:
                                        type: string
                                        description: >-
                                          Expressão de tempo relativo customizada,
                                          em inglês (ex.: "next monday").
                                          Obrigatória quando relative_time é
                                          "custom".
                                        nullable: true
                                    additionalProperties: false
                                    required:
                                      - field_type
                                  relations:
                                    type: array
                                    description: >-
                                      Funil (field_type funnel_forecast_date) ou
                                      campo de data do formulário (field_type
                                      form_edge).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\ProjectFunnel
                                            - App\Models\FormEdge
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_date_reached_trigger.
                                      enum:
                                        - project_date_reached_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_execution_trigger.
                                    enum:
                                      - project_execution_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_execution_trigger. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      event_type:
                                        type: string
                                        description: >-
                                          Evento da execução de tempo que dispara
                                          a automação.
                                        enum:
                                          - started
                                          - finished
                                          - both
                                      any_step:
                                        type: boolean
                                        description: >-
                                          Se true, dispara em qualquer etapa;
                                          nesse caso relations deve ficar vazio.
                                        nullable: true
                                    additionalProperties: false
                                    required:
                                      - event_type
                                  relations:
                                    type: array
                                    description: >-
                                      Etapas observadas. Obrigatório, exceto com
                                      any_step true (então deve ficar vazio).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_execution_trigger.
                                      enum:
                                        - project_execution_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_content_added_trigger.
                                    enum:
                                      - project_content_added_trigger
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_content_added_trigger. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      channel_scope:
                                        type: string
                                        description: >-
                                          Onde o conteúdo chegou: main (conteúdo
                                          principal), internal (canal interno) ou
                                          client (canal com o cliente). Nulo =
                                          qualquer lugar.
                                        enum:
                                          - main
                                          - internal
                                          - client
                                          - null
                                        nullable: true
                                      author:
                                        type: string
                                        description: >-
                                          Quem enviou: customer (cliente) ou team
                                          (equipe). Nulo = qualquer pessoa.
                                        enum:
                                          - customer
                                          - team
                                          - null
                                        nullable: true
                                      integration_id:
                                        type: string
                                        description: >-
                                          ID (UUID) de uma integração da conta
                                          para restringir o disparo a ela.
                                        format: uuid
                                        nullable: true
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_content_added_trigger.
                                      enum:
                                        - project_content_added_trigger
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_contains_tag_condition.
                                    enum:
                                      - project_contains_tag_condition
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_contains_tag_condition. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      block_flow:
                                        type: boolean
                                        description: >-
                                          Se true, encerra a automação depois do
                                          ramo "se falso" quando a condição for
                                          falsa.
                                      only_one_checks:
                                        type: boolean
                                        description: >-
                                          Se true, basta um dos itens vinculados;
                                          se false, todos precisam estar
                                          presentes.
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: Etiquetas verificadas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelTag
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_contains_tag_condition.
                                      enum:
                                        - project_contains_tag_condition
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      project_contains_funnel_status_condition.
                                    enum:
                                      - project_contains_funnel_status_condition
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_contains_funnel_status_condition.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      block_flow:
                                        type: boolean
                                        description: >-
                                          Se true, encerra a automação depois do
                                          ramo "se falso" quando a condição for
                                          falsa.
                                      only_one_checks:
                                        type: boolean
                                        description: >-
                                          Se true, basta um dos itens vinculados;
                                          se false, todos precisam estar
                                          presentes.
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: Status de funil verificados.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStatus
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_contains_funnel_status_condition.
                                      enum:
                                        - project_contains_funnel_status_condition
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_in_step_condition.
                                    enum:
                                      - project_in_step_condition
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_in_step_condition. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      block_flow:
                                        type: boolean
                                        description: >-
                                          Se true, encerra a automação depois do
                                          ramo "se falso" quando a condição for
                                          falsa.
                                      only_one_checks:
                                        type: boolean
                                        description: >-
                                          Se true, basta um dos itens vinculados;
                                          se false, todos precisam estar
                                          presentes.
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: Etapas verificadas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_in_step_condition.
                                      enum:
                                        - project_in_step_condition
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_filter_checker_condition.
                                    enum:
                                      - project_filter_checker_condition
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_filter_checker_condition. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      filter:
                                        type: array
                                        description: >-
                                          Regras do filtro de projetos (ao menos
                                          uma).
                                        minItems: 1
                                        items:
                                          type: object
                                          description: Regra do filtro.
                                          properties:
                                            field:
                                              type: string
                                              description: Campo do projeto avaliado.
                                            operator:
                                              type: string
                                              description: Operador de comparação.
                                              enum:
                                                - equals
                                                - not_equals
                                                - contains
                                                - not_contains
                                                - greater_than
                                                - greater_than_or_equals
                                                - less_than
                                                - less_than_or_equals
                                                - is_null
                                                - is_not_null
                                            value:
                                              description: Valor comparado.
                                              nullable: true
                                              anyOf:
                                                - type: string
                                                - type: number
                                                - type: boolean
                                                - type: array
                                                  items: {}
                                            logical_operator:
                                              type: string
                                              description: >-
                                                Como a regra se combina com a anterior.
                                                Padrão: and.
                                              enum:
                                                - and
                                                - or
                                                - null
                                              nullable: true
                                            arguments:
                                              type: array
                                              description: >-
                                                Argumentos extras da regra (ex.: campo
                                                de formulário ou funil de referência).
                                              items:
                                                type: object
                                                description: Argumento da regra.
                                                properties:
                                                  argument_key:
                                                    type: string
                                                    description: Nome do argumento.
                                                  argument_value_type:
                                                    type: string
                                                    description: Tipo do objeto referenciado.
                                                  argument_value_id:
                                                    description: ID do objeto referenciado.
                                                    anyOf:
                                                      - type: string
                                                      - type: integer
                                                required:
                                                  - argument_key
                                                  - argument_value_type
                                                  - argument_value_id
                                          required:
                                            - field
                                            - operator
                                      block_flow:
                                        type: boolean
                                        description: >-
                                          Se true, encerra a automação depois do
                                          ramo "se falso" quando a condição for
                                          falsa.
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: >-
                                      Gerado a partir de config.filter; não é
                                      preciso enviar.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\SavedFilters\SavedFilter
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_filter_checker_condition.
                                      enum:
                                        - project_filter_checker_condition
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_step_put_action.
                                    enum:
                                      - project_step_put_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_step_put_action. Chaves fora desta
                                      lista são recusadas.
                                    properties:
                                      unlink_others:
                                        type: boolean
                                        description: >-
                                          Tira o projeto das outras etapas do
                                          mesmo funil.
                                      force_funnel_link:
                                        type: boolean
                                        description: >-
                                          Vincula o projeto ao funil antes de
                                          colocá-lo na etapa, se ainda não estiver
                                          vinculado.
                                    additionalProperties: false
                                    required:
                                      - unlink_others
                                      - force_funnel_link
                                  relations:
                                    type: array
                                    description: Etapa de destino (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_step_put_action.
                                      enum:
                                        - project_step_put_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_change_status_action.
                                    enum:
                                      - project_change_status_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_change_status_action. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      status:
                                        type: integer
                                        description: >-
                                          Novo status do projeto: 1 em execução, 2
                                          concluído, 3 arquivado, 4 parado.
                                        enum:
                                          - 1
                                          - 2
                                          - 3
                                          - 4
                                    additionalProperties: false
                                    required:
                                      - status
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_change_status_action.
                                      enum:
                                        - project_change_status_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_content_add_action.
                                    enum:
                                      - project_content_add_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_content_add_action. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      message:
                                        type: string
                                        description: Texto publicado; aceita variáveis.
                                      destination_mode:
                                        type: string
                                        description: >-
                                          Destino: main (conteúdo principal do
                                          projeto), internal (canal interno
                                          nomeado) ou external (canal com o
                                          cliente por uma integração).
                                        enum:
                                          - main
                                          - internal
                                          - external
                                          - null
                                        nullable: true
                                      channel_name:
                                        type: string
                                        description: Nome do canal interno de destino.
                                        nullable: true
                                      integration_id:
                                        type: string
                                        description: >-
                                          ID (UUID) da integração. Obrigatório
                                          quando destination_mode é external.
                                        format: uuid
                                        nullable: true
                                      counterpart_expression:
                                        type: string
                                        description: >-
                                          Expressão que calcula o destinatário no
                                          canal externo. Vazia usa o único
                                          destinatário que o projeto já tem
                                          naquela integração.
                                        nullable: true
                                      force_reopen:
                                        type: boolean
                                        description: >-
                                          Reabre a conversa se ela estiver
                                          resolvida.
                                      close_reason:
                                        type: string
                                        description: >-
                                          Motivo registrado ao encerrar a
                                          conversa.
                                        nullable: true
                                    additionalProperties: false
                                    required:
                                      - message
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_content_add_action.
                                      enum:
                                        - project_content_add_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante send_an_email_action.
                                    enum:
                                      - send_an_email_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante send_an_email_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      emails:
                                        description: >-
                                          Destinatários: lista de e-mails ou texto
                                          (aceita variáveis).
                                        items:
                                          type: string
                                          description: Endereço de e-mail.
                                        anyOf:
                                          - type: array
                                            items: {}
                                          - type: string
                                      subject:
                                        type: string
                                        description: Assunto; aceita variáveis.
                                      message:
                                        type: string
                                        description: Corpo do e-mail; aceita variáveis.
                                    additionalProperties: false
                                    required:
                                      - emails
                                      - subject
                                      - message
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante send_an_email_action.
                                      enum:
                                        - send_an_email_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      update_project_funnel_status_action.
                                    enum:
                                      - update_project_funnel_status_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      update_project_funnel_status_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      overwrite_current:
                                        type: boolean
                                        description: >-
                                          Permite trocar um status que já está
                                          definido.
                                      unlink:
                                        type: boolean
                                        description: >-
                                          Em vez de definir um status, remove o
                                          status atual.
                                      affect:
                                        type: string
                                        description: >-
                                          Ao remover: trigger_funnel (funil da
                                          etapa que disparou) ou all (todos os
                                          funis). Nulo usa os funis de relations.
                                        enum:
                                          - trigger_funnel
                                          - all
                                          - null
                                        nullable: true
                                    additionalProperties: false
                                    required:
                                      - overwrite_current
                                      - unlink
                                  relations:
                                    type: array
                                    description: >-
                                      Status a aplicar (unlink false,
                                      obrigatório) ou funis dos quais remover o
                                      status (unlink true sem affect). Com
                                      affect, deve ficar vazio.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStatus
                                            - App\Models\ProjectFunnel
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        update_project_funnel_status_action.
                                      enum:
                                        - update_project_funnel_status_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      project_funnel_link_toggle_action.
                                    enum:
                                      - project_funnel_link_toggle_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante
                                      project_funnel_link_toggle_action não tem
                                      opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: >-
                                      Funis cujo vínculo é alternado (ao menos
                                      um).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\ProjectFunnel
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_funnel_link_toggle_action.
                                      enum:
                                        - project_funnel_link_toggle_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_funnel_tag_add_action.
                                    enum:
                                      - project_funnel_tag_add_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante project_funnel_tag_add_action
                                      não tem opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: Etiquetas aplicadas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelTag
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_funnel_tag_add_action.
                                      enum:
                                        - project_funnel_tag_add_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_funnel_tag_remove_action.
                                    enum:
                                      - project_funnel_tag_remove_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante
                                      project_funnel_tag_remove_action não tem
                                      opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: Etiquetas removidas (ao menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelTag
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_funnel_tag_remove_action.
                                      enum:
                                        - project_funnel_tag_remove_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_add_loose_form_action.
                                    enum:
                                      - project_add_loose_form_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_add_loose_form_action. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      ignore_if_has_forms:
                                        type: boolean
                                        description: >-
                                          Não anexa o formulário se o projeto já o
                                          tiver.
                                    additionalProperties: false
                                    required:
                                      - ignore_if_has_forms
                                  relations:
                                    type: array
                                    description: Formulário anexado (ao menos um).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Form
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante project_add_loose_form_action.
                                      enum:
                                        - project_add_loose_form_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_group_link_toggle_action.
                                    enum:
                                      - project_group_link_toggle_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante
                                      project_group_link_toggle_action não tem
                                      opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: >-
                                      Grupos cujo vínculo é alternado (ao menos
                                      um).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\ProjectGroup
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_group_link_toggle_action.
                                      enum:
                                        - project_group_link_toggle_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante update_form_counter_action.
                                    enum:
                                      - update_form_counter_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      update_form_counter_action. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      value:
                                        type: integer
                                        description: Quanto somar ou subtrair (mínimo 1).
                                        minimum: 1
                                      action:
                                        type: string
                                        description: add incrementa, sub decrementa.
                                        enum:
                                          - add
                                          - sub
                                    additionalProperties: false
                                    required:
                                      - value
                                      - action
                                  relations:
                                    type: array
                                    description: Campo contador alterado (ao menos um).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FormEdge
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante update_form_counter_action.
                                      enum:
                                        - update_form_counter_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_save_form_history_action.
                                    enum:
                                      - project_save_form_history_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_save_form_history_action. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      clean_edges:
                                        type: boolean
                                        description: >-
                                          Limpa as respostas depois de salvar a
                                          versão.
                                    additionalProperties: false
                                    required:
                                      - clean_edges
                                  relations:
                                    type: array
                                    description: >-
                                      Formulário cuja versão é salva (ao menos
                                      um).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Form
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_save_form_history_action.
                                      enum:
                                        - project_save_form_history_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante unlink_project_from_step_action.
                                    enum:
                                      - unlink_project_from_step_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      unlink_project_from_step_action. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      unlink_from_project_funnel:
                                        type: boolean
                                        description: >-
                                          Remove também o vínculo com o funil
                                          quando essa era a única etapa.
                                    additionalProperties: false
                                    required:
                                      - unlink_from_project_funnel
                                  relations:
                                    type: array
                                    description: >-
                                      Etapas das quais o projeto é removido (ao
                                      menos uma).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        unlink_project_from_step_action.
                                      enum:
                                        - unlink_project_from_step_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante webhook_dispatch_action.
                                    enum:
                                      - webhook_dispatch_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      webhook_dispatch_action. Chaves fora desta
                                      lista são recusadas.
                                    properties:
                                      url:
                                        type: string
                                        description: URL que recebe a requisição.
                                        format: uri
                                      custom_body:
                                        description: >-
                                          Conteúdo extra enviado junto; aceita
                                          variáveis.
                                        nullable: true
                                        anyOf:
                                          - type: string
                                          - type: object
                                    additionalProperties: false
                                    required:
                                      - url
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante webhook_dispatch_action.
                                      enum:
                                        - webhook_dispatch_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante create_project_action.
                                    enum:
                                      - create_project_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante create_project_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      name:
                                        type: string
                                        description: >-
                                          Nome do projeto criado a partir de um
                                          modelo. Obrigatório quando project não é
                                          enviado.
                                      project:
                                        type: object
                                        description: >-
                                          Dados do projeto criado do zero.
                                          Obrigatório quando name não é enviado.
                                        properties:
                                          name:
                                            type: string
                                            description: Nome do projeto.
                                          impact:
                                            description: Impacto do projeto.
                                            anyOf:
                                              - type: integer
                                              - type: string
                                          description:
                                            type: string
                                            description: Descrição do projeto.
                                      form_answers:
                                        description: >-
                                          Respostas de formulário do projeto
                                          criado.
                                        nullable: true
                                        anyOf:
                                          - type: array
                                            items: {}
                                          - type: object
                                    additionalProperties: false
                                  relations:
                                    type: array
                                    description: >-
                                      Opcionais: projeto modelo e etapa de
                                      destino do projeto criado.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Project
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante create_project_action.
                                      enum:
                                        - create_project_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante assignee_users_action.
                                    enum:
                                      - assignee_users_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante assignee_users_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      action_type:
                                        type: string
                                        description: >-
                                          add adiciona, remove remove, replace
                                          substitui os responsáveis.
                                        enum:
                                          - add
                                          - remove
                                          - replace
                                      remove_all_users:
                                        type: boolean
                                        description: Com remove, limpa todos os responsáveis.
                                      use_random_user:
                                        type: boolean
                                        description: >-
                                          Sorteia parte da lista de usuários em
                                          vez de usar todos.
                                      random_user_count:
                                        type: integer
                                        description: Quantos usuários sortear (mínimo 1).
                                        minimum: 1
                                      use_advanced_syntax:
                                        type: boolean
                                        description: >-
                                          Monta a lista de usuários por expressão
                                          em vez de relations.
                                      advanced_syntax_message:
                                        type: string
                                        description: >-
                                          Expressão que devolve os usuários.
                                          Obrigatória quando use_advanced_syntax é
                                          true.
                                    additionalProperties: false
                                    required:
                                      - action_type
                                      - use_random_user
                                      - random_user_count
                                      - use_advanced_syntax
                                  relations:
                                    type: array
                                    description: >-
                                      Usuários da ação. Obrigatório sem
                                      use_advanced_syntax; com use_random_user,
                                      ao menos random_user_count usuários.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\User
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante assignee_users_action.
                                      enum:
                                        - assignee_users_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante update_date_field_action.
                                    enum:
                                      - update_date_field_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      update_date_field_action. Chaves fora
                                      desta lista são recusadas.
                                    properties:
                                      target_field:
                                        type: string
                                        description: >-
                                          Data alterada: previsão do funil ou
                                          campo de formulário.
                                        enum:
                                          - funnel_forecast
                                          - form_edge
                                      action_type:
                                        type: string
                                        description: Como a data é calculada.
                                        enum:
                                          - manual
                                          - relative_date
                                          - advanced_syntax
                                      manual_date:
                                        type: string
                                        description: >-
                                          Data fixa. Obrigatória com action_type
                                          manual.
                                        format: date
                                        nullable: true
                                      advanced_syntax:
                                        type: string
                                        description: >-
                                          Expressão que devolve a data.
                                          Obrigatória com action_type
                                          advanced_syntax.
                                        nullable: true
                                      overwrite_existing:
                                        type: boolean
                                        description: >-
                                          Sobrescreve a data se já estiver
                                          preenchida.
                                      relative_date_type:
                                        type: string
                                        description: >-
                                          Data de referência. Obrigatória com
                                          action_type relative_date.
                                        enum:
                                          - project_creation
                                          - funnel_forecast
                                          - trigger
                                      relative_date_operation:
                                        type: string
                                        description: >-
                                          Operação aplicada à data de referência.
                                          Obrigatória com action_type
                                          relative_date.
                                        enum:
                                          - none
                                          - add_day
                                          - sub_day
                                          - add_week
                                          - sub_week
                                          - add_month
                                          - sub_month
                                          - add_year
                                          - sub_year
                                          - add_days
                                          - sub_days
                                          - start_of_month
                                          - end_of_month
                                          - start_of_year
                                          - end_of_year
                                      trigger_date_fallback:
                                        type: boolean
                                        description: >-
                                          Usa a data do disparo quando a previsão
                                          de referência estiver vazia. Obrigatório
                                          com relative_date_type funnel_forecast.
                                      offset:
                                        type: integer
                                        description: >-
                                          Quantidade de dias. Obrigatória com
                                          add_days e sub_days.
                                        minimum: 1
                                      form_location:
                                        type: string
                                        description: >-
                                          Onde está o formulário do campo
                                          alterado. Obrigatório com target_field
                                          form_edge.
                                        enum:
                                          - project
                                          - project_funnel
                                          - project_step_form
                                          - project_loose_form
                                    additionalProperties: false
                                    required:
                                      - target_field
                                      - action_type
                                  relations:
                                    type: array
                                    description: >-
                                      Ao menos um. discriminator indica o papel:
                                      target_field (data alterada),
                                      relative_date_target (data de referência)
                                      ou form_location_model (funil ou etapa
                                      onde está o formulário).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\ProjectFunnel
                                            - App\Models\FunnelStep
                                            - App\Models\FormEdge
                                            - App\Models\Form
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante update_date_field_action.
                                      enum:
                                        - update_date_field_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante create_customer_action.
                                    enum:
                                      - create_customer_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante create_customer_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      customer:
                                        type: object
                                        description: >-
                                          Dados do cliente; os textos aceitam
                                          variáveis.
                                        properties:
                                          name:
                                            type: string
                                            description: Nome.
                                          company_name:
                                            type: string
                                            description: Razão social.
                                            nullable: true
                                          email:
                                            type: string
                                            description: E-mail.
                                          customer_type:
                                            description: 1 matriz, 2 filial.
                                            enum:
                                              - 1
                                              - 2
                                              - '1'
                                              - '2'
                                            anyOf:
                                              - type: integer
                                              - type: string
                                          document_type:
                                            description: 1 pessoa física, 2 pessoa jurídica.
                                            enum:
                                              - 1
                                              - 2
                                              - '1'
                                              - '2'
                                            anyOf:
                                              - type: integer
                                              - type: string
                                          contacts:
                                            type: string
                                            description: Contatos vinculados (expressão).
                                          document:
                                            type: string
                                            description: Documento.
                                          phone:
                                            type: string
                                            description: Telefone.
                                          address:
                                            type: string
                                            description: Endereço.
                                          main_activity:
                                            type: string
                                            description: Atividade principal.
                                          description:
                                            type: string
                                            description: Descrição.
                                          parent_id:
                                            type: string
                                            description: Cliente matriz (ID ou expressão).
                                            nullable: true
                                        required:
                                          - name
                                          - customer_type
                                          - document_type
                                      form_answers:
                                        type: array
                                        description: Respostas do formulário de cliente.
                                        items:
                                          type: object
                                          description: Resposta de um campo.
                                          properties:
                                            id:
                                              type: integer
                                              description: ID do campo de formulário.
                                            answer:
                                              description: Resposta do campo.
                                              nullable: true
                                              anyOf:
                                                - type: string
                                                - type: number
                                                - type: array
                                                  items: {}
                                                - type: object
                                          required:
                                            - id
                                            - answer
                                      project_auto_link_fields:
                                        description: >-
                                          Expressão que decide quais projetos
                                          recebem o cliente.
                                        nullable: true
                                        anyOf:
                                          - type: string
                                          - type: array
                                            items: {}
                                          - type: object
                                      avoid_duplicates:
                                        type: boolean
                                        description: Evita criar um cliente que já existe.
                                      duplicate_fields:
                                        type: array
                                        description: >-
                                          Campos comparados para detectar
                                          duplicidade. Obrigatório com
                                          avoid_duplicates true.
                                        items:
                                          type: string
                                          description: Campo comparado.
                                          enum:
                                            - email
                                            - phone
                                            - document
                                    additionalProperties: false
                                    required:
                                      - customer
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante create_customer_action.
                                      enum:
                                        - create_customer_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante create_contact_action.
                                    enum:
                                      - create_contact_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante create_contact_action.
                                      Chaves fora desta lista são recusadas.
                                    properties:
                                      contact:
                                        type: object
                                        description: >-
                                          Dados do contato; os textos aceitam
                                          variáveis.
                                        properties:
                                          name:
                                            type: string
                                            description: Nome.
                                          email:
                                            type: string
                                            description: E-mail.
                                          phone:
                                            type: string
                                            description: Telefone.
                                          description:
                                            type: string
                                            description: Descrição.
                                          role:
                                            type: string
                                            description: Cargo.
                                          customers:
                                            type: string
                                            description: Clientes vinculados (expressão).
                                          form_answers:
                                            type: array
                                            description: Respostas do formulário de contato.
                                            items:
                                              type: object
                                              description: Resposta de um campo.
                                              properties:
                                                id:
                                                  type: integer
                                                  description: ID do campo de formulário.
                                                answer:
                                                  description: Resposta do campo.
                                                  nullable: true
                                                  anyOf:
                                                    - type: string
                                                    - type: number
                                                    - type: array
                                                      items: {}
                                                    - type: object
                                              required:
                                                - id
                                                - answer
                                        required:
                                          - name
                                      form_answers:
                                        type: array
                                        description: Respostas do formulário de contato.
                                        items:
                                          type: object
                                          description: Resposta de um campo.
                                          properties:
                                            id:
                                              type: integer
                                              description: ID do campo de formulário.
                                            answer:
                                              description: Resposta do campo.
                                              nullable: true
                                              anyOf:
                                                - type: string
                                                - type: number
                                                - type: array
                                                  items: {}
                                                - type: object
                                          required:
                                            - id
                                            - answer
                                      project_auto_link_fields:
                                        description: >-
                                          Expressão que decide quais projetos
                                          recebem o contato.
                                        nullable: true
                                        anyOf:
                                          - type: string
                                          - type: array
                                            items: {}
                                          - type: object
                                      avoid_duplicates:
                                        type: boolean
                                        description: Evita criar um contato que já existe.
                                      duplicate_fields:
                                        type: array
                                        description: >-
                                          Campos comparados para detectar
                                          duplicidade. Obrigatório com
                                          avoid_duplicates true.
                                        items:
                                          type: string
                                          description: Campo comparado.
                                          enum:
                                            - email
                                            - phone
                                    additionalProperties: false
                                    required:
                                      - contact
                                  relations:
                                    type: array
                                    description: Sem vínculos.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                    maxItems: 0
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: Variante create_contact_action.
                                      enum:
                                        - create_contact_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante create_project_hierarchy_action.
                                    enum:
                                      - create_project_hierarchy_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      create_project_hierarchy_action. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      hierarchy_action:
                                        type: string
                                        description: >-
                                          create cria projetos filhos novos;
                                          attach vincula projetos existentes.
                                        enum:
                                          - create
                                          - attach
                                      structure:
                                        type: string
                                        description: >-
                                          Desenho da árvore, uma linha por
                                          projeto; aceita variáveis.
                                    additionalProperties: false
                                    required:
                                      - hierarchy_action
                                      - structure
                                  relations:
                                    type: array
                                    description: >-
                                      Opcionais: projeto modelo dos filhos e
                                      etapa de destino.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Project
                                            - App\Models\FunnelStep
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        create_project_hierarchy_action.
                                      enum:
                                        - create_project_hierarchy_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      step_assistant_execute_manually_action.
                                    enum:
                                      - step_assistant_execute_manually_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      A variante
                                      step_assistant_execute_manually_action não
                                      tem opções.
                                    properties: {}
                                  relations:
                                    type: array
                                    description: >-
                                      Exatamente um assistente de etapa com
                                      execução manual habilitada (discriminator
                                      nulo).
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\StepAssistant
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        step_assistant_execute_manually_action.
                                      enum:
                                        - step_assistant_execute_manually_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: >-
                                      Variante
                                      update_manual_goal_progress_action.
                                    enum:
                                      - update_manual_goal_progress_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      update_manual_goal_progress_action. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      value:
                                        description: >-
                                          Número maior que zero ou expressão que
                                          devolva um número.
                                        anyOf:
                                          - type: integer
                                          - type: string
                                      action:
                                        type: string
                                        description: >-
                                          add soma, sub subtrai, set define o
                                          progresso.
                                        enum:
                                          - add
                                          - sub
                                          - set
                                    additionalProperties: false
                                    required:
                                      - value
                                      - action
                                  relations:
                                    type: array
                                    description: Exatamente uma meta do tipo manual.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\Goal
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        update_manual_goal_progress_action.
                                      enum:
                                        - update_manual_goal_progress_action
                                  required:
                                    - variant
                      - oneOf:
                          - allOf:
                              - properties:
                                  variant:
                                    description: Variante project_execution_control_action.
                                    enum:
                                      - project_execution_control_action
                                required:
                                  - variant
                              - properties:
                                  config:
                                    type: object
                                    description: >-
                                      Opções da variante
                                      project_execution_control_action. Chaves
                                      fora desta lista são recusadas.
                                    properties:
                                      action_type:
                                        type: string
                                        description: >-
                                          play inicia, pause pausa a execução de
                                          tempo.
                                        enum:
                                          - play
                                          - pause
                                      target_user_source:
                                        type: string
                                        description: >-
                                          De onde vêm os usuários afetados:
                                          trigger_causer (quem disparou),
                                          relations (usuários vinculados) ou
                                          advanced_syntax (expressão).
                                        enum:
                                          - trigger_causer
                                          - relations
                                          - advanced_syntax
                                      advanced_syntax_message:
                                        type: string
                                        description: >-
                                          Expressão que devolve os usuários.
                                          Obrigatória com target_user_source
                                          advanced_syntax.
                                    additionalProperties: false
                                    required:
                                      - action_type
                                      - target_user_source
                                  relations:
                                    type: array
                                    description: >-
                                      Usuários afetados (obrigatório com
                                      target_user_source relations) e, ao
                                      iniciar, a etapa da execução.
                                    items:
                                      type: object
                                      description: Vínculo com um objeto da conta.
                                      properties:
                                        model_type:
                                          type: string
                                          description: Tipo do objeto vinculado.
                                          enum:
                                            - App\Models\FunnelStep
                                            - App\Models\User
                          - allOf:
                              - not:
                                  properties:
                                    variant:
                                      description: >-
                                        Variante
                                        project_execution_control_action.
                                      enum:
                                        - project_execution_control_action
                                  required:
                                    - variant
              required:
                - title
                - components
            example:
              title: Avisar equipe na manutenção corretiva
              components:
                - id: TRIGGER1
                  type: trigger
                  variant: project_step_moved_trigger
                  order: 0
                  parent_id: null
                  conditional_case: null
                  config: {}
                  relations:
                    - model_type: App\Models\FunnelStep
                      model_id: null
                      discriminator: null
                - id: CONDITION1
                  type: condition
                  variant: project_contains_tag_condition
                  order: 1
                  parent_id: null
                  conditional_case: null
                  config:
                    block_flow: true
                    only_one_checks: true
                  project_scope:
                    scope: trigger
                  relations:
                    - model_type: App\Models\FunnelTag
                      model_id: null
                      discriminator: null
                - id: ACTION1
                  type: action
                  variant: project_content_add_action
                  order: 0
                  parent_id: CONDITION1
                  conditional_case: when_true
                  config:
                    message: O projeto {{project.name}} entrou em manutenção corretiva.
                    destination_mode: internal
                    channel_name: Equipe
                  project_scope:
                    scope: trigger
                  relations: []
      responses:
        '200':
          description: Sucesso
          content:
            application/json:
              schema:
                type: object
                description: Automação criada.
                properties:
                  response:
                    type: boolean
                    description: >-
                      Indicador de sucesso da requisição. Sempre true nas
                      respostas bem-sucedidas.
                  automation:
                    type: object
                    description: Automação criada, com seus componentes.
                    properties:
                      id:
                        type: integer
                        description: ID da automação.
                      title:
                        type: string
                        description: Nome da automação.
                      active:
                        type: boolean
                        description: Se a automação está ligada.
                      executions:
                        type: integer
                        description: >-
                          Quantas vezes a automação foi executada. Vem nulo na
                          resposta de criação.
                        nullable: true
                      components:
                        type: array
                        description: Componentes do fluxo, ordenados por order.
                        items:
                          type: object
                          description: Componente do fluxo.
                          properties:
                            id:
                              type: string
                              description: ID (UUID) do componente.
                              format: uuid
                            type:
                              type: string
                              description: Tipo do componente.
                              enum:
                                - trigger
                                - condition
                                - action
                            variant:
                              type: string
                              description: Variante do componente.
                              enum:
                                - project_step_moved_trigger
                                - project_idle_in_step_trigger
                                - project_field_change_trigger
                                - project_tag_linked_trigger
                                - project_dynamic_form_edited_trigger
                                - project_date_reached_trigger
                                - project_execution_trigger
                                - project_content_added_trigger
                                - project_contains_tag_condition
                                - project_contains_funnel_status_condition
                                - project_in_step_condition
                                - project_filter_checker_condition
                                - project_step_put_action
                                - project_change_status_action
                                - project_content_add_action
                                - send_an_email_action
                                - update_project_funnel_status_action
                                - project_funnel_link_toggle_action
                                - project_funnel_tag_add_action
                                - project_funnel_tag_remove_action
                                - project_add_loose_form_action
                                - project_group_link_toggle_action
                                - update_form_counter_action
                                - project_save_form_history_action
                                - unlink_project_from_step_action
                                - webhook_dispatch_action
                                - create_project_action
                                - assignee_users_action
                                - update_date_field_action
                                - create_customer_action
                                - create_contact_action
                                - create_project_hierarchy_action
                                - step_assistant_execute_manually_action
                                - update_manual_goal_progress_action
                                - project_execution_control_action
                            parent_id:
                              type: string
                              description: >-
                                ID da condição à qual o componente pertence.
                                Nulo no nível principal.
                              nullable: true
                            conditional_case:
                              type: string
                              description: 'Ramo da condição pai: when_true ou when_false.'
                              enum:
                                - when_true
                                - when_false
                                - null
                              nullable: true
                            order:
                              type: integer
                              description: Posição entre os irmãos.
                            project_scope:
                              type: object
                              description: >-
                                Escopo de projetos salvo (scope, quantifier,
                                advanced_syntax, hierarchy_levels). Nulo em
                                gatilhos.
                              properties:
                                scope:
                                  type: string
                                  description: Em quais projetos o componente age.
                                  enum:
                                    - trigger
                                    - descendants
                                    - ancestors
                                    - siblings
                                    - siblings_including_trigger
                                    - advanced_syntax
                                    - filtered
                                quantifier:
                                  type: string
                                  description: >-
                                    Como uma condição combina resultados de
                                    vários projetos.
                                  enum:
                                    - all
                                    - any
                                    - none
                                advanced_syntax:
                                  type: string
                                  description: Expressão que devolve os projetos.
                                hierarchy_levels:
                                  type: array
                                  description: Níveis da hierarquia considerados.
                                  items:
                                    type: integer
                                    description: Nível da hierarquia.
                              nullable: true
                            project_scope_saved_filter_id:
                              description: >-
                                ID do filtro salvo que restringe os projetos da
                                ação.
                              nullable: true
                              anyOf:
                                - type: string
                                - type: integer
                            config:
                              type: object
                              description: >-
                                Opções do componente; as chaves dependem da
                                variante.
                              additionalProperties: true
                            relations:
                              type: array
                              description: Vínculos do componente.
                              items:
                                type: object
                                description: Vínculo do componente com um objeto da conta.
                                properties:
                                  id:
                                    type: string
                                    description: ID (UUID) do vínculo.
                                    format: uuid
                                  model_type:
                                    type: string
                                    description: Tipo do objeto vinculado.
                                  model_id:
                                    type: string
                                    description: ID do objeto vinculado, em texto.
                                  discriminator:
                                    type: string
                                    description: >-
                                      Papel do vínculo, quando a variante
                                      distingue mais de um.
                                    nullable: true
                            created_at:
                              type: string
                              description: Data de criação do componente.
                              format: date-time
                            updated_at:
                              type: string
                              description: Data da última alteração do componente.
                              format: date-time
                            deleted_at:
                              type: string
                              description: >-
                                Data de exclusão do componente. Nulo quando
                                ativo.
                              format: date-time
                              nullable: true
                      created_at:
                        type: string
                        description: Data de criação da automação.
                        format: date-time
                      updated_at:
                        type: string
                        description: Data da última alteração da automação.
                        format: date-time
                      deleted_at:
                        type: string
                        description: Data de exclusão. Sempre nulo nas respostas.
                        format: date-time
                        nullable: true
                  objects_above_limit:
                    type: array
                    description: >-
                      Objetos que excederam o limite do plano ao ativar a
                      automação. Na prática vem sempre vazio.
                    items:
                      type: string
                      description: Tipo de objeto acima do limite.
              example:
                response: true
                automation:
                  id: 33
                  title: '[Postman doc] Avisar equipe na manutenção corretiva'
                  active: true
                  executions: null
                  components:
                    - id: 01a0cb23-fd4a-71aa-9174-55786e2af56d
                      type: trigger
                      variant: project_step_moved_trigger
                      parent_id: null
                      conditional_case: null
                      order: 0
                      project_scope: null
                      project_scope_saved_filter_id: null
                      config: {}
                      relations:
                        - id: 01a0cb23-fd4d-730f-9846-5cb1df92495c
                          model_type: App\Models\FunnelStep
                          model_id: '46'
                          discriminator: null
                      created_at: '2026-09-22T22:02:08.000000Z'
                      updated_at: '2026-09-22T22:02:08.000000Z'
                      deleted_at: null
                    - id: 01a0cb23-fd56-71cc-a75b-b28ff7970270
                      type: action
                      variant: project_content_add_action
                      parent_id: 01a0cb23-fd4f-7197-9018-b10f48d439c7
                      conditional_case: when_true
                      order: 0
                      project_scope:
                        scope: trigger
                      project_scope_saved_filter_id: null
                      config:
                        channel_name: Equipe
                        destination_mode: internal
                        message: >-
                          O projeto {{project.name}} entrou em manutenção
                          corretiva.
                      relations: []
                      created_at: '2026-09-22T22:02:08.000000Z'
                      updated_at: '2026-09-22T22:02:08.000000Z'
                      deleted_at: null
                    - id: 01a0cb23-fd4f-7197-9018-b10f48d439c7
                      type: condition
                      variant: project_contains_tag_condition
                      parent_id: null
                      conditional_case: null
                      order: 1
                      project_scope:
                        scope: trigger
                      project_scope_saved_filter_id: null
                      config:
                        block_flow: true
                        only_one_checks: true
                      relations:
                        - id: 01a0cb23-fd54-7002-a076-d16dde248be5
                          model_type: App\Models\FunnelTag
                          model_id: '53'
                          discriminator: null
                      created_at: '2026-09-22T22:02:08.000000Z'
                      updated_at: '2026-09-22T22:02:08.000000Z'
                      deleted_at: null
                  created_at: '2026-09-22T22:02:08.000000Z'
                  updated_at: '2026-09-22T22:02:08.000000Z'
                  deleted_at: null
                objects_above_limit: []
        '422':
          description: Sem ação
          content:
            application/json:
              schema:
                type: object
                description: Resposta de erro.
                properties:
                  response:
                    type: boolean
                    description: Indicador de sucesso da requisição. Sempre false em erros.
                  message:
                    type: string
                    description: >-
                      Código do erro para tratamento no cliente:
                      trigger_component_required (sem gatilho) ou
                      action_component_required (sem ação).
                  error:
                    type: string
                    description: Descrição legível do erro.
              examples:
                Sem ação:
                  value:
                    response: false
                    message: action_component_required
                    error: At least one action component is required
                Componente inválido:
                  value:
                    response: false
                    message: component_validation_errors
                    error: The selected 0.model_id is invalid.
                    component_key: TRIGGER1
                    component_position: 0
                    validation:
                      0.model_id:
                        - The selected 0.model_id is invalid.
                Validação falhou:
                  value:
                    response: false
                    message: validation_errors
                    error: The título field is required.
                    validation:
                      title:
                        - The título field is required.
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````