Every new issue labeled, prioritized and duplicate-checked

Issue Triage BYOK is a GitHub Action: when an issue is opened it posts an AI triage — likely root cause, a concrete fix, a test to add — and with Pro it also applies labels from your repo, a priority:P0–P3 label and flags a possible duplicate. It runs in your own Actions runner: free AI with a free Groq or Gemini key, or your own OpenAI-compatible key. No server of ours, no account, no auto-renewing subscription: Pro is $49 per year per organization.

Get the Pro key — $49/year Install free

A new issue triaged by the action: likely cause, fix and test in one comment

Free: one comment on every new issue with the likely cause, a fix and a test. The AI also reads your repo's languages and a README excerpt, so the fix fits your stack.

Pro: the same issue labeled bug, regression and config, priority:P1, and flagged as a possible duplicate

Pro: the same issue labeled bug/regression/config, priority:P1, and flagged as a possible duplicate.

Install in 1 minute — free AI key

Save this as .github/workflows/issue-triage.yml. Then create a free key at console.groq.com/keys (or Google AI Studio) and save it as the repository secret AI_API_KEY: the action detects the provider from the key.

.github/workflows/issue-triage.yml
# .github/workflows/issue-triage.yml
name: Issue triage
on:
  issues:
    types: [opened]
permissions:
  issues: write
  contents: read   # lets the AI read your README on private repos
jobs:
  triage:
    runs-on: ubuntu-latest
    steps:
      - uses: issue-triage-byok/issue-triage-action@v1
        with:
          ai-api-key: ${{ secrets.AI_API_KEY }}   # free Groq (gsk_) or Gemini (AIza) key
          # ai-base-url: https://openrouter.ai/api/v1/chat/completions
          # ai-model: gpt-4o-mini
          # skip-labels: question,duplicate
          # license-key: ${{ secrets.TRIAGE_LICENSE_KEY }}   # Pro

Prefer your own provider? Set ai-api-key (repository secret) and any OpenAI-compatible endpoint works (OpenAI, OpenRouter, Groq, a local server). Issues opened by bots and pull requests are ignored. The action writes one comment (Pro also adds labels); it never closes or edits anything. Want to see the output first? Add dry-run: true and the comment is printed in the job log instead of posted. Prefer a form? Use the workflow generator.

Free vs Pro

FreePro
AI triage comment (cause, fix, test)yesyes
Labels chosen among your repository's existing labels (up to 3)—yes
priority:P0–P3 label—yes
“Possible duplicate of #N” (titles of up to 300 open issues)—yes
Pricefree$49 per year per organization

Get the Pro key

The license key is shown right after payment. Save it as the repository or organization secret TRIAGE_LICENSE_KEY and uncomment the license-key line in the workflow. That's it: from the next issue on you get labels, priority and duplicate detection.

Try Pro free 14 days, one repository, no card
Leave an email and we write you once, when the trial ends. Nothing else.
$49 per year, per organization, no auto-renewal
Get the Pro key

🔒 Secure checkout by Stripe, your card details never touch our servers · 7-day money-back guarantee, no questions asked (deus@lumnika.com) · no account required.

What it costs you in AI calls (BYOK)

You pay your provider directly. Worst case per issue, from the action's own prompts (about 4 characters per token):

Model (price per 1M tokens in / out)Free, per 1,000 issuesPro, per 1,000 issues
gpt-4o-mini on OpenAI ($0.15 / $0.60)3.9M × 0.15 + 0.5M × 0.60 = $0.89+ 1.9M × 0.15 + 0.5M × 0.60 = $1.47
meta-llama/llama-3.1-8b-instruct on OpenRouter ($0.05 / $0.08)3.9M × 0.05 + 0.5M × 0.08 = $0.24+ 1.9M × 0.05 + 0.5M × 0.08 = $0.37

Upper bounds: typical issues are much shorter than 12,000 characters. Prices Sept 2026, from OpenAI API pricing and OpenRouter model page; check them before relying on these numbers. On private repositories the job also uses your GitHub Actions minutes.

Compare

FAQ

What permissions does it need?
issues: write on the default GITHUB_TOKEN, to post the comment and (Pro) apply labels, and contents: read to read your README on private repos. The AI key stays in your repository secrets.
Where does my issue text go?
Only to the AI provider you configured, from your own runner. The Pro license check receives only the license key and the repository name; your issues and your AI key never leave GitHub and your provider.
Does it work on private repositories?
Yes, it runs like any other workflow in your repository. To let the AI also read the README excerpt of a private repo, add contents: read to the permissions block.
What if the license check fails or the key is missing?
The action simply runs the free triage. It never blocks your issues.
One key for how many repositories?
One key per organization: save it once as an organization secret and use it in its repositories.
Is this a subscription?
No auto-renewal: $49 buys a key valid for one year, and you buy a new one only if you want another year. You only pay your AI provider for the tokens you use (see above).
Does it ever close, edit or reply to pull requests?
No. It ignores pull requests and issues opened by bots, writes one comment, and (Pro) adds labels. Use skip-labels to leave some issues alone.

Get the Pro key — $49/year

Triaging many repos, or want to review drafts before they go public? The WordPress dashboard version lists every open issue of your repositories in one place.