Skip to content

Integrations

protoWorkstacean connects to external services through plugins and runs agents through runtimes. Both are opt-in — a plugin only activates when its required env vars are set.

Channels is the single interface for adding, configuring, and routing all communication channels. One workspace/channels.yaml entry connects a platform channel to an agent and gives that agent its own bot identity.

IntegrationTriggersEnv var that enables it
Discord@mentions, slash commands, reactionsDISCORD_BOT_TOKEN
GitHubWebhooks — issues, PRs, org eventsGITHUB_TOKEN or GITHUB_APP_ID
PlaneIssue webhooks → PRD + feature creationPLANE_BASE_URL + PLANE_API_KEY
Google WorkspaceGmail polling, Calendar polling, Drive/Docs writeGOOGLE_CLIENT_ID
SignalInbound/outbound Signal messagesSIGNAL_URL + SIGNAL_NUMBER
IntegrationWhat it doesEnv var that enables it
User Memory (Graphiti)Temporal knowledge graph — facts persist across conversations, scoped per userGRAPHITI_URL
RuntimeWhat it doesWhen to use
ProtoSdkIn-process @protolabsai/sdk agentDefault for all new agents
A2ADispatches to a remote agent over HTTP (JSON-RPC 2.0)Agent lives in a separate service (ava, quinn)
Pi SDKIn-process @mariozechner/pi-coding-agent agentLegacy — existing agents only

See Runtimes overview for how the executor layer works and how to register a new runtime.