Build internal workflows with ease
- 💻 Leverage your internal models/db/services without having to expose them via REST/GraphQL
- 🚷 Keep internal operations...internal
- 🛠️ No more coding UIs for admin tools
- 〰️ Build complex workflows with conditionals and loops
- 📦 Works with Nest.js and Express
- ⭐️ Looks great out of the box
Note You can play around with the demo Runnable! And login with any Google creds.
Runnable is a framework for building user-facing internal workflows and applications. It's built on top of Remix to allow you to build workflows without UI code and a developer experience that allows you to only write server code. Using the io
object, you can prompt the users at any point in the workflow.
// index.ts
import { installRunnable } from '@runnablejs/express';
import { getUsers, getTeams, assignTeam } from './db';
// ... normal express setup
installRunnable(app, {
assign_user_to_team: {
title: 'Assign a user to a team',
execute: async (io) => {
const users = await getUsers();
const user = await io.select.dropdown({
title: 'Select a user',
data: users,
});
const teams = await getTeams();
const team = await io.select.table({
title: 'Select team',
data: teams,
initialSelection: user.teamId,
});
await assignTeam(user.id, team.id);
},
},
});
app.listen(3000); |
MIT