Skip to content

FlowForge: a workflow builder with cron, webhooks and run history

Multi-flow visual workflow builder deployed as serverless functions: per-flow schedules, public webhook triggers, background execution and a server-side secrets vault.

FlowForgeSkofi product2026
A ten-node flow open in the FlowForge builder, with a cron schedule, a webhook trigger and the inspector for an HTTP step
The product itself, running with demonstration data.
trigger types per flow
3
runs retained per flow
50
scheduler resolution
1 min

The problem

Self-hosting a workflow runner usually means running a server. On serverless infrastructure the obvious problem is that a function stops when it returns a response, which is exactly when a workflow needs to keep going.

The second problem is secrets. A browser-based builder that keeps credentials in local storage cannot run anything on a schedule, because the scheduler has no browser.

What we built

01

Keep executing after the response

Run, webhook and cron handlers wrap execution so the flow keeps running after the HTTP response is sent. A run trigger returns a run identifier immediately and the work continues in the background, with logs streaming back as the client polls.

02

Per-flow scheduling on a one-minute sweep

A scheduled endpoint fires every minute and scans enabled flows for whatever is due. Each flow chooses manual, an interval, or a full five-field cron expression with steps, ranges and lists, evaluated in UTC.

03

Webhooks as first-class triggers

Every flow gets a unique public URL that accepts any method. The request payload becomes the first step, so downstream nodes reference the incoming fields directly. Tokens rotate on demand, and the per-flow token is the authentication. The admin API is separately protected by a bearer token.

04

A vault the scheduler can reach

Shared secrets moved from browser storage into server-side key-value storage, which is what makes scheduled runs possible at all. Flows reference them by name.

The run history: triggers, outcomes, durations and log counts for recent runs
The run history: triggers, outcomes, durations and log counts for recent runs

The outcome

  • Flows run on a schedule, on a webhook, or on demand, with the last fifty runs per flow retained including trigger, logs, final step values and any error.

  • Make blueprint import still works: drop one in and save it as a server flow.

  • The editor is a single file with no build step, so the whole thing deploys as static assets plus functions.

Built with

  • Vercel Functions
  • Upstash Redis
  • JavaScript
  • Cron
  • Webhooks

Page copy drafted with AI assistance. Skofi is accountable for it. Editorial policy

Start here

Have something shaped like this?

If any part of the above resembles a problem you are living with, a short call is the fastest way to find out whether it is the same problem underneath.

Book a 15-minute callsaveez@skofi.tech

What happens on the call

  • 15 minutes, no deck
  • We map the process on the call
  • A written scope, or an honest no
Book a call