AgentBridge Python SDK
Official Python SDK for AgentBridge — connect AI agents to GitHub, Slack, Notion, Gmail and Google Drive through a single unified API.
Installation
pip install agentbridge-sdk
Quick Start
- Sign up at agentbridge.in
- Connect your providers (GitHub, Slack, etc.) from the dashboard
- Create an API key from API Keys
from agentbridge import AgentBridge
client = AgentBridge(api_key="ab_your_api_key_here")
# List your GitHub repos
repos = client.execute(provider="github", tool="list_repos")
print(repos["data"])
# Create a Slack message
client.execute(
provider="slack",
tool="send_message",
params={"channel": "#general", "text": "Hello from AgentBridge!"},
)
# Search Notion pages
pages = client.execute(
provider="notion",
tool="search_pages",
params={"query": "meeting notes"},
)
Configuration
client = AgentBridge(
api_key="ab_your_api_key_here", # required — get one at agentbridge.in/app/api-keys
base_url="https://agentbridge.in", # optional, defaults to this
)
API Reference
client.execute(provider, tool, params=None)
Execute a tool on a connected provider.
result = client.execute(
provider="github",
tool="create_issue",
params={
"owner": "octocat",
"repo": "hello-world",
"title": "Bug report",
"body": "Something is broken",
},
)
print(result["status"]) # "success"
print(result["data"]) # tool-specific response
| Argument | Type | Required | Description |
|---|---|---|---|
provider |
str | Yes | Provider slug (github, slack, notion, gmail, google-drive) |
tool |
str | Yes | Tool name (e.g. list_repos, create_issue) |
params |
dict or None | No | Tool-specific parameters |
client.get_providers()
List all available providers.
providers = client.get_providers()
# [{"id": "...", "name": "GitHub", "slug": "github", "active": True}, ...]
client.get_provider_tools(slug)
List available tools for a provider. Use this to discover tool names and their parameters.
tools = client.get_provider_tools("github")
# [{"name": "list_repos", "description": "...", "parameters": {...}}, ...]
Error Handling
from requests.exceptions import HTTPError
try:
result = client.execute(provider="github", tool="list_repos")
except HTTPError as e:
print(f"Request failed: {e.response.status_code} - {e.response.text}")
Providers
| Provider | Slug | Example Tools |
|---|---|---|
| GitHub | github |
list_repos, create_issue, create_pr, get_file |
| Slack | slack |
send_message, list_channels |
| Notion | notion |
search_pages, create_page |
| Gmail | gmail |
send_email, list_messages |
| Google Drive | google-drive |
list_files, upload_file |
Use client.get_provider_tools("slug") to see all tools and parameters for each provider.
Requirements
- Python >= 3.9
- requests >= 2.20.0
Links
License
MIT
Release files for agentbridge-sdk 1.0.43
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agentbridge_sdk-1.0.43.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentbridge_sdk-1.0.43-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.9 kB
Release files / agentbridge_sdk-1.0.43.tar.gz
| Download URL | agentbridge_sdk-1.0.43.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f2459d04063dda9cedb53805603ea620a392922f5849fabe47b09df201884b2
|
|
BLAKE2b-256 checksum How to use checksums |
f146b51fffb380a0be7e788f181a4cd45fc3fc4bde008bc50c0a94278e0c4377
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / agentbridge_sdk-1.0.43-py3-none-any.whl
| Download URL | agentbridge_sdk-1.0.43-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
222621782a5989b72f500346228354b0e344c184afb899de927985f24b454422
|
|
BLAKE2b-256 checksum How to use checksums |
4e6f0090a2945ca0afcd1b9f563f0df0b13917b04998c8000966ac06cdab7107
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|