Workflows
Chain the tools of your Etrebil products and your external services: a trigger, drawn steps, pure scripts, each run followed step by step.
Workflows chains steps between Etrebil products and external services. A workflow starts from a trigger, by hand, on an event from a product, at a set time or through a webhook call, then plays its steps in order: a tool of an Etrebil product through its MCP endpoint, an HTTP call, a script, variables, a two-branch condition, a wait of up to 30 days, a stop with a failure. The editor draws the diagram and writes the same JSON definition as the JSON tab. Data passes from one step to the next through templates, a simple lookup in the variables, never evaluated code.
The engine is durable: each run keeps the version it started with, writes its position after each step and resumes after a restart or a long wait. Transient failures are retried with an increasing delay, and each step played can be reviewed with its input, output and duration. There is no loop: a run always ends, and a chain of calls between products stops restarting workflows from the third link.
A connection to a product uses an agent token created on the Etrebil portal: the product applies the rights of the person who created it, Workflows bypasses nothing. Secrets are encrypted and never read back, and every call goes through a network guard: https, allowed hosts, no internal address. Scripts are pure functions, with no network or disk, limited in duration and memory, and run outside the server in production.
Workflows exists on the web only and is not online yet. Only a few products already emit events (Field Service, Planning, Manufacturing and the Marketing module of CRM), and the graphical editor has not yet been tried in a browser.
Workflows is in preparation. It will join the Etrebil subscription catalogue when it is released.
Every feature of Workflows
64 features in 10 areas
Workflows and graphical editor
- Describes a workflow as an ordered sequence of steps, with if and else branches, saved as JSON and versioned at every change of definition.
- Draws the diagram from top to bottom: the trigger at the top, the linked steps, the two branches of a condition side by side, the form of the chosen step on the right.
- Inserts a step with a « + » between two cards; moves up, moves down, duplicates or deletes the chosen step with buttons.
- Checks the definition continuously and lists the points to fix, naming the step; an unknown field is an error, not an ignored step.
- JSON tab: the same definition as text, editable, to review, copy or paste a whole workflow.
- Shows, in the step panel, the data available at that point; they are placed in a field with a template between double braces, a simple lookup in the variables, never evaluated code.
- Creates an empty, inactive workflow; it can only be activated if its definition is valid and the connections it names exist.
- Each run keeps the version it started with: changing a workflow does not affect the runs in progress.
- Log of each workflow: creation, changes with their version number, activation, deactivation, renewed webhook address, with their author.
Seven step types
- Product tool: calls an MCP tool of another Etrebil product through its connection, with arguments in JSON.
- HTTP call: GET, POST, PUT, PATCH or DELETE to an external service, with path, parameters, body and headers; the connection's secret is added automatically.
- Script: JavaScript that receives a JSON input and returns a JSON output, with no network or disk, one second at most; what it writes with console.log fills the step log.
- Set variables from the data of the previous steps.
- Condition: two branches, then and else, based on a comparison (equal, different, greater, less, at least, at most) or on whether a value contains a text, exists, is empty or not.
- Wait from 1 minute to 30 days: the run is set aside and resumes on its own, even after a server restart.
- Stop with a failure, with a message that can include the run's data.
- For each tool, HTTP or script step: the variable that keeps the result, stop or continue on error, and from 1 to 5 attempts.
- A workflow has 60 steps at most, and its conditions can be nested 4 levels deep at most.
Triggers
- By hand, from the list or the workflow page, with an optional JSON input; an inactive workflow can also be started by hand.
- Event from an Etrebil product: the sending application and an exact name, or a prefix ending with an asterisk; the event's data arrives in the workflow.
- Receives the events signed by each product (HMAC-SHA256), checked within a 5-minute window; an event received twice starts only one run.
- Scheduled: every N minutes, from 5 to 10,080, or every day at a UTC time; a single server instance fires the deadline, and a missed deadline is not caught up.
- Webhook: a secret address shown only once, kept only as a fingerprint, renewable; the Idempotency-Key header prevents a double start.
- Breaks loops between products: an event born from a chain of three calls or more is recorded but no longer starts anything.
Connections to products and services
- Etrebil product: the product's MCP endpoint and an agent token created on the Etrebil portal; the product applies the rights of the person who created the token, Workflows bypasses nothing.
- HTTP service: a base address, the allowed hosts, the header and the prefix of the secret.
- Encrypts secrets with a key kept outside the database; a secret is never read back, neither on screen, nor by an MCP tool, nor in the step log.
- Test button: lists the product's tools, or sends a GET to the service and returns its status.
- Network guard on every call: https on port 443, listed hosts, no private or internal address, each address checked at connection time, no redirect followed.
- Limits each response to 1 MB and each call to 15 seconds, 30 for a tool.
- Refuses to rename or delete a connection that a workflow still names.
Runs and usage
- List of runs filterable by state: waiting, running, succeeded, failed, cancelled.
- Run page: the diagram of the version started, each card marked with its result, then each step played with its input, output, duration and attempt number.
- Refreshes on its own while the run is in progress or waiting.
- Retries transient failures (network, 5xx errors, 429) after 5 s, 20 s, 1 min, 3 min then 10 min; other errors stop the run, or are kept in a variable if the step asks for it.
- Cancels a waiting or running run; restarts a finished run with the same definition and the same input.
- Resumes a run where it stopped if the server instance playing it goes down; two instances never play the same run at the same time.
- Counts per month the runs, the steps played, the tool calls, the HTTP calls, the script time and the refused starts.
- Monthly run quota, 10,000 by default, 0 for no limit; beyond it, starts are refused until the following month.
- Keeps finished runs for 30 days by default, adjustable from 1 to 365, then deletes them with their step log.
Roles and access
- Single sign-on with your Etrebil account; each organization sees only its own data.
- Member: sees the workflows, starts one by hand and sees only their own runs.
- Author: writes, edits and activates workflows, sees all runs, cancels and restarts them.
- Administrator: connections and secrets, limits, roles, and deletion of a workflow with its history.
- Members of the Etrebil organization appear on their first visit; its owners and administrators are administrators by right; an administrator suspends or restores a colleague, and one always remains active.
- Without a license, read-only; rights are checked by the server, not just hidden on screen.
AI agents via MCP
- MCP endpoint with an Etrebil agent token: list workflows, read a workflow and its definition, list and read runs, read the month's usage.
- Starting a workflow and cancelling a run are write tools, reserved for read and write tokens.
- The agent sees what the token's person sees; connections and their secrets are not exposed.
Tutorials
- Create a workflow: name, creation, first step, diagram, saving.
- Link another product: a connection with an agent token, then the Test button.
On your devices
- Web: the complete application, with single sign-on, license and data on the server.
- Runs take place on the server, even with the browser closed.
- No desktop application and no Android application for now.
Good to know
- No loop, no « for each » and no merging of branches: a list is processed by a script or by a tool that accepts batches.
- A write in another product whose response is slow may be redone by a new attempt: for a write that must not be replayed, set the step to a single attempt.
- In production, scripts run in a separate executor, without network; without this executor, script steps fail.
- Only a few products already emit events: Field Service, Planning, Manufacturing and the Marketing module of CRM. The others do not trigger workflows; those that publish MCP tools can still be driven by a tool step.
- Each product to be driven requires a read and write agent token, created on the Etrebil portal, then a connection: one manual step per product.
- In a tool step, the tool name is typed by hand; the Test button on the Connections page gives the list.
- A workflow template for DataVirt, review then push a staging base under safeguards, is written but not yet offered on screen.
- The secrets encryption key must be backed up separately: losing it means entering the secrets again, and it cannot be changed yet.
- No export or import of the organization: a definition is copied through the JSON tab.
- The editor has not yet been tried in a browser, nor the service deployed; real agent tokens and load have not been tested.