Skip to content

Integrations and variables

An integration is an account you connect once, such as GitHub or Notion. Connecting it stores its token as a variable and adds its MCP server as one of your global servers, so your agents can use its tools right away.

  1. Open Resources › Integrations and press Connect.

  2. Pick one from Connect an integration and fill in its fields. Each field links to Where to get it.

  3. Press Connect. Tokens and keys go to your secret store; agents use them through the server and never see them.

  4. Under Where it is used, choose Every project or only the projects you pick.

Resources, Integrations tab: connected integrations and the catalog of ones that can be connectedResources, Integrations tab: connected integrations and the catalog of ones that can be connected
Resources › Integrations
IntegrationGives your agentsYou provide
GitHubRepositories, issues and pull requestsA personal access token
NotionPages and databases of your workspaceAn integration token
SlackChannels, messages and threads of your workspaceA bot token and the team id
SentryErrors and issues of your projectsAn access token
Brave SearchWeb searchAn API key
ObsidianRead and write the notes of your vaultThe vault’s folder
Google Calendar, Gmail, Linear, AsanaMarked Soon: they need a sign-in flow APX doesn’t run yet

These servers start with npx, so the machine running the core needs Node.js and internet access the first time each one starts. Once connected, an integration behaves like any other MCP server: it has tool permissions, and agents reach its tools through mcp_search and mcp_call.

To change a token, open the integration and edit it (an empty secret field keeps the stored one). Disconnect removes it.

Variables are where APX keeps tokens, API keys and passwords for your MCP servers, model providers and channels. Anything that needs one refers to it by name, as secret://NAME; the value is read only by the code that uses it, right when it uses it. Agents can use a variable by name but never see its value, and it never goes into a prompt or a log.

Manage them in Resources › Variables: + Variable adds one (the value goes straight to the core), the eye shows a value to you, and each row says where it’s used.

Resources, Variables tab: a table of variables with their scope, masked value and where each is usedResources, Variables tab: a table of variables with their scope, masked value and where each is used
Resources › Variables
  • macOS: in your login Keychain.
  • Linux, Windows, or any core started with APX_SECRETS=file: in secrets.json inside APX’s home, readable only by your user (mode 600).

A variable can have a value only for one project. In that project’s chats, your MCP servers use it instead of the global one (the row says Over the global). Use it when a project needs a different account, like a client’s GitHub token.

The value is read from standard input, never from the command line, so it doesn’t end up in your shell history or the process list:

Terminal window
pbpaste | apx secrets set github-token # macOS: from the clipboard
apx secrets set github-token < token.txt # or from a file
apx secrets # names and when they changed; never the values
apx secrets rm github-token
❯ apx secrets
github-token         2026-10-08T09:12:44.120Z
brave-search-key     2026-10-02T17:30:05.981Z