Overview
DevInbox is a unified inbox that pulls everything assigned to you across Linear, GitHub, and Slack into one prioritised list. Instead of switching between tabs and apps to check what needs your attention, DevInbox merges all your assignments into a single, sortable view.
DevInbox runs as a web app, a native macOS menu-bar app, and an iOS app — all powered by the same codebase at applib.dev/dev-inbox/app.
Unified list
Linear issues, GitHub pull requests, and Slack starred messages sorted by due date, priority, or staleness.
Real-time notifications
Browser push notifications and native OS badges alert you the moment a new item is assigned, with optional webhook-driven delivery for near-instant updates.
Credential-safe
API tokens are stored in your browser (localStorage) or encrypted in your account on our servers — never transmitted to third parties.
One-click actions
Open any item directly in Linear, GitHub, or Slack with a single click.
Getting started
DevInbox is free to use — no install or subscription required for the web app. To get started:
- Open applib.dev/dev-inbox/app in your browser.
- Sign in with Google (optional but recommended). Signing in lets your credentials sync across devices and enables remote push notifications. Without sign-in you can still use the app — credentials are stored locally in your browser.
- Connect at least one service: Linear, GitHub, or Slack.
- Your assignments appear immediately in the inbox.
Connecting Linear
DevInbox supports two ways to connect a Linear workspace. You can add multiple workspaces — all their issues are merged into one list.
Option A — Sign in with Linear (OAuth)
Click Sign in with Linear in the DevInbox settings panel. You will be redirected to Linear to authorise the app. After authorisation you are sent back to DevInbox with the connection established automatically.
OAuth connections are scoped to read-only access for issues assigned to you. No write permissions are requested.
Option B — API key
- In Linear, go to Settings → API → Personal API keys and click Create key.
- Copy the generated key.
- In DevInbox, click Add Linear workspace (API key), enter an optional label for this workspace and paste your API key, then click Save.
API keys are stored in your browser or, when you are signed in, encrypted in your account. They are never sent to third-party services.
Connecting GitHub
DevInbox uses a GitHub Personal Access Token (PAT) to fetch pull requests and issues assigned to you, as well as review requests.
Creating a GitHub PAT
- In GitHub, go to Settings → Developer settings → Personal access tokens → Tokens (classic) and click Generate new token (classic).
- Give the token a descriptive name (e.g. DevInbox) and set an expiration.
- Under Select scopes enable
repo. This is the only scope DevInbox needs to read your assigned issues and pull requests. - Click Generate token and copy the token.
Adding the token to DevInbox
- Open DevInbox and click Add GitHub account.
- Paste your token and click Save.
repo scope.Connecting Slack
DevInbox fetches your starred (saved) messages from Slack. Because Slack does not offer a simple personal token flow, you need to create a minimal Slack app and authorise it with your Slack user account.
Creating a Slack app
- Go to api.slack.com/apps and click Create New App → From scratch.
- Name your app (e.g. DevInbox) and select your workspace.
- Under OAuth & Permissions → User Token Scopes add the scope
stars:read. - Click Install to Workspace and approve the permissions. Slack will show you a User OAuth Token starting with
xoxp-. - Copy that token.
Adding the token to DevInbox
- Open DevInbox and click Add Slack account.
- Paste your
xoxp-token and click Save.
Webhooks
By default DevInbox polls your connected services on a configurable interval (1 – 30 minutes). Webhooks let Linear and GitHub push events directly to DevInbox so new assignments are reflected near-instantly — no waiting for the next poll.
Webhooks are optional. The inbox works without them, but they significantly improve responsiveness if you rely on push notifications.
Generating a webhook
- Sign in with Google in DevInbox (webhooks require an account so the server can identify where to send notifications).
- In the DevInbox settings panel, scroll to the Webhooks section. Click Generate next to the service you want to configure.
- Copy the generated Webhook URL and Signing secret. Use the eye icon to reveal the secret.
Registering in Linear
- In Linear, go to Settings → API → Webhooks and click New webhook.
- Paste the webhook URL from DevInbox.
- Paste the signing secret into the Secret field.
- Under Events, enable Issues (assignment changes will be delivered automatically).
- Save the webhook. DevInbox will now receive events immediately.
Registering in GitHub
- Navigate to your repository (or organisation) and go to Settings → Webhooks → Add webhook.
- Set Payload URL to the webhook URL from DevInbox.
- Set Content type to
application/json. - Paste the signing secret into the Secret field.
- Under Which events would you like to trigger this webhook? choose Let me select individual events and enable Issues and Pull requests.
- Save the webhook.
Notifications
Local (browser) notifications
DevInbox can show browser notifications for new assignments detected during a polling cycle. Click Enable notifications in the app banner and grant permission when your browser asks.
On macOS and iOS the native notification system is used instead of the browser API, so notifications work even when the app is in the background.
Remote push notifications
When you sign in with Google and enable push notifications, DevInbox registers a Web Push subscription on the server. A background job checks your accounts and sends a push notification when new items are assigned — so you are notified even when DevInbox is not open.
For the fastest notifications, combine remote push with webhooks. Webhook events trigger an immediate server-side check and push delivery, bypassing the polling schedule entirely.
Polling interval
If you are not using webhooks, you can control how often DevInbox fetches from your services using the Poll every selector (1, 5, 15, or 30 minutes). Shorter intervals consume more API quota; longer intervals reduce background requests.
Platforms
DevInbox is available on three platforms, all sharing the same data and credentials:
Web
Open applib.dev/dev-inbox/app in any modern browser. No install required. Works on any operating system.
Open app →macOS
Native menu-bar app. Runs in the background with a badge showing your open item count. Shortcut: ⌘ Shift D.
Coming soon for public accessiOS
Native iOS app with home-screen badge and local push notifications. Syncs credentials with your web session.
Coming soon for public accessThe macOS and iOS apps are currently available to early-access users. The web app is free and open to everyone.
Privacy & data
Credential storage
When you use DevInbox without signing in, all credentials (Linear API keys, GitHub PATs, Slack tokens) are stored exclusively in your browser's localStorage. They never leave your device.
When you sign in with Google, credentials are encrypted with a server-side key and stored in the DevInbox database, enabling cross-device sync and server-side features like remote push notifications and webhook delivery. The raw credential values are never readable by anyone without the decryption key.
Data we access
| Service | What we read | What we write |
|---|---|---|
| Linear | Issues assigned to you | Nothing |
| GitHub | Assigned issues & PRs, review requests | Nothing |
| Slack | Your starred (saved) messages | Nothing |
DevInbox is a read-only client. We do not post comments, close issues, merge pull requests, or perform any write operations on your behalf.
For full details, see our Privacy Policy.
FAQ
Do I need to sign in with Google?▾
No. You can use DevInbox without signing in. Credentials are stored locally in your browser. Signing in enables cross-device sync, remote push notifications, and webhook-driven real-time updates.
Can I connect multiple Linear workspaces?▾
Yes. Add as many Linear workspaces as you like — either via OAuth or individual API keys. All issues from all workspaces are merged into one list.
Why are new items not showing up immediately?▾
By default DevInbox fetches items on a polling schedule. To get near-instant updates, set up a webhook for Linear or GitHub and enable remote push notifications.
My items disappeared after clearing my browser data.▾
If you are not signed in, credentials are stored in localStorage and will be lost when you clear browser data. Sign in with Google to persist credentials in your account.
Does DevInbox work offline?▾
Yes — the last fetched items are cached locally and displayed when you are offline. The list will not update until connectivity is restored and a fresh fetch completes.
Is DevInbox free?▾
The web app is completely free to use with no account required. Native macOS and iOS apps are available to early-access users.
How do I revoke access?▾
For Linear OAuth connections, revoke access in Linear → Settings → My account → Authorized applications. For API keys and PATs, delete the key directly in Linear or GitHub. For Slack, uninstall the Slack app you created or revoke the token from the Slack API dashboard.