Skip to content

PM — Dashboard

PM — Dashboard #28

Workflow file for this run

name: PM — Dashboard
on:
schedule:
- cron: '5 */6 * * *' # Every 6 hours at :05
workflow_dispatch:
concurrency:
group: pm-dashboard
cancel-in-progress: false
jobs:
update:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
statuses: write
actions: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Configure git
run: |
git config user.name "examples-bot"
git config user.email "noreply@deepgram.com"
- uses: actions/setup-node@v4
with:
node-version: '20'
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Get date
id: date
run: echo "date=$(date -u +%Y-%m-%d)" >> $GITHUB_OUTPUT
- name: Check for existing dashboard PR
id: existing
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
N=$(gh pr list --repo ${{ github.repository }} --state open \
--search "docs: update examples status table" \
--json number --jq '.[0].number' 2>/dev/null)
[ -n "$N" ] && echo "skip=true" >> $GITHUB_OUTPUT \
|| echo "skip=false" >> $GITHUB_OUTPUT
- name: Run dashboard agent
if: steps.existing.outputs.skip == 'false'
uses: anthropics/claude-code-action@beta
env:
KAPA_API_KEY: ${{ secrets.KAPA_API_KEY }}
KAPA_PROJECT_ID: ${{ vars.KAPA_PROJECT_ID }}
DEEPGRAM_API_KEY: ${{ secrets.DEEPGRAM_API_KEY }}
TWILIO_ACCOUNT_SID: ${{ secrets.TWILIO_ACCOUNT_SID }}
TWILIO_AUTH_TOKEN: ${{ secrets.TWILIO_AUTH_TOKEN }}
TWILIO_PHONE_NUMBER: ${{ secrets.TWILIO_PHONE_NUMBER }}
LIVEKIT_URL: ${{ secrets.LIVEKIT_URL }}
LIVEKIT_API_KEY: ${{ secrets.LIVEKIT_API_KEY }}
LIVEKIT_API_SECRET: ${{ secrets.LIVEKIT_API_SECRET }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }}
VONAGE_APPLICATION_ID: ${{ secrets.VONAGE_APPLICATION_ID }}
VONAGE_PRIVATE_KEY: ${{ secrets.VONAGE_PRIVATE_KEY }}
DAILY_API_KEY: ${{ secrets.DAILY_API_KEY }}
PIPECAT_API_KEY: ${{ secrets.PIPECAT_API_KEY }}
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
SLACK_APP_TOKEN: ${{ secrets.SLACK_APP_TOKEN }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ secrets.GITHUB_TOKEN }}
mode: agent
model: claude-opus-4-6
allowed_tools: "Bash,Read,Write,Edit,Glob,Grep"
timeout_minutes: 30
direct_prompt: |
Read and execute instructions/pm-dashboard.md.
Context:
- Today's date: ${{ steps.date.outputs.date }}
- Repository: ${{ github.repository }}
- Run ID: ${{ github.run_id }}
- Server URL: ${{ github.server_url }}