Project Tool Integration
Connect Codebolt to Linear, Jira, GitHub Issues, or any project management tool — so agents can create, update, and respond to tickets automatically.
Architecture
Project tool (Linear/Jira)
↓ webhook
[Plugin webhook handler]
↓ plugin bus
Codebolt server → agent run
↓ agent output
[Plugin] → API call → update ticket
Linear example: issue → agent run → comment back
import { definePlugin } from '@codebolt/plugin-sdk';
import { LinearClient } from '@linear/sdk';
export default definePlugin({
activate(ctx) {
const linear = new LinearClient({ apiKey: ctx.config.linearApiKey });
// Incoming webhook from Linear (registered in Linear settings)
ctx.webhooks.register('/linear', async (req) => {
const { type, data } = req.body;
if (type !== 'Issue' || data.action !== 'create') return;
const issue = data.issue;
const run = await ctx.agents.start('issue-handler', {
task: `Handle Linear issue: ${issue.title}\n\n${issue.description}`,
});
const result = await run.wait();
await linear.issueAddComment(issue.id, {
body: result.output,
});
});
},
});
Bidirectional sync
For two-way sync (agent creates a ticket; ticket update triggers agent):
- Outbound: agent calls an MCP tool that wraps the project tool's API.
- Inbound: webhook handler triggers an agent run.
Keep the webhook handler idempotent — delivery is at-least-once.