Tools

Tools are the capabilities your teammates can use. There are two kinds:

  • Default tools — built-in capabilities always available (memory, task history, file write)
  • 3rd Party Integrations — external services like Gmail, Slack, Google Ads that you connect via OAuth

List Available Integrations

Assign Tools to a Teammate

Set the base set of tools when creating a teammate. These tools are available for every run:

Override Tools Per Task

Tasks can override the teammate's tool set:

Python

Override Tools Per Run

Restrict or expand tools for a specific run without changing the teammate or task:

Python

Tool Configuration Levels

LevelSet viaScope
Teammateteammates.create(tools=[...])Base tools for all runs
Tasktasks.create(tools=[...])Override for this task's runs
Runruns.create(tools=[...])Override for this single run

If a run specifies tools, it overrides the teammate and task defaults. If not specified, the teammate's tools are used.

Connecting 3rd Party Integrations

Connect integrations through the Developer Dashboard — OAuth flows are handled automatically.

Check connection status:

Python

End-User Connections (Multi-Tenant OAuth)

Connect apps programmatically for your end-users. Each customer authorizes their own Gmail, Slack, etc.

1. Initiate Connection

2. Complete Connection

After the user completes OAuth and is redirected back:

3. Check End-User Status

Python

4. Disconnect

Python

How It Works

  • Each end-user gets their own OAuth connection scoped by user_id
  • When running tasks for that user, the teammate automatically uses their connected accounts
  • Account-level connections (no user_id) act as fallback for users without their own connection

What's Next

  • Teammates — create reusable personas with tools
  • Permissions — control which tools require approval
  • Users — multi-tenancy and data isolation