Quickstart
Install the SDK, write a function, connect a GitHub repo and run your first automation from the web app.
This takes about five minutes. You need Python 3.11 or newer, a GitHub account and a Callables account. Create one free: new teams get 30 days with no credit card.
1. Install the SDK
In your project's virtual environment:
pip install callablesThis installs the callables package and the call command. Keep callables out of requirements.txt: the platform installs its own matching copy.
2. Create a function
Run call init in the repo. It creates automations.py with an example function, and instructions for coding agents (see coding agents). Or write one yourself:
from typing import Literal
from callables import deploy
@deploy(title="Say hello")
def say_hello(
name: str,
tone: Literal["friendly", "formal"] = "friendly",
) -> str:
"""Writes a short greeting."""
if tone == "formal":
return f"Good day, **{name}**."
return f"Hey **{name}**!"Any module in the repo that imports callables is scanned for functions, so the file name doesn't matter.
3. Check and run it locally
call check
call say_hello --name Ann --tone formal
call local say_hello -i name=Ann --jsoncall check lists every problem a deploy would hit, with a fix for each, and exits with code 1 if the deploy would fail. Every function is also a CLI command, with a flag per input.
4. Push the repo to GitHub
Callables deploys a GitHub repo and branch, not a local folder. Commit and push, with .env files, keys and data kept out by .gitignore.
5. Connect the repo
- In the web app, open New project.
- Install the Callables GitHub App when asked, and give it access to the repo.
- Pick the repo and branch, then Connect and deploy.
The first deploy starts right away and takes a minute or two. You can follow the build log on the project page.
6. Run it
Open the function in the web app, fill in the form and click Run. The result appears when the run finishes, and the run is saved in its history.
From now on, every push to the branch deploys. If a function declares secrets, set their values on the project page (see secrets). To let teammates run it, invite them and share the function.