Duaer

Build

Aggregate items into one list in Duaer

In Duaer, Aggregate turns many input items into fewer outputs. You can collect selected fields, or pack the whole batch into one list.

Collect selected fields

  1. Search for Aggregate and connect it after the previous node.
  2. Set Aggregate to Individual Fields.
  3. Under Fields To Aggregate, add an Input Field Name, for example id. Turn on Rename Field when you need a different Output Field Name.
  4. Select Execute step. The output is often one item with the collected fields.

All Item Data (Into a Single List) packs every item into one list field. Put Output in Field is that field’s name.

Questions

How is Aggregate different from Merge in Duaer?

Aggregate works on many items on one path. Merge waits for several branches, then combines them. Refer to Merge branches in Duaer.

In this section

Flow

Handle errors gracefully in Duaer

How to handle execution errors in Duaer.

Flow

Fix memory issues in Duaer

Duaer does not restrict how much data each node can fetch. When an execution needs more memory than available, it can fail. This page explains how to identify and avoid those errors.

Flow

Use loops in Duaer

Use looping in Duaer when you want to process multiple items or repeat an action. Most nodes iterate automatically; some cases need an explicit loop.

Flow

Break work into sub-organizations in Duaer

Use Execute Sub-workflow in Duaer to split work into reusable sub-organizations. The called digital organization must start with Execute Sub-workflow Trigger.

Accounts

Manage users and access in Duaer

User management in Duaer lets you invite people to work in your instance.

Accounts

Connect LDAP to Duaer

Using LDAP with Duaer.

Accounts

Map roles for Duaer LDAP

Map directory groups to Duaer instance roles or project roles.

Accounts

Provision roles for Duaer OIDC

After OIDC sign-in works, map the provider’s groups to Duaer roles.

Accounts

Provision roles for Duaer SAML

After SAML sign-in works, map groups in the assertion to Duaer roles.

Accounts

Require two-factor auth in Duaer

How to enable 2FA for your Duaer account.

Accounts

Custom roles in Duaer

Overview of custom roles in Duaer, project-level and instance-level.

Accounts

Use external secret stores in Duaer

Use an external secrets vault with Duaer.

Hosting

Use source control and environments in Duaer

Overview of source control and environments in Duaer.

Hosting

Set up source control in Duaer

Link Duaer to your Git provider.

Hosting

Work with environments in Duaer

Understand the concepts behind environments in Duaer.

Hosting

Use Git in Duaer

Git concepts and limitations in Duaer.

Hosting

Push and pull changes in Duaer

Send work to Git, and fetch work from Git to your Duaer instance.

Hosting

Stream logs from Duaer to external systems

Stream events from Duaer to your logging tools.

Hosting

Track usage with Insights in Duaer

Duaer Insights gives instance owners and admins visibility into how digital organizations perform over time.

API

Use the Duaer public API

Call the Duaer public REST API with an API key.

API

Authentication for the Duaer public API

Duaer uses API keys to authenticate public REST API calls.

API

Endpoint reference for the Duaer public API

Endpoint reference for the Duaer public REST API on your instance. This docs site does not keep a second route list that would go stale.

Releases

Duaer changelog

Entry point for Duaer version notes. Breaking changes have their own pages.

Releases

Duaer release notes

What this Duaer version adds, and what to check on upgrade.

Releases

Duaer v3 breaking changes

Behavior that changes when you upgrade to Duaer v3.

Releases

Duaer 1.0 migration checklist

What to check when moving up from before Duaer 1.0.

Releases

Duaer 2.0 breaking changes

Behavior that changes when you upgrade to Duaer 2.0.

Hosting

Enable queue mode in Duaer

You can run Duaer in different modes depending on your needs. Queue mode provides the best scalability.

Hosting

Control concurrency in Duaer

Limit how many production executions may run at the same time on self-hosted Duaer.

Hosting

Fix memory issues on self-hosted Duaer

Memory-related errors when self-hosting Duaer: how to identify and avoid them.

Hosting

Handle binary data in Duaer

How to handle large files without degrading Duaer’s performance.

Hosting

Compare Duaer editions

Compare the self-hosted Duaer plans and editions: Community, Registered Community, Business, and Enterprise.

Hosting

Configure user management on self-hosted Duaer

Configure your self-hosted Duaer instance to support user management, and start inviting users.

Hosting

Encryption keys in Duaer

Duaer encrypts credentials before saving them to the database. It creates a key on first launch; DUAER_ENCRYPTION_KEY overrides that.

Hosting

Set a custom encryption key for Duaer

Set a custom encryption key for Duaer to securely encrypt credentials.

Hosting

Environment variables for Duaer

Configure the self-hosted Duaer process with environment variables.

Hosting

Manage Duaer settings with environment variables

Configure self-hosted Duaer from the process environment, a .env file, or container injection.

Hosting

Supported databases for Duaer

Self-hosted Duaer can use SQLite or Postgres.

Hosting

Set up task runners for Duaer

How to configure Duaer task runners to execute tasks using internal or external runner processes.

Hosting

Trace Duaer executions with OpenTelemetry

Send digital organization and node execution traces from Duaer to an OpenTelemetry collector.

Hosting

Use the Duaer command line

Commands available in the built-in Duaer command-line interface.

Hosting

Update Duaer

Best practices for updating your self-hosted Duaer.

Hosting

Run security audits on Duaer

Run a security audit on your Duaer instance.

Flow

Flow logic in Duaer

Error handling, looping, and sub-organizations. Start here for the most common canvas flow questions in Duaer.

Hosting

Configure self-hosted Duaer

Encryption keys, environment variables, databases, and task runners. Prefer Postgres in production and pin DUAER_ENCRYPTION_KEY.

Hosting

Duaer configuration examples

Copy-ready self-hosted configuration examples. Start with a custom encryption key.

Accounts

Grant execution access on a Duaer project role

In Duaer, a project role’s Executions section has View and Delete. View follows Duaer Organization View and cannot be turned on by itself.

Accounts

Read personal space on a Duaer instance role

In Duaer, every instance role lists personal-space permissions, and those checkboxes cannot be cleared on the role. What you can turn off is publishing and sharing under Security & policies.

Hosting

Find a restricted node in Duaer and replace it

In Duaer, a node blocked by policy still appears in search, and it cannot be added to the canvas. When you replace a step, the panel title is Replace this step.

Flow

Let Duaer read a Telegram photo

In Duaer, Telegram Trigger has to download images and files before a digital employee can read the photo, not only the text update.

Flow

Keep a Duaer node’s input and output visible on a narrow screen

In Duaer, after you open a node, the input panel and the output panel stay on screen when the window is narrow. There is no separate switch.

Flow

Keep a canceled Duaer execution canceled

In Duaer, an execution you cancel stays canceled. A later write does not turn it into success or error.

Get started

Choose how to use Duaer

Duaer runs on www.duaer.com, or you host it yourself with Docker. The plan sets monthly executions and AI credits.

Get started

Create your first digital employee in Duaer

In Duaer, create a digital employee: write instructions, pick a model, publish, then open a chat and accept the result. The UI may label the control Agent.

Get started

Build your first digital organization in Duaer

In Duaer, run a canvas flow once: manual trigger, Edit Fields, execute. This is not the digital-employee delivery path.

Get started

Key concepts in Duaer

In Duaer a digital organization is the canvas flow, and a digital employee is the side that delivers a result. Nodes, credentials, expressions, and plans are on this page.

Plans

Duaer plans and credits

Duaer hosted billing is by execution. Hobby is free, with 1,000 executions and 800 AI credits a month. Yearly billing is about 17% less.

Manage

Save and publish a digital organization in Duaer

In Duaer, edits stay a draft until you publish. Schedules, webhooks, and production runs use the published version.

Manage

Read executions in Duaer

In Duaer, one execution is one run of a digital organization. The Executions list shows success, error, canceled, running, queued, and waiting.

Manage

Debug a past execution in Duaer

In Duaer, open a past execution and use Debug in editor to pin that run’s data on the canvas, then change a node and run again.

Flow

Split a Duaer run with If and Switch

In Duaer, If sends each item to the true or false output. Switch sends items to several outputs by rules or an expression.

Flow

Merge branches in Duaer

In Duaer, Merge waits until each input has data, then appends, combines by field, runs SQL, or keeps one branch.

Flow

Pause a Duaer execution with Wait

In Duaer, Wait pauses the execution until a time interval, a date, a webhook call, or a form submit.

Manage

Export and import a digital organization in Duaer

In Duaer, Export JSON saves the canvas and nodes. It does not include credential secrets. After import, select credentials again.

Manage

Share and tag digital organizations in Duaer

In Duaer, Share hands a digital organization to other people or a project. Tags live with the description and filter the list.

Triggers

Receive a request with Webhook in Duaer

In Duaer, Webhook starts a digital organization. The Test URL works only while you are listening. The Production URL accepts outside calls after you publish.

Triggers

Run a Duaer digital organization on a schedule

In Duaer, Schedule Trigger starts a digital organization on the interval you set. It keeps that clock only after you publish. Execute on the canvas runs once now and does not wait for the clock.

Nodes

Call an API with HTTP Request in Duaer

In Duaer, HTTP Request sends the method and URL you enter. Put the account in a credential, not in the node parameters.

Flow

Drop items with Filter in Duaer

In Duaer, Filter splits by condition: matches go to Kept, the rest to Discarded. For node steps, see /build/filter/.

Flow

Choose branch order in Duaer

In Duaer, when a digital organization splits into branches, Execution Logic decides which branch finishes first. New digital organizations use v1 (recommended).

Manage

Start from a template in Duaer

In Duaer, a template is a ready-made digital organization. Using it copies the canvas onto your instance. You select credentials here.

Data

Keep rows in a Duaer data table

In Duaer, a data table lives in the current project. Rows one digital organization writes can be read by another in the same project.

Triggers

Reply to a caller with Respond to Webhook in Duaer

In Duaer, Respond to Webhook chooses when and what a Webhook or form sends back. The Webhook in front must set Respond to Using Respond to Webhook Node.

Triggers

Collect a form submission in Duaer

In Duaer, Duaer Form Trigger builds a web form. A submission starts the digital organization, and the fields show up on the node output.

Nodes

Change fields with Edit Fields in Duaer

In Duaer, Edit Fields (Set) adds or replaces fields on each item. Use it when you only change a few fields, instead of writing Code.

Flow

Process items in batches with Loop Over Items in Duaer

In Duaer, the panel label is Loop Over Items (Split in Batches). Most nodes already run once per item. Use this node for a fixed batch size and a return path between batches. For node steps, see /build/loop-over-items/.

Triggers

Start a Duaer run with Manual Trigger

In Duaer, Manual Trigger starts only when you select Execute Duaer Organization. A digital organization may have only one Manual Trigger.

Nodes

Write a short step with Code in Duaer

In Duaer, Code runs JavaScript or Python on the current items. Prefer Edit Fields when you only change a few fields.

Flow

Force a failure with Stop and Error in Duaer

In Duaer, Stop and Error stops the execution and records an error. Later nodes do not run. Use it when an error digital organization should start.

Nodes

Cap how many items continue with Limit in Duaer

In Duaer, Limit keeps only the first or last items. Items beyond Max Items are dropped at that step.

Nodes

Sort items in Duaer

In Duaer, Sort reorders the current items by field. Type can be Simple, Random, or Code.

Nodes

Remove duplicate items in Duaer

In Duaer, Remove Duplicates drops items that repeat in the current input. It can also drop values already seen in earlier executions.

Nodes

Convert Markdown and HTML in Duaer

In Duaer, the Markdown node converts between Markdown and HTML. The result is written to the field named in Destination Key.

Nodes

Write a file with Convert to File in Duaer

In Duaer, Convert to File turns the current JSON items into a file on binary. The default Operation is Convert to CSV.

Nodes

Read a file with Extract from File in Duaer

In Duaer, Extract from File reads JSON items or text from a file on binary. The default Operation is Extract From CSV.

Nodes

Work with dates in the Date & Time node in Duaer

In Duaer, Date & Time defaults to Get Current Date. When you only need the current time in an expression, {{ $now }} is enough without this node.

Nodes

Rename fields with Rename Keys in Duaer

In Duaer, Rename Keys changes field names, not values. Under Keys, set Current Key Name and New Key Name.

Nodes

Split a list into items with Split Out in Duaer

In Duaer, Split Out turns a list inside an item into separate items. Fields To Split Out is required. Include defaults to No Other Fields.

Nodes

Compare two inputs with Compare Datasets in Duaer

In Duaer, Compare Datasets has Input A and Input B, and four outputs: In A only, Same, Different, and In B only. Pair rows with Fields to Match.

Nodes

Compress or decompress files with Compression in Duaer

In Duaer, Compression defaults to Operation Decompress. Input Binary Field(s) defaults to data. It works on binary on the item, not a host path.

Nodes

Hash a value with Crypto in Duaer

In Duaer, Crypto defaults to Action Hash. Type defaults to SHA256. The result goes to Property Name (default data). Encoding defaults to HEX.

Nodes

Filter items in Duaer

In Duaer, Filter has two outputs: Kept and Discarded. Set Conditions for the rule. Ignore Case under Options is on by default.

Nodes

Branch with If in Duaer

In Duaer, If has two outputs: true and false. Conditions hold the rule. Items on an unwired side are dropped.

Nodes

Route items with Switch in Duaer

In Duaer, Switch defaults to Mode Rules. Under Routing Rules, set Conditions per rule. With Fallback Output None, unmatched items are ignored.

Nodes

Pause with the Wait node in Duaer

In Duaer, Wait defaults to Resume After Time Interval. On the current version, Wait Amount defaults to 5 and Wait Unit defaults to Seconds.

Nodes

Configure the Merge node in Duaer

In Duaer, Merge defaults to Mode Append, which lines up items from each input one after another. To join by fields, set Mode to Combine.

Nodes

Summarize fields in Duaer

In Duaer, Summarize sets Aggregation (default Count) and Field under Fields to Summarize. Use Fields to Split By to group.

Nodes

Work with HTML in Duaer

In Duaer, HTML defaults to Operation Generate HTML Template. You can also Extract HTML Content or Convert to HTML Table.

Nodes

Convert XML in Duaer

In Duaer, XML defaults to Mode XML to JSON. Property Name defaults to data. If the XML is on binary, convert it to text with Extract from File first.

Nodes

Edit images with Edit Image in Duaer

In Duaer, Edit Image defaults to Operation Border. Property Name defaults to data and points at the image on the item’s binary field.

Nodes

Tag executions with Execution Data in Duaer

In Duaer, Execution Data defaults to Operation Save Highlight Data (for Search/review). Under Data to Save, add Key and Value pairs for the executions list and filters.

Nodes

Pass items through with No Operation in Duaer

In Duaer, the node is named No Operation, do nothing. It has no parameters. Items pass through unchanged. Use it as a placeholder or to tidy wiring.

Nodes

Configure Stop and Error in Duaer

In Duaer, Stop and Error has no outputs. Error Type defaults to Error Message. When the run reaches it, the execution fails and later nodes do not run.

Nodes

Call a sub-organization with Execute Duaer Organization

In Duaer, the node is named Execute Duaer Organization. On current versions Source defaults to Database. Mode defaults to Run once with all items. The called organization must start with Execute Workflow Trigger.

Nodes

Run a host command with Execute Command in Duaer

In Duaer, Execute Command runs a shell command on the machine that hosts Duaer. Execute Once is on by default. Command is required.

Nodes

Sign a token with JWT in Duaer

In Duaer, JWT defaults to Operation Sign. You need a jwtAuth credential. Use JSON to Build Payload is off by default.

Nodes

Add a Sticky Note on the Duaer canvas

In Duaer, Sticky Note has no inputs or outputs. Content defaults to a short Markdown tip. Height is 160, Width 240, Color 1.

Nodes

Call an API with GraphQL in Duaer

In Duaer, GraphQL defaults to Authentication None and HTTP Request Method POST. Set Endpoint and Query. The response defaults to JSON on Response Data Property Name (default data).

Nodes

Connect over SSH in Duaer

In Duaer, SSH defaults to Authentication Password, Resource Command, and Operation Execute. Working Directory defaults to /.

Nodes

Transfer files with FTP in Duaer

In Duaer, the FTP node Protocol defaults to FTP (SFTP is available). Operation defaults to Download. The file lands on Put Output File in Field (default data).

Nodes

Configure Loop Over Items in Duaer

In Duaer, the panel label is Loop Over Items (Split in Batches). The default name is Loop Over Items. Outputs are loop and done. Batch Size defaults to 1.

Nodes

Send mail with Send Email in Duaer

In Duaer, the node is named Send Email. Operation defaults to Send. Set From Email, To Email, and Subject. On the current version Email Format defaults to HTML.

Nodes

Read and write host files in Duaer

In Duaer, Read/Write Files from Disk defaults to Operation Read File(s) From Disk. It uses paths on the machine that runs Duaer, not the computer in your browser.

Nodes

Add form pages with Duaer Form

In Duaer, Duaer Form comes after Duaer Form Trigger. Page Type defaults to Next Form Page. Form Ending closes the form.

Nodes

Publish with MQTT in Duaer

In Duaer, MQTT publishes to a topic. Topic is required. Send Input Data is on by default. You need an mqtt credential.

Nodes

Use DebugHelper in Duaer

In Duaer, DebugHelper intentionally causes problems or generates sample data for debugging. Category defaults to Throw Error. Error Type defaults to NodeApiError.

Nodes

Read and write Redis in Duaer

In Duaer, Redis defaults to Operation Info. Use Set, Get, and other operations for keys. You need a redis credential.

Nodes

Publish with AMQP Sender in Duaer

In Duaer, AMQP Sender publishes over AMQP 1.0 to a Queue / Topic once per item. You need an amqp credential.

Nodes

Start on new mail with Email Trigger (IMAP)

In Duaer, Email Trigger (IMAP) starts the digital organization when new mail arrives. Mailbox Name defaults to INBOX. Action defaults to Mark as Read. Format defaults to Simple. You need an imap credential.

Nodes

Read and write Postgres in Duaer

In Duaer, Postgres defaults to Operation Insert. Choose Schema and Table, then map fields in Columns. You need a postgres credential.

Nodes

Read and write MySQL in Duaer

In Duaer, MySQL defaults to Operation Insert. Choose Table. Data Mode defaults to Auto-Map Input Data to Columns. You need a mySql credential.

Nodes

Find documents with MongoDB in Duaer

In Duaer, MongoDB defaults to Resource Document and Operation Find. Set Collection. Query (JSON Format) defaults to {}. You need a mongoDb credential.

Nodes

Watch host files with Local File Trigger

In Duaer, Local File Trigger starts the digital organization on host filesystem changes. Paths are on the machine that runs Duaer, not the computer in your browser.

Nodes

Send a Slack message in Duaer

In Duaer, Slack defaults to Authentication Access Token, Resource Message, and Operation Send. Message Type defaults to Simple Text Message.

Nodes

Send a Telegram message in Duaer

In Duaer, Telegram defaults to Resource Message and Operation Send Message. Set Chat ID and Text. You need a telegramApi credential.

Nodes

Read rows with Google Sheets in Duaer

In Duaer, Google Sheets defaults to Authentication OAuth2, Resource Sheet, and Operation Get Row(s). You need a googleSheetsOAuth2Api credential.

Nodes

Generate a TOTP code in Duaer

In Duaer, TOTP defaults to Operation Generate Secret. Under Options, Algorithm defaults to SHA1, Digits to 6, and Period to 30. You need a totpApi credential (label and secret).

Nodes

Upload a file with Google Drive in Duaer

In Duaer, Google Drive defaults to Authentication OAuth2, Resource File, and Operation Upload. Input Data Field Name defaults to data. You need a googleDriveOAuth2Api credential.

Nodes

Send a Discord message in Duaer

In Duaer, Discord defaults to Connection Type Bot Token and Resource Channel. To chat, set Resource to Message and Operation to Send. You need a discordBotApi credential.

Nodes

Upload a file with Dropbox in Duaer

In Duaer, Dropbox defaults to Authentication Access Token, Resource File, and Operation Upload. File Path is required. You need a dropboxApi credential.

Nodes

Start on Server-Sent Events with SSE Trigger

In Duaer, SSE Trigger starts the digital organization when Server-Sent Events arrive. URL is required. Event data must be JSON.

Nodes

Send mail with Gmail in Duaer

In Duaer, Gmail defaults to Authentication OAuth2, Resource Message, and Operation Send. Email Type defaults to HTML. You need a gmailOAuth2 credential.

Nodes

Create a Notion page in Duaer

In Duaer, Notion defaults to Authentication API Key, Resource Page, and Operation Create. Content Type defaults to Block Builder. You need a notionApi credential.

Nodes

Create a GitHub issue in Duaer

In Duaer, GitHub defaults to Authentication Access Token, Resource Issue, and Operation Create. You need a githubApi credential.

Nodes

Create an Airtable record in Duaer

In Duaer, Airtable defaults to Authentication Token and Resource Record; Operation defaults to Get. For create, switch to Create, pick Base and Table, then map Columns. You need an airtableTokenApi credential.