← All workflow templates

Workflow templatePattern — compile it from your own recording

Automate report exports and verify the file actually arrived

The scheduled export nobody trusts: run the report, download or drop the file, and — the part the screen can’t prove — verify that exactly one conforming file actually landed, with the right name, a plausible size, a fresh timestamp, and optionally the exact expected content.

This is a workflow shape, not a canned connector: you compile it from a recording of your own team in your own applications. The execution and verification mechanics it relies on are proven on the linked reference templates.

Runs on

Your own reporting application and output folder or SFTP endpoint, from a recording of your team running one export. The file-arrival and document-hash verifiers are part of the shipping runtime and run live in CI; local directories are first-class and SFTP endpoints are supported.

Source in openadapt-flow →

The demonstrated steps

  1. 1Open the report in your application
  2. 2Set the demonstrated filters or date range — parameters at replay
  3. 3Trigger the export
  4. 4Let the effect contract — not the screen — establish whether the file arrived

Parameters: report filters or date range as demonstrated — recorded values are the defaults; every replay can override them.

How the outcome is verified

An “Export complete” message proves nothing; the truth is whether a file matching the contract actually arrived. The file-arrival verifier checks name pattern, non-trivial size, fresh modification time, and optionally content — and its exactly-one-new-file contract catches the double export that quietly writes “report (1).csv”. When the expected bytes are known, the document-hash verifier confirms content identity by SHA-256, catching a truncated or partial write even though the file exists. A missing or unreadable output folder is indeterminate and halts — never “no file expected”.

  • file-arrival contract (exactly one new conforming file: name, size, freshness)
  • SHA-256 document-hash content check
  • halt on unreadable export target

Try it from the command line

The compiler and runtime are open source and MIT licensed. Healthy runs are local and make no model calls.

pip install openadapt-flow

Install the open-source compiler and runtime.

openadapt-flow record --url https://your.app --out rec

Open a headed browser on your app and demonstrate the workflow once; Ctrl-C to finish.

openadapt-flow compile rec --out bundle --name my-task

Compile the recording into a deterministic bundle with auto-classified risk per step.

openadapt-flow lint bundle && openadapt-flow certify bundle --policy permissive

Surface coverage gaps, then gate the bundle against a policy before it ever deploys.

openadapt-flow replay bundle --url https://your.app --param name=value

Replay against your app; recorded values are defaults and --param overrides them.

Put this workflow into production

Bring your version of this workflow and the record that proves its outcome. We'll map the deployment, verification, shadow run, and supervised rollout.