Integrations
Integration Setup Guides
Step-by-step instructions for connecting each integration to ASYNC. Covers prerequisites, OAuth scopes, connection flow, and disconnection.
Overview
ASYNC's intelligence is built on cross-tool correlation. The more integrations you connect, the deeper the insights become. Each integration is connected once at the organization level by a site administrator, then individual project administrators select which resources (repositories, channels, spaces) to monitor per project.
Connection Architecture
ASYNC uses two distinct connection patterns depending on the provider:
| Pattern | Used By | Mechanism |
|---|---|---|
| Native (Forge) | Jira, Confluence | Built-in Atlassian permissions, no OAuth flow |
| OAuth 2.0 | GitHub, Slack, Zoom | Custom OAuth with org-scoped token storage |
Token Storage & Security
- Encryption: All OAuth tokens are encrypted at rest using Atlassian Forge storage encryption
- Scope: Tokens are stored at the organization level, enabling scheduled syncs and shared access across all team members
- Read-only: ASYNC requests read-only scopes wherever possible. The only write scope is Slack's
chat:writefor posting notification messages. - No source code: ASYNC never reads, stores, or processes your source code, meeting recordings, or page content. Only metadata is ingested.
Connection Status Reference
| Badge | Meaning | Action |
|---|---|---|
| Connected | Token valid, provider access confirmed | None required |
| Not Configured | Provider has not been connected yet | Click Connect |
| Connection Invalid | Token expired or revoked at provider | Click Reconnect |
| Setup Required | Admin action needed (Confluence only) | Follow setup steps |
| No Access | User lacks required permissions | Contact provider admin |
| Not Available | Provider service unavailable for this site | Verify provider subscription |
Jira
Jira is the host platform for ASYNC. It is connected automatically when you install the app from the Atlassian Marketplace. No separate setup is required.
What Jira Provides to ASYNC
- Issues, sprints, boards, story points, and status transitions
- Sprint timelines and team capacity
- Issue assignments and comments
- Project hierarchy and team membership
- JQL query results for advanced filtering
Permissions
ASYNC uses Atlassian Forge's built-in permission system. The app requests the following scopes during installation:
read:jira-work- Read issues, sprints, boards, commentsread:jira-user- Read user profiles for team membership
Automatic connection: Jira is the only required integration. It's connected automatically during ASYNC installation. You'll see no Jira card in the Integrations tab because there's nothing to configure.
Confluence
Confluence uses Atlassian's native cross-product permissions instead of OAuth. Connection is verified rather than authorized via redirect.
Prerequisites
- Active Confluence subscription on the same Atlassian site as your Jira instance
- Site administrator access to enable cross-product connections
- ASYNC must be enabled for Confluence in the Atlassian Admin Console
Permissions
read:confluence-content.summary- Read page metadata and titlesread:confluence-space.summary- Read space informationsearch:confluence- Search across Confluence content
Connection Steps
-
Click "Verify Access"
In the Integrations tab, click Verify Access on the Confluence card. Note that this button is different from the Connect button used for OAuth providers.
-
Enable Confluence in Admin Console (if needed)
If verification fails with a "Setup Required" state, you'll need to enable the Confluence connection in the Atlassian Admin Console:
- Open admin.atlassian.com
- Navigate to Apps → Platform Experiences → Sites
- Select your site, then click Connected Apps
- Find ASYNC in the list and click View app details
- Click the Connections tab
- Find Confluence and click Connect
- Review the requested permissions and click Connect to confirm
-
Re-verify access
Return to ASYNC Admin Settings and click Verify Access again. The status should change to Connected.
Disconnecting Confluence
- Open admin.atlassian.com
- Navigate to Apps → Platform Experiences → Sites → your site → Connected Apps
- Find ASYNC and click View app details
- Click the Connections tab
- Find Confluence and click Disconnect
"Not Available" state: If the Confluence card shows "Not Available" instead of "Setup Required", your Atlassian site does not have an active Confluence subscription. Confluence integration requires a paid Confluence Cloud subscription.
GitHub
GitHub uses OAuth 2.0 to securely authorize ASYNC to read repository metadata. Tokens are stored at the organization level, enabling scheduled syncs without requiring individual user authorization.
Prerequisites
- A GitHub account with access to your organization's repositories
- Organization owner or admin permissions (recommended for full org-level access)
- Permission to authorize OAuth applications in your GitHub organization
OAuth Scopes
| Scope | Purpose |
|---|---|
repo | Read access to repositories, commits, and pull requests |
read:user | Read user profile information |
user:email | Read user email address for team correlation |
Connection Steps
-
Click "Connect" on the GitHub card
In the Integrations tab, click Connect on the GitHub card. ASYNC opens GitHub's authorization page in a new browser tab.
-
Sign in to GitHub
If you're not already signed in, GitHub will prompt for your credentials. You may also be asked to confirm two-factor authentication if enabled.
-
Authorize ASYNC
GitHub displays the requested permissions. If you're an organization owner, you can grant access at the organization level. Click Authorize to continue.
-
Wait for confirmation
You'll see the message: "Complete GitHub authorization in the new tab, then return here. We'll detect when you're connected." ASYNC polls for completion every 2 seconds for up to 4 minutes.
-
Verify connection
Once detected, the GitHub card updates to show Connected with a green badge. Your GitHub organization name (e.g.,
@your-org) appears on the card.
Disconnecting GitHub
Click Disconnect on the GitHub card. To fully revoke ASYNC's access at GitHub:
- Open github.com/settings/applications
- Find ASYNC in the Authorized OAuth Apps list
- Click Revoke to remove access
Org-scoped tokens: Once connected, any team member can trigger syncs without re-authorizing. The token is stored at the organization level and used for both manual and scheduled syncs.
Slack
Slack uses OAuth 2.0 to authorize ASYNC's bot to read channel messages and post notifications. The integration requires workspace admin permissions for installation.
Prerequisites
- A Slack workspace where you have admin permissions
- Permission to install third-party apps in your workspace
- Optional: Permission to invite the ASYNC bot to private channels
OAuth Scopes
| Scope | Purpose |
|---|---|
channels:read | View basic public channel info |
channels:history | View messages in public channels |
channels:join | Auto-join public channels selected for sync |
groups:read | View private channel info |
groups:history | View messages in private channels (after invite) |
users:read | View user profiles for team correlation |
users:read.email | View user emails |
chat:write | Post notification messages |
team:read | View workspace info |
Connection Steps
-
Click "Connect" on the Slack card
In the Integrations tab, click Connect on the Slack card. ASYNC opens Slack's authorization page in a new tab.
-
Select your workspace
If you belong to multiple Slack workspaces, choose the one you want to connect. Make sure it's the workspace your engineering team uses.
-
Review and allow
Slack displays the requested scopes and the ASYNC bot's capabilities. Click Allow to grant access.
-
Verify connection
Return to ASYNC. Once detected, the Slack card shows Connected with your workspace name (e.g.,
acme-corp). -
Invite ASYNC to private channels (optional)
For each private channel you want to monitor, type
/invite @ASYNCin the channel. Public channels are joined automatically when selected in Project Settings.
Disconnecting Slack
Click Disconnect on the Slack card. To fully remove ASYNC from your workspace:
- Open slack.com/apps/manage
- Navigate to Settings & administration → Manage apps
- Find ASYNC in the installed apps list
- Click Remove to uninstall
Best practice: Only invite ASYNC to channels directly relevant to your engineering work. Channels like #proj-backend, #proj-standup, and #proj-incidents provide the richest signal. Avoid adding ASYNC to social or off-topic channels.
Zoom
Zoom uses OAuth 2.0 to authorize ASYNC to read meeting metadata, recordings, and transcripts. Cloud recordings and transcripts require a Zoom Pro plan or higher.
Prerequisites
- A Zoom account (any plan)
- Pro plan or higher recommended for cloud recordings and transcripts
- Cloud recording enabled in your Zoom account settings
OAuth Scopes
| Scope | Purpose |
|---|---|
cloud_recording:read:list_user_recordings | List user's cloud recordings |
cloud_recording:read:recording | Read recording details and transcripts |
meeting:read:list_meetings | List user's meetings |
user:read:email | Get user profile and email |
Connection Steps
-
Click "Connect" on the Zoom card
In the Integrations tab, click Connect on the Zoom card. ASYNC opens Zoom's authorization page in a new tab.
-
Sign in to Zoom
Sign in to your Zoom account if not already authenticated. SSO logins are supported.
-
Authorize ASYNC
Review the requested permissions and click Allow to grant access.
-
Verify connection & check plan
Return to ASYNC. The Zoom card updates to Connected with your account email displayed. ASYNC automatically tests Zoom capabilities to detect your plan type.
Plan Limitations
| Zoom Plan | Available Data |
|---|---|
| Free | Meeting dates, times, duration, participant info. No transcripts or cloud recordings. |
| Pro and higher | All meeting metadata plus cloud recordings, transcripts, and recording analytics |
Free plan warning: If you connect a Zoom free account, ASYNC displays a warning: "Free Zoom plans do not support cloud recordings. Meeting metadata will still be tracked, but transcripts require a Pro or higher plan." The connection still succeeds and basic meeting data continues to sync.
Disconnecting Zoom
Click Disconnect on the Zoom card. To fully remove ASYNC from your Zoom account:
- Open marketplace.zoom.us/user/installed
- Find ASYNC in your installed apps
- Click Uninstall to remove access
Troubleshooting
"Connection timeout" message after authorizing
ASYNC polls for OAuth completion every 2 seconds for up to 4 minutes. If polling times out:
- Click Dismiss on the timeout message
- Refresh the page
- The connection may have actually succeeded - check the integration card status
- If still showing "Not Configured", click Connect and try again
OAuth tab fails to open or is blocked
The OAuth flow opens in a new browser tab. If popup blockers are enabled:
- Allow popups for your Jira domain
- Try the connection again
- Some browsers may require explicit permission for popups from sandboxed iframes
"Reconnect" button appears on previously connected integration
This means the OAuth token has expired or been revoked at the provider. Common causes:
- Token was manually revoked from GitHub Settings, Slack admin panel, etc.
- OAuth app was uninstalled at the provider
- Token TTL was exceeded (rare for Slack and Zoom; possible for GitHub)
Click Reconnect to clear the old token and start a fresh OAuth flow.
Connection appears stuck after revoking at provider
If you removed ASYNC from the provider (e.g., GitHub Settings) but the integration still shows as Connected in ASYNC, use the Force Disconnect option:
- Click Disconnect on the integration card
- In the modal, look for the Force Disconnect button
- This clears both the local token and admin storage state
The disconnect modal explicitly states: "Connection stuck? If the app was already removed from [Provider] but ASYNC still shows it as connected, use Force Disconnect to clear the stale connection."
Confluence shows "Setup Required" instead of "Not Configured"
This means Confluence is installed on your Atlassian site, but ASYNC has not been authorized to access it. Follow the Confluence connection steps via the Atlassian Admin Console.
Confluence shows "Not Available"
This means your Atlassian site does not have an active Confluence subscription. Confluence is a separate product that requires its own subscription. To resolve, either subscribe to Confluence Cloud or skip the Confluence integration entirely.
Disconnect modal shows projects affected
Before disconnecting, ASYNC analyzes the impact and shows:
- Number of projects currently using this integration
- Resources selected (repositories, channels, spaces) per affected project
- Whether each project has existing sync history
Disconnecting will not delete project configurations or historical data, but new syncs will exclude this provider until reconnected.