Cursor
Cursor’s cloud agents are a hosted API: Cursor clones your repo, runs the agent, and opens a PR. Beeps creates an agent run when an alert fires, polls Cursor for status, and writes the PR URL onto the alert responder.
Prerequisites
Section titled “Prerequisites”- A Cursor account with cloud agents enabled.
- Privacy Mode must be enabled in your Cursor account settings. Without it, all API requests return
403 Forbidden. - A GitHub repository Cursor can clone. The
repositoryURL goes on the relay rule, not the integration.
Provider-side setup
Section titled “Provider-side setup”- Sign in to cursor.com/dashboard.
- Enable Privacy Mode in account settings.
- Generate an API key from the same dashboard.
- Save the API key; you’ll paste it into beeps as
apiKey.
Beeps-side setup
Section titled “Beeps-side setup”Create the integration:
const cursorIntegration = await client.integration.create({ name: "Cursor Agent", provider: "cursor", apiKey: process.env.CURSOR_API_KEY,});Reference it from a relay rule. Cursor requires a repository URL on the rule. That’s the repo Cursor will clone and open the PR against:
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, },});Configuration reference
Section titled “Configuration reference”Integration metadata
Section titled “Integration metadata”Cursor doesn’t use metadata. Only apiKey is required.
Rule config
Section titled “Rule config”| Field | Type | Required | Default | Description |
|---|---|---|---|---|
agentType | "cursor" | yes | — | Selects the Cursor agent |
integrationId | string | yes | — | The Cursor integration’s id |
repository | string (URL) | yes | — | GitHub repo URL Cursor will clone |
autoCreatePr | boolean | no | true | Whether the agent should open a PR |
branchName | string | no | — | Override the branch name |
autoBranch | boolean | no | true | Let Cursor pick the branch name |
The shared polling and storm-control fields are documented in Relay Rules.
Troubleshooting
Section titled “Troubleshooting”All requests return 403 Forbidden. Privacy Mode is not enabled on your Cursor account. Toggle it on in settings and retry.
Repository required error on dispatch. The repository URL must be on the rule config, not the integration metadata.