5-minute guide

First connector call, fast

One SDK. One spec file. Your AI agent connected to the MENA (and Gmail) before your coffee cools.

Gmail — global connector STC Pay — MENA connector
  1. 1 Install
  2. 2 Load spec
  3. 3 Authorize
  4. 4 Execute
  5. 5 Live!
1

Install the SDK

The Wassl SDK bundles the connector runtime, vault, and spec loader.

npm
npm install @wasl/sdk @wasl/runtime
Prerequisites: Node.js ≥ 20 (TS) · Python ≥ 3.11 (Python)
2

Choose a connector

Pick one to try. Each connector is a YAML spec that describes auth, actions, and rate limits.

TypeScript
import { Connectors } from "@wasl/sdk";

const client = await Connectors.fromDir("./connectors"); // loads gmail.yaml
console.log(client.list().map(c => c.id));
// ["gmail"]
🌍
Gmail Global · OAuth2 · Communication
Spec files are bundled with the SDK. Place any .yaml spec in a ./connectors/ directory and the SDK discovers them automatically. GitHub repo coming soon.
3

Authorize

Generate an OAuth2 URL. Your user authenticates once; Wassl handles token storage and refresh.

TypeScript
const { url, state } = client.authorize("gmail", {
  clientId: process.env.GMAIL_CLIENT_ID!,
  redirectUri: "https://myapp.com/auth/callback",
  scopes: ["gmail.send", "gmail.readonly"],
});

// Redirect your user to `url`, then exchange the code on callback.
console.log("Auth URL:", url);
Sandbox credentials: Register for STC Pay sandbox · Google Cloud Console for Gmail. Both provide test environments with no real money or email sent.
4

Execute your first action

One call to run any action on any connector. Wassl handles retries, rate limits, and token refresh.

TypeScript
const result = await client.execute(
  "gmail",
  "get_profile",
  {},
  { token: process.env.GMAIL_ACCESS_TOKEN! },
);

// { status: 200, body: { emailAddress: "alice@example.com", ... }, attempts: 1 }
console.log("Inbox belongs to:", result.body.emailAddress);

You're live

Your first connector call just went through. Wassl logged the latency, success rate, and retry count. Head to the status page to see it land.

What's next

  • Add more connectors — drop any .yaml spec into your ./connectors/ dir and call client.list() to see it.
  • Claude / MCP — run the Wassl MCP server and expose every connector as a tool in Claude Code or any MCP-compatible agent.
  • MENA rails — Salla, Moyasar, Lean, HungerStation, Careem, and 10+ more. All available today.
  • Contribute a connector — YAML spec + a PR. GitHub repo and contributing guide coming soon.