Skip to main content
EVOKORE// WORKFLOWS / docs.sync-connect-clients.yml
ComposioHQ/composioworkflow · 71 lines

workflows/docs.sync-connect-clients.yml

CI / automation

View on GitHub →
# REFERENCE-ONLY: GitHub Actions secrets referenced below are illustrative.
# Do not inject real credentials. See your CI/CD provider for proper secret management.
name: Docs - Sync Connect Clients

on:
  schedule:
    - cron: '0 */5 * * *'
  workflow_dispatch:

jobs:
  sync-clients:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    permissions:
      contents: write
      pull-requests: write
      id-token: write

    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
        with:
          ref: next
          fetch-depth: 1

      - name: Sync Connect clients
        uses: anthropics/claude-code-action@v1
        with:
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          prompt: |
            Sync the Composio Connect clients page from the dashboard repo.

            1. Read docs/.claude/agents/connect-clients-sync.md for full instructions
            2. Fetch the client definitions from ComposioHQ/composio_dashboard (main branch):
               src/app/(connect)/[org]/~/connect/clients/_components/client-definitions.ts
            3. Read the current docs/content/docs/composio-connect.mdx
            4. Compare and update if there are any differences (new clients, changed steps, updated descriptions)
            5. Download any new client logos to docs/public/images/clients/
            6. If no changes are needed, make no file changes

      - name: Create PR if changed
        env:
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          if [ -z "$(git status --porcelain)" ]; then
            echo "No changes detected"
            exit 0
          fi

          BRANCH="docs/auto-sync-connect-clients-$(date +%Y%m%d)"
          git config user.name "github-actions[bot]"
          git config user.email "github-actions[bot]@users.noreply.github.com"
          git checkout -b "$BRANCH"
          git add -A
          git commit -m "docs: sync Connect clients from dashboard"
          git push -u origin "$BRANCH"

          gh pr create \
            --base next \
            --head "$BRANCH" \
            --title "docs: Sync Connect clients from dashboard" \
            --body "$(cat <<'EOF'
          ## Summary
          Automated sync of AI client definitions from `ComposioHQ/composio_dashboard`.

          Updates client setup steps, descriptions, and logos on the Composio Connect page.

          Generated by Claude Code via GitHub Actions.
          EOF
          )"