Introducing Callables
Every team has scripts that only one person can run. A refund helper on someone's laptop, a weekly report that lives in a cron job nobody remembers, a cleanup command pasted into Slack with "just run this". The code works. The problem is everything around it: a way for teammates to run it safely, see what happened, and run it again next week.
Callables turns those scripts into tools your team can use, without building a front end.
How it works
Add @deploy to a Python function and push it to GitHub:
from callables import deploy
@deploy
def refund(order_id: str, reason: str = "duplicate"):
"""Refund an order and email the customer."""
...
Callables builds the repo and finds every @deploy function. Each one becomes a form, with fields from its type hints, that you can share with teammates.
What your team gets
- A form for every function. Inputs come from the type hints and defaults. Nobody touches a terminal.
- Schedules. Run anything hourly, daily or on a cron expression.
- Run history. Every run keeps its inputs, logs and result, so you can see what happened and run it again.
- Sharing with roles. Decide who can run a function and who can change it.
- Secrets. API keys are stored encrypted and passed to your code at run time, never shown to the people who run it.
Coming from another tool? See how Callables compares with Zapier, Power Automate, and Windmill and Airplane.
Try it
Start a free trial, connect a repo, and your first function is live in a few minutes.
Turn your scripts into tools your team can run
Add @deploy to a Python function and push. Your team gets a form, schedules and run history.