IntegrationsGitHub Actions

GitHub Actions

Use the silentauth/require-approval Action to gate any workflow step — deployments, migrations, secret rotations — with human approval. The step blocks until an approver responds or the timeout is reached.

Basic Usage

# .github/workflows/deploy.yml
name: Deploy to Production

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Require Human Approval
        uses: silentauth/require-approval@v1
        with:
          project-id: ${{ secrets.SA_PROJECT_ID }}
          secret-key:  ${{ secrets.SA_SECRET_KEY }}
          action:       deploy_production
          approvers:    ops-team
          timeout:      30m
          params: |
            {
              "branch": "${{ github.ref_name }}",
              "commit": "${{ github.sha }}",
              "actor":  "${{ github.actor }}"
            }

      # Only runs after human approves the step above
      - name: Deploy
        run: ./scripts/deploy.sh production

Action Inputs

InputRequiredDescription
project-idYesYour SilentAuth project ID from the dashboard
secret-keyYesSecret key — store in GitHub Secrets
actionYesAction name (e.g. deploy_production)
approversYesTeam name or email of approver(s)
timeoutNoMax wait time. Default: 1h. Format: 30m, 2h
paramsNoJSON string of additional context for the approver

Setting Secrets

Add SA_PROJECT_ID and SA_SECRET_KEY to your repository secrets:

  1. Go to your repository → Settings → Secrets and variables → Actions
  2. Click New repository secret
  3. Add SA_PROJECT_ID and SA_SECRET_KEY from the SilentAuth dashboard