What an Integration Is
Integrations connect Wolffish to external services. Each integration is a capability (a cerebellum skill with a plugin) that adds tools for interacting with a specific API — Gmail, GitHub, Notion, Brave Search, and more.Design Principles
Stateless
Every integration reads credentials on-demand at tool-call time. No background daemons, no persistent connections, no polling loops.
Optional
Wolffish works fully without any integrations configured. Each one is independent — enable only what you need.
How Integrations Work
The integration architecture follows the standard capability pipeline:- You configure credentials in the Settings panel (or edit
config.jsondirectly) - The credential is stored in
~/.wolffish/workspace/config.jsonor as a Variable - When the LLM decides to use an integration tool, the plugin reads the token at call time
- The plugin makes the API request and returns a
ToolResult - The result flows through
motor(execution engine) back tobroca(output renderer)
Integration credentials configured in the Settings panel (Notion, GitHub, Brave, Google OAuth, etc.) are never sent to the LLM — plugins read them directly from
config.json when a tool executes. The LLM only sees the tool result.Credential Storage
Integration tokens live inconfig.json under their respective integration sections:
Like all workspace data, credentials are stored in plain text on your local machine. Wolffish is a personal, local-first app — your workspace is your own. If you version-control your workspace, add
config.json to .gitignore.Available Integrations
Browser Extension
Control Chrome or Brave directly — navigate, click, read, screenshot. 44 tools in the user’s real browser session.
Google Workspace
Gmail, Drive, Calendar, Contacts, Tasks, and Sheets. OAuth-based multi-account support.
GitHub
Repositories, issues, pull requests, workflows, releases, and gists via personal access token.
Notion
Pages, databases, and knowledge bases. Search, read, create, and query your Notion workspace.
Brave Search
Web search via Brave Search API. Results are returned as structured data for the LLM to summarize.
Integration vs. Capability
Every integration is a capability, but not every capability is an integration. The distinction:| Capability | Integration | |
|---|---|---|
| Location | brain/cerebellum/ | brain/cerebellum/ |
| Has SKILL.md | Yes | Yes |
| Has plugin/ | Maybe | Always |
| Needs credentials | No | Yes |
| Calls external APIs | No | Yes |
| Example | git, shell | google, github |
git and shell only use local system resources.
Activation
Integrations are selected by theras (attention filter) just like any other capability. When your message matches an integration’s triggers, its tools are included in the LLM context.
For example, saying “check my email” triggers the Google capability because “email” is in its trigger list. The LLM then decides which specific tool to call (gmail_search, gmail_read, etc.) based on your intent.