Skip to main content

External Modules

Connect your own Module to EW-FLOW and use its Tasks in any Process, just like a built-in Module.

An external Module is a Module that runs outside EW-FLOW on your own server or cloud and connects to the platform over the internet. Once connected, it registers its Tasks automatically, and they appear in the Process Editor exactly like Tasks from Marketplace Modules. You create and manage external Modules on the Ext. Modules page of the portal.

How it works

The connection between EW-FLOW and your Module is authenticated with an access token a secret credential you create in the portal and paste into your Module's own configuration. When your Module starts up with a valid access token, it contacts EW-FLOW, authenticates, and registers itself: its Tasks, its configuration form, and its connection details are filled in automatically. From that point on, EW-FLOW sends Task executions to your Module whenever a Session reaches one of its Tasks.

Because the Module registers itself every time it starts, its Task list and configuration form in the portal always reflect what the Module actually provides you never have to keep them in sync by hand.

Creating an external Module

  1. Open Ext. Modules from the sidebar.
  2. Click Add Module.
  3. Enter a Module Name (required). Optionally add a Description, a Version, and an Icon (an emoji shown next to the Module in lists).
  4. In the Connection section, keep Type set to External (REST) the default for new Modules.
  5. Optionally select Categories and fill in the AI Settings fields (AI Description, When to Use, AI Tags) so the AI Assistant knows when to suggest your Module.
  6. Click Create Module.

The Module ID field holds the Module's permanent identifier leave it blank and one is generated automatically when the Module is created; it cannot be changed afterwards. You do not need to fill in the Tasks or Task Handlers sections by hand: they are populated automatically when your Module connects and registers itself. The same goes for the Module Config Schema, which becomes the configuration form your team fills in per Environment.

warning

Custom Modules may be limited by your Service Plan on some plans the feature is not included. See Plans & Limits.

Access tokens

Access tokens are the credentials your Module uses to authenticate to EW-FLOW. They are managed in the Access Tokens section of the Module's edit page (open Ext. Modules and choose Edit on your Module). Tokens can be created only after the Module has been saved.

Each token in the list shows:

FieldDescription
NameThe label you gave the token when creating it.
PrefixThe first characters of the token (all tokens start with wmod_) enough to recognize it, never the full value.
StatusActive (usable) or Revoked (permanently disabled).
Last UsedWhen the Module last authenticated with this token Never until the first connection.
CreatedWhen the token was created.

Create a token and connect your Module

  1. In the Access Tokens section, click Create Token.
  2. Enter a Token Name (for example, the name of the server the token will live on).
  3. Optionally set Scopes (comma-separated, e.g. execute,read) and an Expires At date leave it empty for a token that never expires.
  4. Click Create.
  5. A banner appears: "New Token Created! Copy it now - you won't see it again." Click Copy.
  6. Paste the token into your Module host's configuration, then start (or restart) the Module. On startup it authenticates with the token and registers itself.
warning

The full token is shown only once, at creation. Treat it like a password: store it in a secret manager, never in shared documents or source code. If you lose it, revoke it and create a new one.

Revoke, rotate, or delete a token

  • Revoke click Revoke next to an Active token and confirm. The token is permanently disabled: the Module can no longer authenticate with it.
  • Rotate create a new token, update your Module host's configuration with it, restart the Module, confirm the status badge shows Connected, then revoke the old token. This replaces the credential with no downtime.
  • Delete click the trash icon and confirm to remove a token row entirely. Use this to clean up revoked tokens you no longer need to see.
danger

Revoking a token cannot be undone, and a Module whose only Active token is revoked stops working immediately running Sessions that reach its Tasks will fail. Rotate first, revoke second.

Connection status

The Access Tokens section header shows a status badge for the Module's connection. It is derived from token activity when the Module last successfully authenticated:

StatusWhat it meansWhat to do
No active tokenThere is no usable token none was created, or all were revoked.Create a token and configure your Module host with it.
Awaiting first connectionAn Active token exists, but the Module has never authenticated with it.Start your Module host and check it is configured with the exact token you copied.
Connected · last seen … agoThe Module authenticated within the last 5 minutes.Nothing the connection is healthy.
Idle · last seen … agoThe Module has not authenticated in the last 5 minutes.Often normal for a Module with no recent activity. If Tasks are failing, check that your Module host is running and reachable.

Using the Module in a Process

Once the Module is registered, add it to a Process the same way as any other Module its Tasks then appear in the Process Editor's palette, are configured through the form the Module registered, and run over the connection when a Session reaches them. If the Module defines configuration fields, each Environment supplies its own values in the Module's Environment configuration (see Environments).

Troubleshooting

ProblemLikely causeFix
Status stuck on Awaiting first connectionThe Module host is not running, or it is configured with a wrong or incomplete token.Restart the host and re-check the token value. If the original token was lost, create a new one.
Module worked before, now its Tasks failThe host is offline or unreachable, or its token was revoked or reached its Expires At date.Check the status badge and the token's Status column. Bring the host back online, or create a fresh token and update the host. Failures appear in Logs as error 4001.
Tasks don't appear in the Process EditorThe Module has not registered yet, it is not added to the Process, or it is marked Inactive.Confirm the status badge shows Connected, add the Module to the Process, and check the Active checkbox on the Module's edit page. See also error 4014.
Tasks fail with a configuration errorThe Module requires Environment configuration that was never filled in.Open Environments and complete the Module's configuration fields see errors 4003 and 4008.

Building a Module host

This page covers connecting an external Module at the platform level. Building the Module itself the service that provides the Tasks and responds to executions requires the EW-FLOW developer SDK, which is documented separately. Contact support or ask for the developer resources to get started.

Best practices

  1. One token per deployment give each server or environment running your Module its own token, so you can revoke one without affecting the others.
  2. Rotate, don't just revoke when replacing a credential, create the new token and confirm the Module is Connected before revoking the old one.
  3. Name tokens after where they live a token named production-vm-2 is much easier to audit later than token1.
  4. Set an expiry for temporary access use Expires At for tokens created for tests or short-lived deployments, so they cannot be forgotten.
  5. Check the status badge after every change after rotating a token or redeploying your Module host, confirm the badge returns to Connected before walking away.
  • Marketplace browse the built-in Modules and how to install them.
  • Environments where each Environment fills in a Module's configuration.
  • Plans & Limits plan limits that apply to custom Modules.
  • Logs where runtime failures of your Module's Tasks appear.
  • Error Codes full reference for Module errors (4xxx).