Connect GitHub for shipping context
Install the Postless GitHub App, pick repos per brand, and turn commits, merged PRs, and releases into planner and draft context. GitHub is not a publish destination.
PostlessOctober 3, 20263 min read
GitHub feeds facts into plans and drafts (what shipped). It is not a network you publish to. LinkedIn, X, and the other social accounts stay under Connect social platforms.
What you get
After you connect and select repos:
- Commits, merged pull requests, and releases can influence weekly plans and generated posts
- A GitHub influence badge can appear on posts that used that shipping context
- Connections live at the account level; which repos each brand uses are per brand
Connect (account)
- Open Settings → Connections.
- In the GitHub card:
- Connect GitHub — links accounts/orgs where the App is already installed (OAuth sync)
- Install App first — opens the GitHub App install flow for a new personal account or org
- Finish GitHub’s screens and return to Connections.
If you already have an installation listed:
- Sync accounts — refresh orgs/accounts you already authorized
- Add account — install the App on another account or org
- Disconnect — removes that installation from your Postless account (other Postless users who linked the same org install are unaffected)
You need at least one connected installation before a brand can pick repos.
Pick repos (per brand)
- Open the brand from Brands.
- Find GitHub repos.
- Tick the repos that should feed this brand’s content.
- Saves apply immediately when you toggle a repo.
Different brands can select different repos from the same connected installations. See Multiple brands.
How activity is used
Postless uses shipping activity as data for planning and writing, not as posts themselves. You still approve, schedule, and publish through your social connections.
Typical flow:
- Ship something on a selected repo.
- Generate or refresh a plan (or create a draft) for that brand.
- Review topics/drafts that reference the work; edit as usual.
GitHub is not available on the public API or Postless MCP. Agents that need raw GitHub data should use a separate GitHub MCP (or the GitHub UI); use Postless MCP for voice, drafts, and scheduling.
Disconnect
- Settings → Connections → GitHub.
- Disconnect on the installation row.
Repo selections for that installation stop receiving new activity. Existing drafts are unchanged.
If this fails
- No GitHub account connected on the brand page — connect in Settings first.
- Install ended on GitHub’s Configure page with nothing new in Postless — use Connect GitHub or Sync accounts so OAuth can link the already-installed App.
- Repos list empty after connect — confirm the App is installed on the org that owns the repos, and that those repos were included in the install (all repos vs selected).
- Planner drafts ignore recent shipping — confirm the brand has the right repos ticked, and that the activity is a commit, merged PR, or release on those repos.
Self-hosted operators
Hosted Postless has the App configured. If you run your own instance, create a GitHub App and set:
| Variable | Notes |
|---|---|
GITHUB_APP_ID | App ID |
GITHUB_APP_PRIVATE_KEY | PEM (\n escapes in .env); PKCS#1 or PKCS#8 |
GITHUB_APP_SLUG | URL slug (e.g. postless) |
GITHUB_APP_CLIENT_ID | User OAuth client ID from the App settings |
GITHUB_APP_CLIENT_SECRET | User OAuth client secret |
GITHUB_WEBHOOK_SECRET | Webhook secret |
In the GitHub App settings:
- Callback URL:
{NEXT_PUBLIC_SITE_URL}/api/connect/github/callback - Setup URL (optional): same callback (OAuth is primary for linking)
- Webhook URL:
{NEXT_PUBLIC_SITE_URL}/api/webhooks/github
Connect uses user OAuth so already-installed orgs can link without uninstalling. See
.env.example for the same checklist.