How much of your day is spent on repetitive project management chores? Creating tickets, nagging for updates, syncing issues between platforms, and manually escalating bugs from customer support. These clicks add up, draining time and focus that could be spent on high-impact work.
What if you could treat your entire project management workflow as code? Instead of clicking through a UI, you could automate these tasks with a simple API call. This is the core idea behind Business-as-Code, and it’s what we’ve built at issues.do.
issues.do transforms issue tracking from a manual process into a programmable service. By using our simple API, you can build powerful automations that reclaim your time and make your workflows more reliable.
Here are five common, time-consuming tasks you can automate in minutes.
The Manual Way: A monitoring tool like Sentry or Datadog sends an email or Slack alert about a spike in 500 errors. You have to stop what you're doing, log into your PM tool, copy-paste the error details, set a priority, and try to figure out which engineer to assign it to.
The Automated Way: Set up a webhook in your monitoring tool to hit an endpoint you control. This endpoint uses the issues.do API to instantly create a high-priority bug report, complete with all the context, and can even use AI to assign it to the right on-call engineer.
Benefit: Critical bugs are triaged and assigned in seconds, not minutes, dramatically reducing mean time to resolution (MTTR).
The Manual Way: A support agent identifies a customer complaint as a genuine bug. They leave an internal note for a manager, who then has to create a separate ticket in the engineering team's backlog, linking back to the original conversation. Information often gets lost in translation.
The Automated Way: Empower your support agents. Using a webhook in your helpdesk software (like Zendesk or Intercom), a simple tag like "escalate-bug" can trigger a workflow that automatically creates an issue in the engineering project, perfectly formatted and linked.
Benefit: A seamless, error-free handoff between support and engineering, leading to faster fixes and happier customers.
The Manual Way: A CI/CD pipeline fails on a non-critical step, like a new linting rule. The build stops, developers get blocked, and someone has to remember to create a ticket to fix it later. Often, the rule is just temporarily disabled and forgotten.
The Automated Way: Configure your CI/CD pipeline to be smarter. If a non-critical job fails, instead of halting everything, the pipeline can automatically create a low-priority 'technical debt' issue in issues.do and continue.
Benefit: Maintain code quality and keep track of technical debt without blocking developer velocity.
The Manual Way: Your development team lives in GitHub, creating issues in their specific repos. As a project manager, you have to manually check multiple repositories or rely on developers to duplicate their tickets in your central PM tool (like Jira or Asana) to maintain a holistic view.
The Automated Way: Use an agentic workflow to listen for new issues across your GitHub organization. When an issue is created, this agent instantly creates a corresponding ticket in your central issues.do project, creating a single source of truth.
Benefit: Gain complete visibility of all work being done without forcing developers to change their preferred tools or engage in double-entry.
The Manual Way: Every Monday, you create the same "Plan the week" ticket. On the first of the month, you create another "Prepare monthly report" ticket. It's simple, but it's mental overhead you don't need.
The Automated Way: Write a simple script and run it on a schedule using a cron job. It takes 5 minutes to set up once, and it runs forever.
Benefit: Offload routine scheduling to a machine so you can focus on the strategic content of those tasks, not their creation.
These five examples are just the beginning. The power of issues.do is that it provides the building blocks to design any workflow you can imagine. As an Agentic Workflow Platform, we give you the power to automate the actions within your process, whether you use issues.do as a standalone tool or as an orchestration layer to supercharge your existing setup with Jira, GitHub, or Asana.
Ready to trade repetitive clicks for powerful code?
Visit issues.do to learn more and start building your first automated workflow today.
// In your monitoring webhook handler
import { Issue } from '@do-sdk/issues';
await Issue.create({
title: `Critical Error: API returning 500s on /users/profile`,
description: `Sentry detected a major spike in server errors. See details: [Sentry Alert Link]`,
project: 'WebApp-Backend',
priority: 'High',
assignee: 'worker.ai', // Let AI find the right on-call engineer
tags: ['bug', 'production', 'sentry-alert']
});
// In your support platform's webhook listener
import { Issue } from '@do-sdk/issues';
await Issue.create({
title: `Bug Report from Support: "File upload fails"`,
description: `User example@email.com reported an issue. See full conversation: [Zendesk Ticket Link]`,
project: 'WebApp-Frontend',
priority: 'Medium',
source: 'Zendesk-12345' // Track the origin for context
});
// In your CI/CD pipeline script (e.g., GitHub Actions)
import { Issue } from '@do-sdk/issues';
await Issue.create({
title: 'Fix failing lint check in `billing-service`',
description: `The CI pipeline failed during the linting step. See build logs: [Build Log URL]`,
project: 'Internal-Tooling',
priority: 'Low',
assignee: 'worker.ai', // Let AI assign based on code ownership
tags: ['tech-debt', 'ci-cd']
});
// In your GitHub Actions workflow or webhook server
import { Issue } from '@do-sdk/issues';
await Issue.create({
title: `GH Issue #${github.issue.number}: ${github.issue.title}`,
description: `New issue created in repo: ${github.repository.full_name}. \n\n See on GitHub: ${github.issue.html_url}`,
project: 'Feature-Development',
source: `github-${github.issue.id}`
});
// Run this via a cron job every Monday at 9 AM
import { Issue } from '@do-sdk/issues';
await Issue.create({
title: 'Plan weekly engineering priorities',
description: 'Review last week\'s velocity and set priorities for the current sprint.',
project: 'Project-Management',
assignee: 'product-manager@yourcompany.com',
dueDate: 'this friday' // Use natural language for dates
});