Blog
Guides

Control who can run your automations

DK
Dan Kowalsky
Founder ·

Some automations are fine for everyone, like a weekly report. Others need care, like issuing refunds or running payroll. Callables lets you decide who can run each function, and keeps each person's runs private by default.

Roles on your team

Everyone on a Callables team has one of four roles:

  • Owner: everything, including deleting the team and managing other owners.
  • Admin: manages the team and its people, but can't delete it or change owners.
  • Builder: connects repos and manages the functions they deploy.
  • Member: runs the functions they've been given access to.

Most of your company will be members: the people in support, ops or finance who run automations but don't write them.

Sharing a function

A newly deployed function is private: only the builder who deployed it, plus owners and admins, can run it. To open it up, go to the function's sharing settings and either:

  • Share it with everyone on the team, for tools anyone can use, or
  • Add specific people, with one of two levels:
    • Can run: they see the function and run it.
    • Can manage: they can also change its sharing and see everyone's runs. Give this to the builders who maintain it.

Builders don't automatically see each other's functions, so a payroll tool isn't visible to every engineer just because they can deploy code.

Who sees which runs

Run history follows the same idea:

  • Everyone sees their own runs.
  • People who manage a function see all of its runs.
  • Owners and admins see every run on the team.

So a member running a refund sees their own refunds, while the person who manages the refund tool sees them all.

Schedules run as their creator

A schedule runs with the permissions of the person who made it, and stops if they lose access to the function. If someone leaves the team, their schedules don't keep running under their name.

Flows respect access

When a table offers next actions on each row, people only see the buttons for actions they're allowed to run. You can let the whole support team search orders, and let only a few people issue refunds. See building an admin panel.

Secrets stay hidden

People who run a function never see its secrets, whatever their access. They see the form and the result. See keeping API keys out of your scripts.

Bringing people in

Invite people by email or with an invite link, and pick their role when you invite them. On Pro, you can also add a trusted email domain, so anyone with a company email address can join the team.

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.

See how it works