*Workflows › Guides*

# Build an on-demand report with a form

> A manual trigger can ask for values when someone runs it. This workflow asks for a question and a recipient, then emails Neo's report and a link to a spreadsheet of orders.

> **Before you start:** This builds, from a blank workflow, the same thing as the template "Send a Neo report and a link to the full orders Excel". It uses AI credits and sends an email. Use your own address to test.

The template's reference page, with its trigger, steps and requirements: [Send a Neo report and a link to the full orders Excel](https://docs.filmo.io/workflows/reference/templates/custom-report).

## Build it

1. **Create the workflow** «New workflow», «Set up a trigger», «Manual run».
2. **Declare the form** In the trigger, add three fields: `question` (text, label "Question"), `recipient` (text, label "Recipient") and `includeWeb` (true/false, label "Include a web search"). All three must be sent whenever someone runs it. A name starts with a letter or an underscore, then letters, digits or underscores; `createdAt` and `createdBy` are reserved and a name cannot repeat.
3. **Ask Neo** Add «Ask the AI». For the question, insert the variable "Question" from the trigger; for the web search, insert "Include a web search". Leave the mode as instant.
4. **Export the orders** Add the action that generates an Excel of orders. It takes no inputs and gives back a temporary link. It exports all orders, not only those the question is about.
5. **Send the email** Add «Send email from Filmo». To: the variable "Recipient". Subject: a fixed text. Body: Neo's answer, a blank line, and the link to the spreadsheet, each inserted as a variable.
6. **Run it** Select the trigger and press «Run workflow». The form asks for the three values. The editor publishes the draft first, as a new version.

## How the values travel

- Each field of the form is a variable `trigger_<name>` for every later step: you pick it from the list under Trigger.
- Each step's result is a variable too, named after the step. Neo's answer is the `answer` of the step.
- The email comes from Filmo's address, not from your mailbox, and the workflow stays public.
- The link to the spreadsheet is temporary. A recipient opening the email after it expires finds a dead link.

## Run it from your own code

The form is exactly what the API asks for in `payload`. List the workflows to see it, then start a run with the fields: see [Workflows from the API and MCP](https://docs.filmo.io/workflows/api-and-mcp).

> **Warning:** A recipient typed in the form is not checked. The email step accepts one address; a list separated by commas fails with a message saying the address is not valid.

---

Canonical URL: https://docs.filmo.io/workflows/guides/on-demand-report  
Last updated: 2026-10-09