Documentation

What's possible

A tour of what Daedalus can do and where to find each feature in the app. For the individual steps you put on the canvas, see Nodes.

The canvas

You build a workflow on the canvas. Each node is one step, and wires carry tables from one step to the next. Select a node to set it up in the Attributes panel on the right.

Adding nodes

Editing

Hints and shortcuts

Connect data

Sources live in the Drones panel on the left. A drone is a small helper program that runs next to your data and reads it in place. You don't copy files into Daedalus first.

No data yet? Generate Series and Constant Table make rows from scratch.

Run and preview

Runs happen on your machine. Each node's output is saved in a local cache inside the project, so a run only redoes the steps that changed.

Selecting a node or editing its settings never writes to a real destination. Writers and senders only act on an explicit Run, or when you press Re-execute node in the Data tab. A Dry run writes to a throwaway target instead.

Loops and functions

Loops and named functions are frames on the canvas that hold other nodes. Select some nodes and press ⇧L for a loop or ⇧G for a function. You can also draw an empty one from the toolbar ⋯ menu → Draw.

Loops

There is no limit on the number of items. Use Current item and File inside a loop to read the item itself.

Named functions

A named function groups a part of the workflow into one box with its own inputs and outputs. Collapse it to keep a big graph readable. A collapsed function can still be run. See loops and functions on the Nodes page.

Formulas and finance functions

Formulas are SQL. You type them in Add Column, Multi-field Formula, Multi-row Formula, a Filter condition, or a full DuckDB Query. Write a column by its name, or in double quotes when it has a space: Price - Cost, "Unit Price" * 1.23. Conditions can be written IF x > 0 THEN 'Yes' ELSE 'No'.

Excel's finance functions work in every one of these, by their Excel names and with Excel's argument order. Money you pay out is negative, as in Excel, so the monthly payment on a 250,000 loan at 5% over 30 years is PMT(0.05 / 12, 360, -250000), which gives 1342.05.

The cash-flow functions take a whole column. Where Excel takes a range, you write list(column ORDER BY period), so in a DuckDB Query SELECT NPV(0.08, list(cashflow ORDER BY period)) AS npv FROM _input gives the net present value of the table. For one value per project, use Aggregate: group by the project and pick NPV or IRR as the operation, with the period column and the rate on the row. In Add Column, IRR(list(cashflow) OVER ()) puts the same value on every row. When a calculation has no answer, for example an IRR of flows that never change sign, the result is empty rather than an error, so the rest of the run carries on.

Start from the add-node menu. Right-click the canvas and type the function, such as PMT, NPV or IRR, or what you want to work out, such as loan payment, depreciation or CAGR. The Finance section lists one row per function, and picking one adds a node with the formula already written: an Add Column for most functions, an Aggregate for the cash-flow ones. The formula uses the argument names as placeholders, for example PMT(rate / 12, nper, -principal). Replace each with one of your columns or a number.

Alteryx's names (FinancePMT, FinanceNPV and the rest) work too when you type them. The cash-flow ones take a list, as above, where Alteryx lists the values one by one. Not available yet: Excel's bond, coupon and Treasury-bill functions, and VDB.

Data quality

You can check data as it flows. Choose whether a broken rule should stop the run, skip part of the workflow, or only be reported.

Maps and geospatial

Geometry is a normal column in Daedalus. You can read it, transform it and map it like any other data, and most of it works without an internet connection.

Road data, street-level address indexes and detailed basemaps are managed under the user menu → Offline map data. You need an internet connection to download them. After that, they work offline.

Routing engine

Daedalus ships its own routing and geocoding engines. They run on this computer, on road and address data you download once per region, so a thousand drive times cost nothing per call and need no internet connection once the data is installed.

Routing on the road network

Geocoding

You need an internet connection to download road data and build an address index. Everything after that, including every Route, Matrix and Geocode run, works offline.

Reports

A report is built on the canvas like the rest of the workflow. Each section is a node, a layout decides where the sections go, and the result is written as a PDF, an HTML page or a PowerPoint deck.

Outputs

Output nodes take results out of Daedalus. They run when you click Run. Previews and selections never trigger them.

Scheduling

Today you schedule a workflow by deploying it to Daedalus cloud runs (next section). The workflow then runs on a schedule you set, with no need for your computer to be on.

Scheduling runs on your own computer, inside the desktop app, isn't available yet. For your own scheduler, export the workflow as Python and run that package with cron, Task Scheduler or any tool you already use.

Cloud runs

Deploy a workflow to run in the cloud on a schedule. Cloud runs need a Daedalus account and an internet connection.

Secrets you enter for a cloud run are write-only: they are stored encrypted and never shown again.

Share a workflow

A share link lets someone see your workflow in a web browser, with no install. It shows the workflow only, not your data. Sharing needs a Daedalus account.

To hand over a whole project with no account involved, use a .daedalus archive instead: start page → project menu → Export…. See Projects.

Export as Python

Any workflow can be exported as a regular Python package. You can then run it without Daedalus, from a script, a notebook, a scheduler or a server.

AI features

AI is optional. Everything else in Daedalus works without it. With a hosted model, AI features use your Daedalus account and an internet connection. With a model on your own computer, they work offline. Either way, you control how much of your data they can see.

Where AI shows up

Staying in control

Drive Daedalus from other AI tools

Daedalus can run an MCP server, so an MCP client can list your projects, inspect a workflow, read node previews and start runs. It is off by default. Turn it on under Privacy & Diagnostics → MCP server. It only listens on your own machine.

Credentials

Passwords and keys don't belong in node settings. Store them once in the vault, under the user menu → Credentials, and refer to them by name.

On macOS, the first use of the keychain after launch may open a system prompt behind the Daedalus window. The app shows a "Daedalus is paused" screen until you answer it.

Working offline

Daedalus is built to work without internet. Your data, the cache and every run stay on your machine. A few features need a connection, either every time or once to download data.

Works offline Needs internet
Building and running workflows on local files and databases, including spatial and H3 steps. The data engine's extensions ship with the app. Cloud sources such as S3, Snowflake, Salesforce and Strava, plus web pages, REST Fetch and the Context Data sources.
Maps, using the bundled world overview and any regions you've downloaded. Downloading basemap regions, routing data and address indexes. You do this once per region.
City-level geocoding, and street-level geocoding and routing once their data is installed. AI features with a hosted model, share links and cloud runs. These also need a Daedalus account.
Code that AI already wrote for a node. It runs locally like any other node. AI features themselves work offline with a model on your own computer. Writing to cloud destinations: S3, Slack, email and HTTP requests.
Importing Alteryx workflows, exporting to Python, version history.

Projects

A project is a folder on your disk. It holds the workflow, the code for each node and a local cache of results. Daedalus saves it as you work, and the toolbar shows Saved or Unsaved changes.