For the complete documentation index, see llms.txt. This page is also available as Markdown.

Nodes: Actions

Actions are the operations available for creating and automating, which live inside of a workflow. You grab these actions from the left side menu of the Workflow Builder, and drag them onto the Workflow Builder canvas. When you run a workflow, Rewst is completing a series of actions specified within that workflow. Each action has a set of configuration options within it, editable in its node menu in Workflow Builder once dragged onto the Canvas.

Ask the Rewst Agent to explain any node in Rewst. This documentation exists to help you get started, but in-platform questions and learning are the fastest way to achieve automation.

Action types: Built-in actions

Get Org External ID - CTX.get_org_external_id

Read one provider or integration external ID mapping for the active organization selected by Set Org. If Set Org has not changed context, the workflow org is used. Missing mappings don't fail. The deterministic out output has:

  • Ok = true

  • Found = false

  • External_id = empty string

List Org External IDs - CTX.list_org_external_ids

List all external ID mappings for the active organization selected by Set Org as the provider integration slug > external ID. If Set Org has not changed context, the workflow org is used. The output includes ok, org_id, external_ids, and count.

List Sub-Orgs - CTX.list_sub_orgs

List child organizations. Filter by depth, status, tags, or organization IDs.

Resolve Org from External ID - CTX.resolve_org_from_external_id

Reverse-resolve a vendor-side external ID— for example, a PSA company ID arriving in a trigger payload— to the Rewst child organization it's mapped to, within this parent org. Feed the resolved org_id into Set Org to scope a trigger-initiated run to the right child organization. Unmapped IDs don't fail. The out output has:

  • Ok = true

  • Found = false

  • Empty org_id for you to branch

Call Workflow - TASKS.call_workflow

For Rewst Classic users: this action is now how you use subworkflows in Rewst.

Call another existing workflow into the workflow you're currently building. Choose a workflow at the time of action configuration, or resolve it with an expression, such as a different workflow per loop iteration. Input fields will be loaded dynamically from the workflow schema. Choose which version of the workflow to execute.

Grant Achievement - TASKS.grant_achievement

Grant a manually-grantable achievement. The only definitions this organization is authorized to grant are selectable. The list is filtered server-side, not by this workflow. Wire the Failure output to handle authorization and validation errors.

Code Expression - CTX.code_expression

When visual tools aren't enough, use this action to write code to transform data exactly how you need to. Jinja is great for string templating: JEXL is JavaScript-like for complex logic. Use this as a last resort after trying Object Builder and Transform Array.

Invoke Agent - TASKS.invoke_agent

Invoke a named agent with an instruction and return its response to the workflow. The agent runs with its own assigned workflow access, via Settings> Agents, not the calling workflow's permissions. An agent with no workflow access can't run. Fire the Failure output to handle invocation errors.

Render Document PDF - TASKS.render_document_pdf

Renders a PDF document either from a published App page or from raw HTML.

Configuration fields

  • Source — App Page or Raw HTML

  • For App Page: pick the App and Page, plus optional query and route params

  • For Raw HTML: provide the HTML

  • Filename — optional, .pdf is added automatically

  • Watermark / Branding — optional toggles with their own text

Send Channel Message - TASKS.send_channel_message

Send a pre-composed message into an agent channel conversation the tenant has previously messaged. Address it by Agent Channel and Conversation ID, usually carried from the triggering event or a prior node. The bot connection is resolved server-side. No credential is configured here.

Send Email - TASKS.send_email

Send an email to one or more recipients using the configured SMTP credential. Provide To, Subject, and either Text Body or HTML Body. If you leave the Credential field blank, the platform email default will be used. Emails must be separated by commas or semicolons when entered into configuration fields.

Send HTTP Request - TASKS.send_http_request

Calls any HTTP API and returns the response. Set the action's name in its alias. Put dynamic query values in the query field rather than building them into the URL.

Configuration fields

  • Credential

  • Method

  • URL

  • Headers - Note that final headers include credential headers merged at runtime from the selected integration

  • Query parameters

  • Body - For multipart file uploads, set Content-Type to multipart/form-data and bind Rewst file references in body fields, such as file0 or attachments

Action types: Flow control

These actions decide where a workflow goes next: branch on a condition, loop over a list, split and rejoin parallel paths, or switch the organization a step runs against. They don't reshape data, nor they call outside systems.

One term you may hear the Rewst Agent use to explain its work is handle, a labeled exit point on a node. A branch node has several handles, like "true" and "false", and you wire each one to a different next step.

Click on any of the action types below to expand and read its documentation.

Delay - TASKS.delay

This node pauses the workflow for a set time, then continues. Use it for simple sleeps, retry backoff, and throttling. A single Delay caps at one hour. For longer waits use a schedule via the Run on Schedule trigger. Don't read Delay's output as data. It's a timing node only. If you need to wait for an external system to call back, use the Wait for Webhook action instead.

Configuration fields

The drop-down Mode selector has two options:

  • Mode "for" — sleep a fixed number of seconds as durationSeconds

  • Mode "until" — wait until a specific timestamp, ISO 8601 or unix milliseconds

If/Else - NONE.if_else

This node splits the workflow into two paths based on a single condition. Branch items down true/false paths using a simple comparison. Comparison value formats include Text, Number, Boolean, and Null.

Join: All

This node waits for every incoming branch to finish before continuing. The workflow continues with the first result and ignores the others. All results are collected and combined into a single output. Use it when multiple branches do the same thing and you only need one result, like trying multiple APIs and using whichever responds first. There are no configuration fields.

Join: Any

This node continues as soon as the first branch finishes. The workflow continues with the first result and ignores the others. Use it where mutually exclusive branches reconverge, and when multiple branches do the same thing and you only need one result, like trying multiple APIs and using whichever responds first. There are no configuration fields.

Join: Quorum

This node waits until a specific number of branches completes, such as "at least 3 out of 5." You choose how many is enough and what happens to the branches still running. Use when you need partial results to proceed, like waiting for a majority of validators to confirm a transaction, or getting responses from most but not all servers. You must connect at least two branches to configure the threshold.

Configuration Fields

  • Required count - list the number of branches

Join: Stream

This node forwards each branch result the moment it arrives, rather than waiting. Results flow through in real-time as parallel operations finish. Use it when you want to process results progressively, like displaying search results as each source responds, or processing files as uploads complete. There are no configuration fields.

Loop - CTX.logic_loop

This node iterates over a list. Each item runs the loop body once. After all items finish, the workflow continues on the done path.

Set Org - CTX.set_org

This node switches the organization context for the steps that follow, so that downstream nodes run against a different organization. For example, an MSP acts on one of its customer orgs.

Switch - NONE.switch

This node routes the workflow to one of many cases.

Configuration fields

  • There are two modes:

    • Rules mode holds an ordered list of cases with matching rules

    • Expression mode runs JavaScript that returns a zero-based case index

  • Choose the task that has the data you need.

  • Toggle First match only on or off to determine if more than one match should be considered

Wait for Webhook - TASKS.wait_for_webhook

This action generates a unique callback URL and pauses the workflow until an external system calls it or the timeout expires. Wire the URL Ready output to send the resume URL and token via email, Slack, API, etc.

Configuration Fields

  • Timeout (seconds) - Choose how long to wait before timing out, in seconds

  • Authentication - How callback requests are authenticated

  • Callback URL - Generated at runtime, the exact resume URL is emitted on the node's URL Ready output when the workflow runs

  • Allowed HTTP Methods - Which HTTP methods can trigger the callback

    • GET

    • POST

    • PUT

    • PATCH

    • DELETE

Action types: Integration-specific

When you set up an integration in Rewst, it comes with a predefined set of actions, which will automatically appear in your Workflow Builder actions menu. These actions allow you to work with various parts of the integrated product as per its API. Rewst's integrations pull in the most useful and most commonly used actions, but not all available actions. Each integration will appear as its own section. Click ∨ next to your integration's section header to expand and view all available actions.

Were you a Rewst Classic user? Generic actions in Rewst are no longer a separate action node for each integration in the Workflow Builder. Instead, use the HTTP request access action, which lets you select a credential you already have saved in Rewst, then use the endpoint not included with Rewst's integration.

Last updated

Was this helpful?