Field entry 03 · Workflows60+ blocks

Draw it once. It runs by itself.

When this happens, do that. Start it from a form, a schedule or an app event, add the steps in between, and every run is logged.

1,000 free tokens to try · Unlimited app users · Our cloud or your own servers

We open in waves. Join early access and we'll email you when your workspace is ready.

Fernleaf Supply/Workflows/New order
Run Dev Publish
Order placedApp event · Orders table
Check stockQuery · products table
Total over $500?Branch · {{ req.body.total }}
Human ApprovalAsk a manager to approveHuman Approval · Store managers
Email the customerSend email · order confirmed
Run log · #4,812Not run yet
startStarted by order #10482
okCheck stock: 3 items in stock
ok$612.50 is over $500, took yes
waitApproval asked of Store managers
okApproved by store manager
okEmail sent to Harshal
doneRun #4,812 succeeded in 3m 17s
ApprovalFirst answer decides
Order #10482

Harshal · $612.50 · 3 items

RejectApproveApproved
Paused
    Fig. 1. The New order workflow runs for order #10482. Hover to pause.
    01What people build with itThree Fernleaf examples

    The jobs nobody should do by hand.

    A workflow is a short chain of blocks: something starts it, steps run in order, and the result lands where your team already looks.

    Orders

    New order, checked and confirmed

    An order lands, stock is checked, big orders wait for a manager, and the customer gets an email.

    App event · runs on every order

    Reports

    Low stock note, every morning

    At six each morning, a query finds low stock, an AI step writes a short summary, and the ops team gets it.

    Schedule · cron 0 6 * * *

    Support

    Support email, sorted on arrival

    A new email arrives, an AI step labels it, and a branch posts returns to the team channel in Slack.

    App event · Gmail

    02How it worksSeven entries · Fig. 2 to 8

    From the first trigger to the last run.

    Pick what starts it, drop blocks on the canvas, bring people in when a person should decide, and read every run afterwards.

    01ways to start

    Entry 01

    Ways to start

    Every workflow has a Start block. Add triggers to it, or run it by hand or from another workflow, then fill in the settings.

    • A web request (webhook), and you choose who may start it
    • A schedule: cron, or every few minutes, hours, days, weeks or months
    • A public form, a button, a chat, an error or another workflow
    • An MCP tool, so Claude, Cursor and other AI tools that support MCP can call it
    • App events from your own tables and the tools you use
    App eventStarts when something changes
    WhenA row is added to Orders

    Event sources

    • Your database rows
    • MongoDB
    • Firebase
    • Supabase
    • Gmail
    • Google Sheets
    • Google Docs
    • Google Drive
    • Google Calendar
    • YouTube
    • Slack
    • Outlook
    • SendGrid
    • Mailchimp
    • Stripe
    • Shopify
    • Jira
    • Trello
    • Asana
    • Salesforce
    • Zendesk
    • GitHub
    • RSS
    • and more

    Fig. 2. Ways to start a workflow. Pick one to see its settings.

    60+blocks to build with

    Entry 02

    Blocks for every step

    Branch on a value, loop over rows, run steps side by side, call an API, write code when you want to. Each block is a box on the canvas with plain settings.

    • BranchIf, else if and else
    • LoopRepeat for each item
    • ParallelRun branches side by side
    • WaitPause for a time, a call or a form
    • WorkflowRun another workflow
    • Human ApprovalPause until a person decides
    • TransformReshape data with a little JavaScript
    • JWTSign, verify and read tokens
    • TOTPMake and check a one-time code
    • QueryRun a query on any connection
    • Send emailEmail from your default sender
    • Upload fileSave a file into File Storage
    • SQL rowsInsert, update or delete rows
    • GraphQLRun a query against an endpoint
    • CodeWrite JavaScript or Python
    • HTTP RequestCall any REST API
    • MCP CallCall a tool on another MCP server
    • AIChat, classify, summarize and more

    A sample of the 60+ blocks in the product. Starter has the basic blocks, Team and Enterprise add the advanced ones.

    Fig. 3. The block palette. Filter by group or type to search.

    03a person decides

    Entry 03

    Human approval

    Some steps need a person. The run waits, the right people get the request, and the workflow carries on with their answer.

    • Ask people, groups, roles or email addresses
    • Decided by the first answer, everyone, at least N, a percent, in order or N from each group
    • Escalate to more people when nobody answers in time
    Order #10482 · $612.50Approved
    1. SMStore managerManagersApproved
    2. OLOps leadManagersNot needed
    3. FNFinanceFinanceNot needed

    Done as soon as one person answers.

    Fig. 4. One request, six ways to decide it is done. Pick a rule.

    04steps that read and write

    Entry 04

    AI steps

    Drop an AI step where a person would read, sort or write. It takes the data from the step before, runs on an AI connection you pick, and passes its answer on.

    • Chat, structured JSON, agent, embeddings and image
    • Summarize, classify, sentiment, answer from your documents
    • Vector store, retriever, memory, MCP tool and guardrails
    • MCP Call block: use a tool on another MCP server, with a bearer key, custom headers or a connected account
    ClassifyAI step
    Text{{ $input.data }}

    Categories

    Order issueReturnsProduct question
    Output{ "category": "Returns" }
    input from the step before passed to the next block

    Fig. 5. A Classify step sorts a support email, the next block reads the category.

    05your own endpoint

    Entry 05

    Your own API endpoint

    Start a workflow from a webhook and end it with a Response block. Now it is an API your other systems can call.

    • Callers sign in as an API client you set up
    • Or share a link with a rate limit of 1 to 600 calls a minute
    • The Response block decides what the caller gets back
    1. Your appas an API client
    2. Webhooktrigger
    3. Check stockquery
    4. Responsesends the answer
    Response body
    {
      "order": "#10482",
      "inStock": true,
      "run": 4812
    }
    120 calls a minute

    Fig. 6. A workflow answering as an API. Slide to set the link rate limit.

    06ready app actions

    Entry 06

    Ready app actions

    Talk to the tools your team already uses without writing a request by hand. Pick the app, pick the action, fill the fields.

    • Slack, Google Sheets, Stripe, HubSpot, Salesforce, Notion, Jira and more
    • No request to write, just the fields the action needs
    • Anything else: the HTTP request block
    See the integrations
    • and more

    Slack actions

    • Send a message
    • List channels
    • Get a user
    • Add a reaction

    Fig. 7. Ready actions per app. Pick an app to see what it can do.

    07watch every run

    Entry 07

    Watch every run

    Every run keeps its own record: what started it, each step, how long it took and what came back. When something breaks, you see where.

    • Run history
    • Live logs
    • Debugger: step through a run
    • Evaluations: check results against what you expect
    • Outbox: see what was sent
    • Ready templates, such as Approval flow and Error alert
    • Comments on workflows
    Run history · New order
    RunStarted byStatusDuration
    #4,812Order #10482Succeeded3m 17s
    #4,811Order #10481Waiting3m 02s
    #4,810Order #10480Running2s
    #4,809Order #10479Failed9s
    #4,808Order #10478Succeeded3s

    Showing 5 runs.

    Fig. 8. Run history for the New order workflow. Filter by status.

    03Works withThe same data under every builder

    Better with the other builders.

    A workflow works on its own. It also reads the same tables as your apps, dashboards and tests, so nothing is copied by hand.

    04Plans and tokensWhat a run costs

    One run, one token.

    Buy tokens up front, or take Team at $99 a month. One workflow run uses one token: $0.01 on Starter, $0.0125 on Team.

    Spend caps keep your bill from running away. Top-ups never expire. Unlimited app users.

    See pricing
    1workflow run= 1 token
    Workflow limits by plan
    Per planStarterTeamEnterprise
    Fastest schedule15 min1 min1 min
    Longest run15 min60 minContract
    Query blocks a run1,0005,000Contract
    BlocksBasicAdvancedAdvanced
    Log streamingNoYesYes
    05Questions

    Fair questions.

    No. You draw a workflow by placing blocks and filling their settings. If you do code, add a JavaScript or Python step where you need it.

    Each time a workflow runs, from its first step to its last, is one run. One workflow run costs one token.

    As often as every 15 minutes on Starter, and every minute on Team and Enterprise. You can also write the timing as a cron line.

    Yes. Start it with a webhook and end it with a Response block. Callers sign in as an API client, or you share a link with a rate limit of 1 to 600 calls a minute. AI tools that support MCP, like Claude and Cursor, can call a workflow too: start it with the MCP tool trigger.

    People, groups, roles or email addresses. You choose when the step is done, from the first answer to N from each group, and who to add when nobody answers.

    Where to begin

    Draw your first workflow.

    Start from a ready template or a blank canvas. At launch, you can try it with 1,000 free tokens for 14 days.

    We open in waves. Join early access and we'll email you when your workspace is ready.