Building a Route

Two ways to build Routes: the form-based dashboard, or the visual drag-and-drop flow builder.

From the dashboard

The Routes dashboard is the fastest way to wire a Source to one or more Targets and optionally add processing Steps. Everything lives on one page, no canvas to navigate.

  1. 1

    Open Routes

    In the sidebar, click Routes. You'll see your existing Routes and a New Route button in the top-right corner.
  2. 2

    Click New Route

    Click New Route. A creation form slides in with the required fields.
  3. 3

    Pick your Source

    Select the Source you want this Route to listen to from the dropdown. If you haven't created a Source yet, go to Sources first and come back.
  4. 4

    Name the Route

    Give the Route a descriptive name, something that reminds you what it does, like “TradingView → ICMarkets Live” or “TV scalper → Demo + Telegram”. The name appears in the flow builder and on the Signals page.
  5. 5

    Add Targets

    In the Targets field, select one or more Targets from the multi-select. Each selected Target will receive a copy of every signal that passes through this Route. You can add Targets later by editing the Route.
  6. 6

    Optionally add Steps

    Expand the Steps section to add filter, transform, or score steps to the pipeline. Steps run top-to-bottom in the order they appear. See the Step catalog for all available options.
  7. 7

    Save

    Click Save. The Route is now active, the next signal from your Source will flow through it immediately.

Enable / disable without deleting

Every Route has an Active toggle. Flip it off to pause delivery without losing your Step configuration or Target list.

From the flow builder

The Flow Builder is a visual, drag-and-drop interface built on ReactFlow. It is best suited for visualising complex pipelines or fan-out patterns where seeing the connections as a graph is more intuitive than a form.

Here is how to build a Route on the canvas:

  1. 1

    Open /flow

    Click Flow in the sidebar. The canvas opens with any existing Routes already laid out as a graph.
  2. 2

    Drag a Source node onto the canvas

    From the left panel, drag a Source node onto the canvas and select the Source you want from the dropdown that appears.
  3. 3

    Drag Step nodes between Source and Target (optional)

    Drag any Step nodes you want, filter, transform, score, and place them between the Source and your Targets. You can reorder them by dragging.
  4. 4

    Drag Target nodes

    Drag one or more Targetnodes onto the canvas and select the Target from each node's dropdown.
  5. 5

    Connect the nodes

    Drag a wire from the Source node's output handle to each Step or Target. Connect Steps to Targets in order to define the pipeline.
  6. 6

    Save

    Click Save graph in the toolbar. Signalync converts the graph into a Route (or updates an existing one). The Route is immediately active.
The Flow Builder and the Routes dashboard show the same underlying Routes, they are different views of the same data. A Route created in the dashboard appears in the flow graph, and vice versa.

Testing your route

The fastest way to verify a Route is working is to fire a manual signal. Manual signals let you type a signal directly into the dashboard without needing a live TradingView alert or Telegram message.

  1. 1

    Send a manual signal

    Go to Sources, open your Source, and click Send test signal. Enter a minimal payload like EURUSD,buy,vol=0.01 and submit.
  2. 2

    Watch the Signals page

    Navigate to Signals. Your test signal should appear within a second. If the Route has multiple Targets, you will see a delivery count next to the signal row.
  3. 3

    Inspect Deliveries

    Click the signal row to open the detail drawer. Each Delivery is listed with its Target name, status badge, and dispatch latency. If a Step filtered the signal for a particular Target, the Delivery shows filtered and the name of the Step that rejected it.

Troubleshooting

Signal arrived but no Deliveries

Check that the Route is Active, open the Routes page and look for the toggle. If it is active, check whether a filter Step rejected the signal: open the Signal detail drawer; if a Delivery exists with status filtered, the Step name will be shown.

Some Targets received the signal, others did not

Each Target dispatches independently. Open the Signal detail drawer and compare the Delivery rows for each Target. A Target-specific failure (EA offline, webhook unreachable) shows as failed with an error message on that Delivery row only, other Targets are unaffected.

Step config did not apply

Steps run in order, top-to-bottom. Transform Steps must come before the filter or target they affect. For example, if you use transform.symbol_map to rename GOLD → XAUUSD, it must appear above any filter.symbol_allow Step that checks for XAUUSD. Open the Route editor, check the Step order, and drag to reorder if needed.