# sentryagent/register-agent Registers a new AI agent in SentryAgent.ai from a GitHub Actions workflow. No long-lived API credentials are required. The action uses a GitHub-issued OIDC token to authenticate with the SentryAgent.ai AgentIdP via `POST /oidc/token`, then calls `POST /agents` to create the agent. ## Prerequisites ### 1. Configure an OIDC Trust Policy Before this action can exchange tokens, a trust policy must be registered in SentryAgent.ai for the repository that will run the workflow. ```bash curl -X POST https://idp.sentryagent.ai/api/v1/oidc/trust-policies \ -H "Authorization: Bearer " \ -H "Content-Type: application/json" \ -d '{ "provider": "github", "repository": "org/your-repo", "branch": "main" }' ``` Omit `branch` to allow any branch to register agents from this repository. ### 2. Grant `id-token: write` permission The workflow must have permission to request a GitHub OIDC token: ```yaml permissions: id-token: write contents: read ``` ## Inputs | Input | Required | Description | |-------|----------|-------------| | `api-url` | Yes | Base URL of the SentryAgent.ai API (e.g. `https://idp.sentryagent.ai`) | | `agent-name` | Yes | Unique name (email format) for the new agent | | `agent-description` | No | Human-readable description of the agent's purpose | ## Outputs | Output | Description | |--------|-------------| | `agent-id` | UUID of the newly registered agent. Use in subsequent steps to issue tokens or manage credentials. | ## Example workflow ```yaml name: Register Agent on: workflow_dispatch: permissions: id-token: write contents: read jobs: register: runs-on: ubuntu-latest steps: - name: Register SentryAgent id: register uses: sentryagent/register-agent@v1 with: api-url: https://idp.sentryagent.ai agent-name: my-ci-agent@acme.com agent-description: CI agent for the acme/my-repo build pipeline - name: Print agent ID run: echo "Registered agent ${{ steps.register.outputs.agent-id }}" ``` ## Troubleshooting **HTTP 403 — Trust policy not configured** Register a trust policy for this repository first. See the Prerequisites section above. **Failed to obtain a GitHub OIDC token** Ensure `id-token: write` is set in the workflow's `permissions` block. **Agent registration failed with HTTP 401** The OIDC token exchange succeeded but the returned access token was rejected by `POST /agents`. Check that the SentryAgent.ai API version matches and the bootstrap token has `agents:write` scope. ## Full documentation [https://docs.sentryagent.ai/github-actions](https://docs.sentryagent.ai/github-actions)