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

# Manual Trigger

Start this workflow by hand, via API, or with a webhook URL. Optionally define input fields for structured data.

Trigger Manual and API

Start this workflow by hand, via API, or with a webhook URL. Optionally define input fields for structured data.

## At a Glance

| Field | Value |
| --- | --- |
| Trigger ID | `manual` |
| Category | Manual and API |
| Tags | `manual`, `on-demand`, `user-initiated`, `webhook`, `http`, `api` |

## Trigger Configuration

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `inputSchema` | `object` | No | Define the fields that must be provided when triggering this workflow. Leave empty to accept any data or no data. |

## Trigger Result

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `triggeredAt` | `string` | Yes | Timestamp when the trigger was executed \(UTC, RFC3339 format\) |
| `body` | `object` | No | Input data provided at trigger time \(from UI form, API payload, or webhook body\) |

## Workflow Root Example

```json
{
  "nodes": {
    "root": {
      "type": "manual",
      "payload": {
        "inputSchema": {}
      },
      "children": [
        "log_event"
      ]
    },
    "log_event": {
      "type": "log",
      "payload": {
        "message": "Triggered at {{$trigger.triggeredAt}}"
      },
      "children": []
    }
  }
}
```

**Reference trigger output**

Downstream nodes can use `{{$trigger.triggeredAt}}` and any result fields listed above. Event triggers usually expose the raw source payload under a field such as `event`, `body`, `trade`, or `raw`.