Connect two real services, delegate OAuth to your users, and ship a working agent in minutes. Clone the sample, swap in your tools, and go from zero to multi-connector in a single afternoon.
This repo uses a single SCALEKIT_IDENTIFIER env var to simulate one user. In production, pass each user's real identifier on every Scalekit call, and send them an authorization link whenever their connector status is not ACTIVE.
from scalekit_sdk.client import Client
client = Client(
api_key=os.getenv("SCALEKIT_API_KEY"),
base_url=os.getenv("SCALEKIT_BASE_URL"),
)
IDENTIFIER = os.getenv("SCALEKIT_IDENTIFIER")
for service in ["gmail", "googlecalendar"]:
result = client.run(
"get_authorization_url",
identifier=IDENTIFIER,
params={"service": service},
)
if result.get("authorization_url"):
print(f"Authorize {service}:\n"
f"{result['authorization_url']}")
sys.exit(1)Two things you'd otherwise build: Gmail OAuth with read+send scopes and Google Calendar credentials with free/busy + write access. Handled.
You have the Scalekit authstack plugin installed (AgentKit + SaaSKit skills and MCP auth). Before coding, auto-load the AgentKit skills relevant to connectors (Gmail, Google Calendar) and use the Scalekit MCP server to validate tool calls instead of hand-written API logic.
Poll Gmail for scheduling emails and extract the requested meeting details. Check Google Calendar for free slots, create the event, and send a confirmation email via the appropriate AgentKit connector tools (reply once per thread). Ask before using write tools (creating the calendar event, sending the confirmation); reading email and checking availability run without asking.
Each one runs on delegated identity, scoped per user.