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

# Core Triggers

> Triggers de uso geral para execuções manuais, agendadas, solicitações HTTP e upload de arquivos.

Triggers fundamentais cobrem os pontos de entrada de workflow mais comuns: invocação manual, execuções agendadas, solicitações HTTP recebidas e upload de arquivos.

## Manual Input

Inicia um workflow quando um usuário ou sistema externo o invoca explicitamente. Você pode configurá-lo com campos de entrada personalizados que devem ser preenchidos antes que o workflow seja executado — tornando-o ideal para tarefas sob demanda que requerem contexto fornecido pelo usuário, como enviar uma solicitação, iniciar um relatório ou começar um processo a partir da interface de chat do Odin.

**Quando usar**

* Você deseja executar um workflow sob demanda a partir da interface do Odin ou via API.
* O workflow precisa de entradas fornecidas pelo usuário antes de poder executar.
* Você está testando ou depurando um workflow com valores específicos.

**Configuração**

| Campo        | Tipo | Descrição                                                                                                                                                                  |
| ------------ | ---- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Input fields | Any  | Parâmetros definidos pelo usuário configurados nas configurações do trigger. Cada campo possui um nome, tipo e descrição opcional exibida ao usuário em tempo de execução. |

**Variáveis de saída**

| Variável                 | Descrição                                                                                                                                   |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `trigger.user_input`     | O texto bruto enviado pelo usuário.                                                                                                         |
| `trigger.inputs.<field>` | O valor de cada campo de entrada nomeado. Substitua `<field>` pelo nome do campo configurado (por exemplo, `trigger.inputs.customer_name`). |
| `trigger.chat_id`        | O ID da sessão de chat que iniciou a execução.                                                                                              |
| `trigger.message_id`     | O ID da mensagem que acionou o workflow.                                                                                                    |

```text Exemplo: referenciando um campo de entrada theme={null}
Olá {{ trigger.inputs.customer_name }}, sua solicitação foi recebida.
```

<AccordionGroup>
  <Accordion title="Observações">
    * Os campos de entrada são apresentados ao usuário como um formulário antes que o workflow seja iniciado. Mantenha os nomes dos campos curtos e descritivos.
    * `trigger.user_input` está disponível mesmo que nenhum campo de entrada personalizado esteja configurado.
    * Para invocar este trigger programaticamente, chame a API do Odin com o ID do workflow e os valores de entrada necessários.
  </Accordion>
</AccordionGroup>

## Webhook

Expõe um endpoint HTTP exclusivo para seu workflow. Sistemas externos — como aplicativos de terceiros, plataformas de automação ou scripts personalizados — podem enviar uma solicitação HTTP para essa URL para iniciar o workflow. O corpo da solicitação, cabeçalhos, parâmetros de consulta e método HTTP são todos passados para os nós downstream.

**Quando usar**

* Um sistema externo precisa notificar o Odin quando um evento ocorrer (por exemplo, envio de formulário, evento de pagamento ou atualização de outra plataforma).
* Você está integrando o Odin com a Automation Anywhere ou outro sistema que pode chamar um endpoint HTTP.
* Você deseja expor um workflow como um endpoint API que outros desenvolvedores ou ferramentas possam chamar.

**Configuração**

| Configuração    | Tipo   | Descrição                                                                                                                                                         |
| --------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `http_method`   | String | O método HTTP que o endpoint aceitará: `GET`, `POST`, `PUT`, `PATCH` ou `DELETE`.                                                                                 |
| `auth_type`     | String | Como as solicitações recebidas são autenticadas: `none`, `basic` ou `header`.                                                                                     |
| `response_mode` | String | `onReceived` retorna um HTTP 200 imediato assim que a solicitação chega. `lastNode` aguarda a conclusão do workflow e retorna a saída final como a resposta HTTP. |

**Variáveis de saída**

| Variável              | Descrição                                                                                             |
| --------------------- | ----------------------------------------------------------------------------------------------------- |
| `trigger.body`        | O corpo JSON da solicitação recebida.                                                                 |
| `trigger.headers`     | Os cabeçalhos HTTP enviados com a solicitação.                                                        |
| `trigger.query`       | Parâmetros de consulta da URL da solicitação.                                                         |
| `trigger.method`      | O método HTTP usado pelo chamador.                                                                    |
| `trigger.webhook_url` | A URL completa do endpoint do webhook. Compartilhe isto com o sistema externo que chamará o workflow. |

**Modos de resposta**

| Modo         | Comportamento                                                                                                                                                            |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `onReceived` | Retorna HTTP `200 OK` imediatamente quando a solicitação chega, antes que o workflow termine. Use para cenários de disparar-e-esquecer.                                  |
| `lastNode`   | Mantém a conexão HTTP aberta até que o workflow termine, e então retorna a saída do nó final como o corpo da resposta. Use quando o chamador espera um payload síncrono. |

<AccordionGroup>
  <Accordion title="Observações">
    * Ao usar autenticação `header`, configure o nome e valor esperados do cabeçalho nas configurações do trigger.
    * `trigger.webhook_url` é útil para incluir a URL do endpoint na documentação de configuração enviada a parceiros de integração.
    * Se você está chamando este webhook a partir da Automation Anywhere, use a ação **HTTP Task** no seu bot para fazer POST na URL do webhook.
  </Accordion>
</AccordionGroup>

## Schedule

Aciona um workflow automaticamente em uma agenda recorrente definida por uma expressão cron. Use-o para automatizar tarefas baseadas em tempo, como relatórios diários, sincronizações periódicas de dados ou notificações recorrentes — sem nenhuma intervenção manual.

**Quando usar**

* Você precisa que um workflow seja executado em um horário fixo todos os dias, semanas ou meses.
* Você está automatizando um processo de negócio recorrente (por exemplo, buscar dados todas as manhãs, enviar um resumo semanal).
* Você deseja verificar um sistema externo em intervalos regulares.

**Configuração**

| Configuração | Tipo   | Descrição                                                                                                                 |
| ------------ | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| `schedule`   | String | Uma expressão cron definindo quando o workflow é executado.                                                               |
| `timezone`   | String | O fuso horário no qual a expressão cron é avaliada. Aceita nomes de fuso horário padrão como `UTC` ou `America/New_York`. |

<Warning>
  Sempre defina o campo `timezone` explicitamente. Se deixado não definido, a agenda é executada em UTC, o que pode causar temporização inesperada para workflows específicos de região.
</Warning>

**Referência de expressão cron**

Uma expressão cron possui cinco campos: **minuto · hora · dia do mês · mês · dia da semana**.

```text theme={null}
┌───── minuto (0–59)
│ ┌───── hora (0–23)
│ │ ┌───── dia do mês (1–31)
│ │ │ ┌───── mês (1–12)
│ │ │ │ ┌───── dia da semana (0–6, domingo = 0)
│ │ │ │ │
* * * * *
```

| Expressão      | Agenda                           |
| -------------- | -------------------------------- |
| `0 9 * * *`    | Todos os dias às 9:00            |
| `0 9 * * 1`    | Toda segunda-feira às 9:00       |
| `0 */6 * * *`  | A cada 6 horas                   |
| `0 8 1 * *`    | Primeiro dia de cada mês às 8:00 |
| `*/15 * * * *` | A cada 15 minutos                |

**Variáveis de saída**

| Variável                      | Descrição                                                        |
| ----------------------------- | ---------------------------------------------------------------- |
| `trigger.trigger_time`        | O carimbo de data/hora ISO 8601 de quando a agenda foi acionada. |
| `trigger.schedule_expression` | A expressão cron usada nesta execução.                           |
| `trigger.trigger_type`        | Sempre `"schedule"`.                                             |

<AccordionGroup>
  <Accordion title="Observações">
    * O trigger Schedule não passa entradas do usuário. Se seu workflow precisa de dados dinâmicos, busque-os dentro do workflow usando um nó API ou ferramenta de toolkit.
    * Use `trigger.trigger_time` em nós downstream para carimbar registros ou registrar quando a execução agendada ocorreu.
  </Accordion>
</AccordionGroup>

## File Upload

Inicia um workflow quando um ou mais arquivos são carregados. Ele fornece o conteúdo, nome, tamanho e tipo MIME de cada arquivo para os nós downstream — tornando-o ideal para workflows de processamento de documentos, como analisar um relatório carregado, extrair dados de uma planilha ou rotear um arquivo para um modelo de IA para análise.

**Quando usar**

* Você deseja que os usuários enviem arquivos para que o workflow processe (por exemplo, faturas, contratos, exportações CSV).
* Você precisa extrair conteúdo de documentos carregados e passá-lo para um LLM ou nó de processamento de dados.
* Você está construindo um pipeline de ingestão multi-arquivo.

**Configuração**

Este trigger não possui campos de configuração obrigatórios. Ele é ativado automaticamente quando um arquivo é carregado no chat ou interface associado ao workflow.

**Variáveis de saída**

<Tabs>
  <Tab title="Arquivo único">
    | Variável               | Descrição                                                               |
    | ---------------------- | ----------------------------------------------------------------------- |
    | `trigger.file.content` | O conteúdo de texto completo extraído do arquivo carregado.             |
    | `trigger.file.name`    | O nome original do arquivo.                                             |
    | `trigger.file.size`    | O tamanho do arquivo em bytes.                                          |
    | `trigger.file.type`    | O tipo MIME (por exemplo, `application/pdf`, `text/csv`).               |
    | `trigger.file_count`   | Número total de arquivos carregados. Retorna `1` para um único arquivo. |
  </Tab>

  <Tab title="Múltiplos arquivos">
    | Variável             | Descrição                                                                                      |
    | -------------------- | ---------------------------------------------------------------------------------------------- |
    | `trigger.files`      | Um array de todos os arquivos carregados. Cada item contém `content`, `name`, `size` e `type`. |
    | `trigger.file_count` | Número total de arquivos carregados.                                                           |

    Use um nó **Loop** para iterar sobre `trigger.files` ao processar múltiplos carregamentos em uma única execução.
  </Tab>
</Tabs>

<Note>
  O conteúdo do arquivo é extraído como texto simples. Formatos binários como PDFs e documentos Word são analisados automaticamente — o texto extraído é o que aparece em `trigger.file.content`.
</Note>

<AccordionGroup>
  <Accordion title="Observações">
    * `trigger.file` sempre se refere ao primeiro (ou único) arquivo carregado. Para workflows multi-arquivo, use `trigger.files` com um nó Loop.
    * Use `trigger.file.type` em um nó Condicional para rotear diferentes tipos de arquivo para diferentes ramificações de processamento.
  </Accordion>
</AccordionGroup>
