Docs

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 callables

This 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 --json

call 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

  1. In the web app, open New project.
  2. Install the Callables GitHub App when asked, and give it access to the repo.
  3. 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.

Next

  • Inputs: dropdowns, dates, lists, models and file uploads from type hints.
  • Results: return tables, Markdown or files.
  • Schedules: run it every morning without anyone clicking.