Agent Integrations Overview
Agent integrations store credentials for AI agents that relay rules can invoke. API keys are encrypted and never returned in API responses.
Supported Providers
Section titled “Supported Providers”AI agent for autonomous software engineering tasks. Get your API key (apk_*) from the Devin API settings.
const devinIntegration = await client.integration.create({ name: "Devin Production", provider: "devin", apiKey: "devin_api_key_here",});Cursor
Section titled “Cursor”AI coding agent that creates PRs with fixes. Requires a repository URL in the agent rule config. Get your API key from the Cursor dashboard.
Prerequisites: Privacy Mode must be enabled in your Cursor account settings for API-based agent access to work. Without it, all API requests will return 403 Forbidden.
const cursorIntegration = await client.integration.create({ name: "Cursor Agent", provider: "cursor", apiKey: "cursor_api_key_here",});AWS DevOps Agent
Section titled “AWS DevOps Agent”AWS’s incident investigation agent. beeps sends alerts to an Agent Space via webhook, then polls the backlog task status through the AWS SDK.
You’ll need two things: the webhook secret (HMAC or bearer, depending on how your Agent Space is set up), and AWS IAM credentials scoped to the aidevops:* actions listed in the AWS DevOps Agent IAM docs. If you’re doing cross-account, supply a roleArn and beeps will assume it via STS.
const awsDevOpsIntegration = await client.integration.create({ name: "AWS DevOps Agent - prod", provider: "aws_devops", apiKey: process.env.AWS_DEVOPS_WEBHOOK_SECRET, metadata: { awsAccessKeyId: process.env.AWS_ACCESS_KEY_ID, awsSecretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, awsRegion: "us-east-1", agentSpaceId: "space-abc123", authVersion: "hmac_v1", // or "bearer_v2" // roleArn: "arn:aws:iam::123456789012:role/beeps-devops-agent", },});OpenCode
Section titled “OpenCode”Self-hosted OpenCode server. Point beeps at your running server (see the OpenCode server docs) and it’ll create sessions and send prompts when alerts fire.
Auth is HTTP Basic. The password goes in apiKey, the username goes in metadata (defaults to opencode if you leave it off).
const openCodeIntegration = await client.integration.create({ name: "OpenCode - internal", provider: "opencode", apiKey: process.env.OPENCODE_SERVER_PASSWORD, metadata: { username: "opencode", },});Using Integrations with Relay Rules
Section titled “Using Integrations with Relay Rules”Reference integrations in relay rules by ID:
const integration = await client.integration.create({ name: "Devin Production", provider: "devin", apiKey: process.env.DEVIN_API_KEY,});
await client.relay.rules.create(relayId, { name: "Try AI agent first", ruleType: "agent", config: { agentType: "devin", integrationId: integration.id, pollInterval: 30000, maxPollAttempts: 120, },});Cursor Agent Example
Section titled “Cursor Agent Example”Cursor requires a repository URL in the config:
const cursorIntegration = await client.integration.create({ name: "Cursor Agent", provider: "cursor", apiKey: process.env.CURSOR_API_KEY,});
await client.relay.rules.create(relayId, { name: "Cursor Auto-Fix", ruleType: "agent", config: { agentType: "cursor", integrationId: cursorIntegration.id, repository: "https://github.com/org/repo", autoCreatePr: true, pollInterval: 30000, maxPollAttempts: 120, },});AWS DevOps Agent Example
Section titled “AWS DevOps Agent Example”Point the rule at your Agent Space webhook URL via endpoint, and pass the Agent Space ID and region so beeps knows where to poll:
await client.relay.rules.create(relayId, { name: "AWS DevOps investigation", ruleType: "agent", config: { agentType: "aws_devops", integrationId: awsDevOpsIntegration.id, endpoint: "https://webhook.devopsagent.us-east-1.amazonaws.com/invoke/abc123", awsAgentSpaceId: "space-abc123", awsRegion: "us-east-1", awsAuthVersion: "hmac_v1", pollInterval: 60000, maxPollAttempts: 60, },});OpenCode Agent Example
Section titled “OpenCode Agent Example”OpenCode needs an endpoint pointing at your server. The optional openCodeModel lets you pick which provider and model to run:
await client.relay.rules.create(relayId, { name: "OpenCode investigation", ruleType: "agent", config: { agentType: "opencode", integrationId: openCodeIntegration.id, endpoint: "https://opencode.internal.corp:4096", openCodeModel: { providerID: "anthropic", modelID: "claude-sonnet-4-20250514", }, pollInterval: 15000, maxPollAttempts: 200, },});Best Practices
Section titled “Best Practices”See Best Practices - Agent Integrations for configuration guidelines.
MCP Clients
Section titled “MCP Clients”To connect beeps tools in Claude Code or Codex, see MCP Setup for Claude Code and Codex.