Why OAuth Matters for AI Agent Integrations
When you give an AI agent access to your tools, the stakes are higher than a typical app integration. You're not just letting something read your data — you're potentially letting it create GitHub issues, send emails, update Notion pages, and close Jira tickets on your behalf. Getting the authorization layer right isn't just a technical detail; it's the foundation of safe, reliable automation.
OAuth 2.0 has become the standard precisely because it solves a real problem: your agent never needs to know your actual passwords. Instead, it receives a scoped access token that can be revoked at any time. SlackClaw's one-click OAuth system builds on this standard, but adds a few important layers that are worth understanding before you start connecting tools.
How SlackClaw's OAuth Architecture Works
Unlike browser-based AI tools that store credentials in a shared cloud environment, SlackClaw runs on a dedicated server per team. This means your OAuth tokens are never co-mingled with another organization's credentials. When you authorize a tool, the token is stored in an encrypted vault tied exclusively to your workspace's server instance.
Here's the high-level flow when you connect a new tool:
- You invoke the connection command in Slack (e.g.,
/claw connect github) - SlackClaw generates a unique OAuth state parameter tied to your Slack user ID
- You're redirected to the tool's official authorization page — no credentials pass through SlackClaw's servers
- After you approve, the tool sends an authorization code back to your dedicated server
- Your server exchanges the code for an access token and stores it encrypted at rest
- Future agent actions use this token directly from your server — no round-trips to a shared credential store
This architecture matters because it means a breach of one team's environment doesn't expose another's tokens. It also means your IT or security team can audit exactly what's running and where.
Connecting Your First Integrations
GitHub
GitHub is usually the first integration engineering teams connect, and for good reason — it unlocks a huge surface area for autonomous work. Once authorized, your OpenClaw agent can create and review pull requests, file issues, search repositories, and even push small commits to branches.
To connect GitHub, open any Slack channel where SlackClaw is active and run:
/claw connect github
You'll receive an ephemeral message with an authorization link. Click it, and GitHub will ask you to approve a set of scopes. Pay attention to the scopes requested. SlackClaw requests the minimum scopes needed for the agent to function — typically repo, read:user, and read:org. If your use case only involves reading data, you can restrict to read-only scopes and the agent will simply skip write actions gracefully.
Pro tip: If you're connecting GitHub for an organization, authorize under your personal account first to verify the flow works, then reconnect using an organization-level OAuth app if your security policy requires it.
Linear and Jira
Project management integrations let the agent triage incoming requests, update ticket statuses, and link related issues across tools. The connection process is identical for both:
/claw connect linear
/claw connect jira
For Jira specifically, you'll be asked to specify your Atlassian site URL during the OAuth flow (e.g., yourcompany.atlassian.net). This is stored as part of your integration configuration so the agent knows which instance to target when someone asks it to "file a bug in Jira." Learn more about our security features.
One nuance worth noting: Jira's OAuth 2.0 implementation uses a separate scope for each project action. If your agent needs to transition ticket statuses (not just read them), make sure you approve the write:jira-work scope during authorization. You can always re-authorize later to add scopes without losing your existing connection. Learn more about our pricing page.
Gmail and Google Workspace
Connecting Gmail opens up some genuinely powerful workflows — things like summarizing email threads, drafting replies, and triggering agent actions based on incoming messages. Because Gmail access is sensitive, Google requires explicit approval for each scope.
/claw connect gmail
During the Google OAuth flow, you'll see a detailed permissions screen. SlackClaw requests:
gmail.readonly— for reading and summarizing emailsgmail.send— for sending drafts the agent composesgmail.modify— for labeling and archiving messages
You can deselect gmail.send and gmail.modify if you only want the agent to read and summarize without acting. The agent's persistent memory will remember your preference and stop suggesting send/archive actions for Gmail-related tasks.
Notion
Notion's OAuth model works slightly differently — it uses a workspace-level authorization rather than a user-level one. When you run /claw connect notion, you'll select which pages and databases the agent can access. This is intentional: Notion lets you grant access to specific pages rather than your entire workspace.
A common pattern teams use is to create a dedicated "AI Agent" top-level page in Notion and share only that subtree with SlackClaw. The agent can then read and write within that sandbox, and you can explicitly share additional pages later as trust builds.
Managing Tokens and Permissions Over Time
Viewing Connected Integrations
At any time, you can see which tools are connected to your workspace by running:
/claw integrations list
This returns a list of connected tools, the user who authorized each one, the scopes granted, and when the token was last refreshed. It's useful for audits and for spotting integrations that may have been connected during a trial and forgotten.
Revoking Access
Revoking is just as straightforward as connecting:
/claw integrations revoke github
This deletes the stored token from your dedicated server. To complete the revocation, you should also visit the tool's own authorization settings (e.g., GitHub → Settings → Applications → Authorized OAuth Apps) and revoke from that side as well. SlackClaw will remind you of this step in the confirmation message.
Token Rotation and Refresh
Most OAuth implementations issue short-lived access tokens alongside a longer-lived refresh token. SlackClaw handles rotation automatically — your agent will never fail mid-task because a token expired. If a refresh token itself expires (which can happen after extended inactivity on some platforms), you'll receive a Slack notification prompting you to re-authorize.
Security Best Practices for Teams
Because SlackClaw runs as an autonomous agent with real write access to your tools, a few practices will save you headaches down the road: For related insights, see Reducing Context Switching with OpenClaw in Slack.
- Use a dedicated service account for shared integrations. Rather than connecting GitHub under an individual engineer's personal account, create a bot user or machine account. This way, the agent's actions are clearly attributable and the connection doesn't break when someone leaves the team.
- Scope down aggressively at first. Start with read-only scopes and grant write access incrementally. The agent works well in a read-heavy advisory role before you trust it with write operations.
- Review the agent's action log regularly. SlackClaw maintains an audit trail of every tool action the agent has taken. Run
/claw logto review recent activity. - Leverage persistent memory for security context. You can tell the agent "never send external emails without my explicit approval" and it will remember this constraint across sessions. Persistent memory isn't just for productivity — it's a practical way to encode policy.
Understanding Credit Usage Across Integrations
SlackClaw uses credit-based pricing rather than per-seat fees, which means the cost of running integrations scales with what you actually use — not how many people are in your Slack workspace. Connecting a tool itself is free; credits are consumed when the agent takes actions or runs inference.
Tool actions vary in credit cost depending on complexity. A simple read (fetching a Linear ticket description) costs fewer credits than a compound action (searching GitHub for related issues, summarizing findings, and filing a Jira ticket). You can inspect the credit cost of any action type by running /claw credits breakdown, which gives you a per-integration view of your recent spend.
If your team connects all 800+ available integrations but only actively uses ten of them, you'll only pay for the ten. This makes it practical to connect tools speculatively — authorize Notion now, even if you're not sure you'll use it, because there's no ongoing cost until the agent actually does something with it.
Troubleshooting Common OAuth Issues
"Authorization Failed" Errors
The most common cause is a browser extension (ad blockers, privacy tools) intercepting the OAuth redirect. Try the authorization flow in a private/incognito window first. If that resolves it, whitelist SlackClaw's OAuth redirect domain in your browser extension settings.
Agent Says "Not Authorized" Mid-Task
This usually means the token was revoked externally — for example, a GitHub organization admin may have deauthorized third-party apps workspace-wide. Run /claw integrations list to check token status and re-authorize if needed. For related insights, see OpenClaw Slack Bot: First-Time Setup and Configuration.
Scope Mismatch Errors
If the agent attempts an action and returns a scope error, you authorized the integration without the required permission. Re-run the connect command for that tool and approve the additional scope when prompted. Your existing token will be replaced with the upgraded one.
Getting OAuth right is genuinely the hardest part of setting up an AI agent that works reliably in production. Once your integrations are connected, scoped correctly, and tied to appropriate service accounts, the rest — the custom skills, the persistent memory, the autonomous task execution — tends to just work. The upfront investment in doing authorization thoughtfully pays dividends every time the agent takes a correct action without you having to intervene.