MINARA

Build Workflows

Turn plain-language requests into automations with previews, tests, and delivery channels

Not sure where to start with automation? Start here. These examples are phrased the way real users actually ask, and every one maps to a workflow product surface that exists today.

Start with First-Time Setup if this is your first funded session.

💡 Local workflows support workflow_test before deployment. For message-based workflows, the test fires a real message via the configured platform so you can verify the channel works. If the target platform isn't connected yet, the test refuses up-front and tells you which provider to connect.

How to think about automation

Workflows run on the built-in workflow engine. Use them for scheduled briefs, alerts, notifications, and monitoring. A workflow calls tool handlers directly and does not spend tokens unless it explicitly contains an LLM node.

Autonomous trading strategies live in Autopilot. They are a separate section.

🟢 Agentic workflows

These are the safest automation entrypoint. They watch, summarize, and notify. No funds move.

1. Telegram price alert

Prompt

Alert me on Telegram if ETH trades below $3000.

Agent response:

Creating a price-threshold workflow:

  • Asset: ETH
  • Trigger: last price below $3,000
  • Delivery: Telegram
  • Cooldown: 15 minutes between pushes

Confirm to create? Reply yes or no.

If you have not configured a channel yet, Minara stops and points you to Messaging.

2. Morning market brief

Prompt

Send me a BTC, ETH, and SOL market brief every day at 8am Shanghai time.

Agent response:

I'll create a scheduled local workflow:

  • Schedule: every day at 08:00 Asia/Shanghai
  • Assets: BTC, ETH, SOL
  • Output: overnight move, key levels, trend, risk flags
  • Delivery: chat + configured messaging channel

Confirm to create? Reply yes or no.

3. Custom monitoring workflow

Prompt

Create a workflow that emails me if BTC moves 5% in a day or if NVDA gaps more than 4% at the open.

Agent response:

Building a local monitoring workflow:

  • Trigger A: BTC 24h move >= 5%
  • Trigger B: NVDA open gap >= 4%
  • Channel: email
  • Run mode: monitoring only, no trade execution

Confirm to create? Reply yes or no.

4. High-frequency watchlist scan

Prompt

Watch the top 20 tokens by 24h volume and alert me every 15 minutes if any move more than 5%.

Agent response:

Preparing a local monitoring workflow:

  • Schedule: every 15 minutes
  • Universe: top 20 tokens by 24h volume
  • Trigger: absolute move > 5%
  • Delivery: chat + your configured notification channel
  • Allowed tools: read, memory, messaging

Confirm to create? Reply yes or no.

Testing a local workflow before deployment

For local workflows, Minara can run a test execution before production:

  1. workflow_test creates a manual test execution and runs the DAG end-to-end with sample inputs or an auto-generated trigger payload.
  2. Messaging steps send for real, so you actually see the alert hit Telegram / Slack / email — the test verifies the channel works, not just the payload shape.
  3. Fund-moving and other destructive tools are still simulated. The preview structure records what would have happened; nothing real gets dispatched.
  4. If the workflow targets a platform you haven't connected yet, the test refuses up-front and tells you which provider is missing. Connect it via /connect <platform> (REPL) or Settings → Messaging (web UI), then re-run.
  5. Production schedules and definition.active stay untouched — testing is safe to re-run as many times as you like.

That lets you verify, end-to-end, what the recipient will actually see before the workflow goes live.

Fire-once alerts

Most "ping me when X happens" alerts should fire once and then stop on their own — you don't want a fresh Telegram message every 15 minutes for the next month after GOOGL crosses $340. Pair send_message with a deactivate step:

{
  "entry": "fetch_quote",
  "trigger": { "type": "interval", "interval_ms": 900000 },
  "steps": {
    "fetch_quote": {
      "kind": "tool_call",
      "tool": "yahoo_finance_stock",
      "args": { "kind": "quote", "symbol": "GOOGL" },
      "next": "check"
    },
    "check": {
      "kind": "condition",
      "condition": "fetch_quote.price <= 340",
      "next": { "on_success": "alert", "on_failure": null }
    },
    "alert": {
      "kind": "send_message",
      "provider": "telegram",
      "text": "GOOGL hit $340",
      "next": "stop"
    },
    "stop": { "kind": "deactivate" }
  }
}

When the price condition first turns true, send_message delivers the alert and deactivate flips the workflow's own active = false. The next interval tick is skipped because the trigger manager respects the inactive flag, so the alert fires exactly once.

To re-arm: re-activate manually via the web UI's Schedule on button, the REPL /workflows activate <id> command, or just ask the agent in chat ("re-arm the GOOGL alert").

Turning on schedules that move money

If your workflow swaps tokens, buys, sells, or moves funds in any way and you turn on its schedule, Minara will not stop to ask "are you sure?" each time it runs. That's the whole point of a schedule. It runs by itself.

Heads up: clicking Schedule on for a money-moving workflow is a one-time yes for every future run. Before flipping the schedule on, the web UI shows you exactly which steps move money, how often the workflow will run, and asks you to check "I understand" before continuing. Cancel takes you back to one-off Run now, where each run still asks you to confirm trades.

Want to know how the safety check works under the hood? See Fund-moving confirmation.

What belongs here vs elsewhere

  • Use Workflows for alerts, scheduled summaries, and monitoring.
  • Use Autopilot for automatic quantitative trading strategies with caps, kill conditions, and ongoing strategy review.
  • Use Your First Trade for interactive one-shot trading with preview + confirm.

Where to go next

On this page