Simple, vibe-codable business automation.
Eliminate operational friction.

automations/example.ts
import { t, automation } from "grease.sh"
import { gmail, cursor, slack } from "grease.sh/components"
export default automation("Triage customer tickets", () => {
const email = gmail.onNewEmail({
account: "support",
label: "customer",
})
const triage = cursor.runCloudAgent({
prompt: t`Triage this ticket: ${email.body}`,
target: "support-triage",
})
slack.sendMessage({
channel: "#support",
text: t`Ticket: ${triage.summary}`,
})
})Primed for vibe-coding
vibe-coding
Your automations are just TypeScript, so you can build them with your favorite LLMs and upload them to GitHub.
Fast by default
Steps run when their inputs are ready. Parallelism emerges naturally. No extra orchestration work.
Durable and long-running
Run automations for seconds, hours, or days with state preserved, so every step can pick up exactly where it left off.