Concepts

Built-in nodes

25 nodes ship with the platform. Each one is data plus behavior — the editor renders its form automatically.


Triggers

Type idWhat it does
trigger.manualStarts a run from the editor or POST /workflows/:id/run.
trigger.webhookStarts active workflows on POST /api/hooks/:path — outputs { body, headers, query }.
trigger.scheduleStarts active workflows on a cron schedule in any IANA timezone — outputs { cron, timezone, scheduledFor, firedAt }.

Logic & flow

Type idWhat it does
logic.conditionRoutes items to the true or false output.
logic.delayPauses a branch for a duration (up to 120 s); cancellation-aware.
logic.approvalPauses the run until a person approves or rejects it — see Human approval.
workflow.callRuns another saved workflow to completion and returns its output.
logic.loopRuns another saved workflow once per item in a list and collects the outputs in order.

Data & code

Type idWhat it does
data.setSets, renames and composes fields with expressions.
code.javascriptRuns JavaScript over the inputs — $json is the first input, return the output.
http.requestCalls any HTTP API; honors per-node timeout and retries.
postgres.queryParameterized SQL against a Postgres database.
s3.objectPut, get or delete an object in S3 or any S3-compatible store.

AI

Type idWhat it does
ai.generateText generation through the AI Router — auto or a pinned model; reports model, tokens and cost.
ai.compareOne prompt to two models, compared side by side on output, cost and latency.
ai.ensembleOne prompt across several models, combined as all results, first success or majority vote.
memory.storeSaves text into a memory namespace — see Memory & RAG.
memory.recallSemantic search over a memory namespace.
rag.ingestParses, chunks and indexes a document into a knowledge base.
rag.queryHybrid search over a knowledge base, returning cited chunks.

Integrations

Type idWhat it does
slack.sendPosts a Slack message through a bot.
telegram.sendSends a Telegram message through a bot.
email.sendSends an email over SMTP.
github.requestCalls the GitHub REST API.
sheets.appendAppends rows to a Google Sheet (needs an access token with the spreadsheets scope).

Credentials

Nodes that talk to other systems — postgres.query, email.send, github.request, sheets.append, s3.object, slack.send, telegram.send — take an optional Credential. An admin stores the secret once with POST /api/credentials; it is encrypted at rest and decrypted only inside the run, so workflows reference it by id and never carry passwords or tokens in their definition.

How nodes work

A node is a declarative description — its palette entry and parameter form — plus an execute function. Because the parameters are data, DirectStudio renders every node’s configuration form automatically. The full catalog, with every parameter, is available at GET /api/node-types.