Skip to content

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.

  • 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 repository URL goes on the relay rule, not the integration.
  1. Sign in to cursor.com/dashboard.
  2. Enable Privacy Mode in account settings.
  3. Generate an API key from the same dashboard.
  4. Save the API key; you’ll paste it into beeps as apiKey.

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,
},
});

Cursor doesn’t use metadata. Only apiKey is required.

FieldTypeRequiredDefaultDescription
agentType"cursor"yesSelects the Cursor agent
integrationIdstringyesThe Cursor integration’s id
repositorystring (URL)yesGitHub repo URL Cursor will clone
autoCreatePrbooleannotrueWhether the agent should open a PR
branchNamestringnoOverride the branch name
autoBranchbooleannotrueLet Cursor pick the branch name

The shared polling and storm-control fields are documented in Relay Rules.

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.