MaSH · Make Stuff Happen

Scripts that read like sentences.

MaSH is the scripting layer underneath Foldr automations. Plain-text scripts with a version history and a diff built in. The same engine also drives Mashup, the visual block editor, and Grace, the verbal route via the AI assistant. Three surfaces, one runtime. Engineers and IT admins read and edit the same file.

Visual MaSH Grace Saved
When file created Trigger
share Invoices · Inbox
Search CRM Action
find supplier from file.name
Set field Property set
file.fields.supplier = result.name
Same block, as MaSH
set supplier to mash.search(file.name)
file.fields.supplier = supplier.name
Email approver Mail
to {supplier.approver} · subject "New invoice from {supplier.name}"
What you can do with it

Schedule, classify, route, reconcile.

MaSH ships with object types for files, shares, fields, search, Captur, HTTP, SMTP, SQL, PDF (including redaction), Office documents and spreadsheets, barcodes, addresses and postcodes, Microsoft 365 and Google, AI and crypto. Most useful automations are a few lines of MaSH and a trigger.

File-arrived triggers

A PDF lands in /Invoices/Inbox. MaSH reads the supplier, files it under the right folder, fills the custom fields, emails the buyer for approval.

Scheduled mashlets

Every Monday at 6am, sweep the Captur queue, escalate anything older than seven days, post a summary to wherever your team reads such things (email, SMS, or an HTTP call to your chat tool).

Cross-share queries

Aggregate custom fields across hundreds of shares. “Total invoiced this quarter” runs the same regardless of which storage backends the files live on.

External system calls

HTTP, SMTP, SQL, PDF generation, encryption and key signing, and AI calls. MaSH ships with object types for the things integrations actually need.

A sandbox that keeps it honest

A script runs as the person who wrote it and sees only what they could see. It can’t reach your database or anything inside our network, and every run has a time limit, because we’d rather a runaway loop stopped than took the queue with it. A script Grace drafts gets a risk check first.

Versions and a run log

Every save keeps a version you can compare, and every run records what it changed. Forms and approvals can run a script, too: a form comes in, a script files it.

Three surfaces, one engine

Code is one way in, but not the only one.

The MaSH engine has three surfaces. Pick whichever fits the task or the person at the keyboard; switch between them on the same workflow without rewriting it.

Mashup - Visual

Drag blocks together to build a workflow. Every block is a real MaSH instruction, not an opaque no-code shape. Open the same workflow as text and the script is right there.

MaSH - Code

Plain-text scripts with a version history and a diff built in, and a Flow bundle you can keep in git if you like. The surface engineers reach for first.

Grace - Verbal

Ask the AI assistant in plain English to build, change or run a workflow. Grace writes the MaSH for you and shows you the result before anything runs in earnest.

Bundle into a Flow

Everything the workflow needs, packaged into one file.

A Foldr Flow packages a MaSH script alongside the share it operates on, the custom fields it reads, the Captur templates it depends on. Import it on another Foldr and you’ll see what will be created, renamed or skipped before anything changes. Accounts for the storage aren’t in the file, so you’ll point each share at its own credentials.

Read about Flow
Same runtime everywhere

The same scripts, whether we host it or you do.

The same scripts run on Foldr Cloud and on your own appliance. Cloud keeps sensible limits on run time, mail volume and which hosts a script can call, since the workers are shared; on an appliance you set those yourself. MaSH comes with Business and Enterprise on Foldr Cloud, and as a licence on your own appliance. Run history is kept for a week on Business and a month on Enterprise.

Curious whether Foldr would fit?

Try it free for 30 days, no credit card. Or get in touch about self-hosting.