The private Cloud source implements a hosted OAuth connect flow in which your application later executes tools using the same external_user_id. The vault owns refresh tokens and provider-specific consent state. This describes checked-in control-plane source, not a deployed or live-provider-certified service.

The open-source executor does not implement the hosted OAuth connect UI. To connect real accounts on a self-hosted executor, configure EYEBALL_CREDENTIALS=env or local-vault on the stock server — see Connect real providers. The optional development vault below is a separate, deterministic path that accepts prebuilt, non-secret fixtures for local testing without real credentials:

ts
import { Eyeball } from "@eyeball/sdk";

const eyeball = new Eyeball({
  apiKey: process.env.EYEBALL_API_KEY!,
  baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});

const connection = await eyeball.connections.create({
  toolkit: "gmail",
  userId: "demo_user",
});
console.log(connection.connectionId);

Expected development response:

JSON
{
  "connectionId": "conn_...",
  "redirectUrl": null,
  "status": "connected"
}

Read Connected accounts for lifecycle and isolation rules.