Skip to content

Devin

Devin is a hosted AI software engineering agent. Beeps creates a Devin session when an alert fires, sends a prompt built from the alert, polls Devin until the session finishes, and surfaces the PR URL on the alert responder.

  • A Devin account with API access.
  • A Devin API key (apk_* prefix).
  1. Sign in to Devin and visit the API settings page.
  2. Generate an API key. It will look like apk_....
  3. Save the key; you’ll paste it into beeps as apiKey.

Create the integration:

const devinIntegration = await client.integration.create({
name: "Devin Production",
provider: "devin",
apiKey: process.env.DEVIN_API_KEY,
});

Reference it from a relay rule:

await client.relay.rules.create(relayId, {
name: "Devin Auto-Triage",
ruleType: "agent",
config: {
agentType: "devin",
integrationId: devinIntegration.id,
pollInterval: 30000,
maxPollAttempts: 120,
},
});

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

FieldTypeRequiredDefaultDescription
agentType"devin"yesSelects the Devin agent
integrationIdstringyesThe Devin integration’s id
endpointstring (URL)nohttps://api.devin.ai/v3/organizations/sessionsOverride the Devin API endpoint (rarely needed)

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

Session created but stuck “waiting for user”. Devin sometimes pauses for human input or approval mid-session. Beeps marks the job completed with a blocked result so the alert isn’t left dangling. Open the Devin session URL (logged when beeps creates the session) to unblock it.