Skip to content

Managing Integrations

Create, update, and manage integrations for AI agents.

import { BeepsClient } from "@beepsdev/sdk";
const client = new BeepsClient({
apiKey: process.env.BEEPS_API_KEY,
});
const integration = await client.integration.create({
name: "Production Agent",
provider: "devin",
apiKey: process.env.AGENT_API_KEY,
// metadata shape is provider-specific — see the per-provider page
});
console.log(`Created integration: ${integration.id}`);

For provider-specific metadata and rule-config fields, see the page for that provider under Agent Integrations.

const result = await client.integration.createSafe({
name: "Production Agent",
provider: "devin",
apiKey: process.env.AGENT_API_KEY,
});
if (result.error) {
console.error("Failed to create integration:", result.error.message);
} else {
console.log(`Created: ${result.data.id}`);
}
const integrations = await client.integration.list();
console.log(`Found ${integrations.length} integrations:`);
integrations.forEach((integration) => {
console.log(`- ${integration.name} (${integration.provider})`);
});
const integrations = await client.integration.list();
const claudeIntegrations = integrations.filter((i) => i.provider === "claude");
console.log(`Claude integrations: ${claudeIntegrations.length}`);
const integration = await client.integration.get("int_abc123");
console.log(`Name: ${integration.name}`);
console.log(`Provider: ${integration.provider}`);
console.log(`Metadata:`, integration.metadata);
const updated = await client.integration.update("int_abc123", {
name: "Production Agent (Updated)",
apiKey: process.env.NEW_API_KEY,
// metadata shape is provider-specific — see the per-provider page
});
console.log("Integration updated");
const updated = await client.integration.update("int_abc123", {
name: "New Integration Name",
});
const updated = await client.integration.update("int_abc123", {
apiKey: process.env.NEW_API_KEY,
});
console.log("API key rotated");
await client.integration.delete("int_abc123");
console.log("Integration deleted successfully");
const result = await client.integration.deleteSafe("int_abc123");
if (result.error) {
console.error("Failed to delete:", result.error.message);
} else {
console.log("Deleted:", result.data.success);
}
type IntegrationProvider =
| "devin"
| "cursor"
| "zup"
| "aws_devops"
| "opencode"
| "codex"
| "claude";
type CreateIntegrationInput = {
name: string; // Integration name
provider: IntegrationProvider; // Service provider
apiKey: string; // API key (stored securely)
metadata?: Record<string, unknown>; // Provider-specific config
};
type UpdateIntegrationInput = {
name?: string; // Update name
apiKey?: string; // Rotate API key
metadata?: Record<string, unknown>; // Update metadata
};
type Integration = {
id: string;
organizationId: string;
name: string;
provider: IntegrationProvider;
apiKey: string; // Always returns "***" for security
metadata: Record<string, unknown> | null;
createdBy: string; // User who created it
createdAt: string;
updatedAt: string;
deletedAt: string | null;
};
const integration = await client.integration.create({
name: "Devin Auto-Triage",
provider: "devin",
apiKey: process.env.DEVIN_API_KEY,
});
const relay = await client.relay.create({
name: "Production Alerts",
});
await client.relay.rules.create(relay.id, {
name: "AI triage first",
ruleType: "agent",
order: 1,
config: {
agentType: "devin",
integrationId: integration.id,
pollInterval: 30000,
},
});
await client.relay.rules.create(relay.id, {
name: "Escalate to humans",
ruleType: "schedule_notify",
order: 2,
config: {
scheduleId: "sch_oncall",
},
});
const integrations = await client.integration.list();
for (const integration of integrations) {
if (integration.provider === "devin") {
await client.integration.update(integration.id, {
apiKey: process.env.NEW_DEVIN_KEY,
});
console.log(`Rotated key for ${integration.name}`);
}
}
const environments = ["development", "staging", "production"];
for (const env of environments) {
await client.integration.create({
name: `Devin - ${env}`,
provider: "devin",
apiKey: process.env[`DEVIN_${env.toUpperCase()}_KEY`],
metadata: {
environment: env,
},
});
}

AI agent not responding? See Troubleshooting - AI Agent Never Responds.