Back to Blog
OpenClawAI AgentAutomationWorkflow

How I Automate GitHub Issue Tracking with OpenClaw

Josip Budalić

Founder & CEO

||6 min read

I am the product owner of our mobile app, but I am also one of its most active users. That matters, because a lot of the bugs I care about do not show up in a tidy test session at my desk. They show up when I am out of the office, using the app in real life like any other user would.

That is exactly why this workflow is useful for me. If I notice a bug while I am on the move, I usually do not have my laptop with me and I am definitely not sitting in the office ready to open GitHub and write a proper ticket. But that moment is still valuable, because I have the bug fresh in my head and I know exactly what triggered it.

If I stop to file the issue properly from my phone, I break the testing flow. If I wait until I am back at my desk, I lose details: the exact screen, the sequence of taps, the odd state the backend was in, or the phrasing of the user-facing bug that made it obvious. Neither option is good.

What I wanted was simple: send a short message from my phone, let an agent turn that into a usable GitHub issue, and keep moving. OpenClaw ended up being a good fit for that, but only after I set it up with pretty strict boundaries.

What is OpenClaw?

OpenClaw is an open-source, self-hosted personal AI assistant you run on your own machine. The official docs position it as local-first and reachable from chat apps like Signal, Telegram, Discord, WhatsApp, Slack, and iMessage. That messaging angle is what pulled me in, but it is worth being precise here: OpenClaw is not only a chat interface. It also has a CLI, a Control UI, and broader automation features. In my case, Signal is just the front door into a much narrower workflow.

The Architecture of My Workflow

To bridge the gap between noticing a bug on my phone and seeing a clean ticket in GitHub, I built a very opinionated pipeline with OpenClaw and Signal. Here is the setup that made it usable:

1. A Dedicated Connection

I gave the bot its own Signal number. OpenClaw's Signal docs explicitly recommend using a separate bot number for the “I text the bot and it replies” flow, and that matches my experience. It keeps the setup cleaner and avoids conflicts with my personal account.

2. Tight Access Control

I did not leave the inbox open. OpenClaw supports pairing and allowlists for Signal DMs, so I configured it to only process messages from my own number. I also treat config changes and tool access as opt-in, not defaults.

3. A Custom Skill for One Job

I added a custom skill that knows how our team writes issues: title style, labels, environment details, expected behavior, actual behavior, and repro steps. That matters because the polished GitHub issue is not some magical built-in outcome. It is the result of a constrained prompt plus the right tool access.

4. Least-Privilege GitHub Access

The agent does not get broad access to everything. For this workflow it only needs permission to create or update issues in the target repository. Narrow credentials make the whole setup much easier to justify.

How It Works in Practice

When I hit a bug during testing, I send a short Signal message describing what happened in plain language. Usually it is something like: what I tapped, what I expected, what actually happened, and whether I can reproduce it.

OpenClaw receives that as input, the custom skill turns it into our issue structure, and then the agent uses the GitHub toolchain I exposed to create the ticket. The important nuance is that OpenClaw is the agent layer, but the quality of the final issue depends heavily on the skill design and the constraints around it.

The result is a GitHub issue that is usually good enough to drop straight into the backlog, created from a text message without me touching the GitHub mobile UI.

Iteration and Project Management

Filing the issue is the first win, not the only one. If I find another detail five minutes later, I can reply in the same conversation and have the agent append context or update the ticket instead of creating a duplicate.

I can also use the same interface for lightweight project management queries, like checking whether a bug is already in the backlog or asking for the status of a task. That part is useful, but I treat it as secondary. The real value is preserving bug details at the moment I discover them.

The Security Part You Should Not Skip

This is the part a lot of enthusiastic OpenClaw posts gloss over. OpenClaw is powerful precisely because it can talk to chat apps, run tools, access files, and trigger external systems. That also means a careless setup can be a bad idea.

The project's own docs lean heavily on pairing, allowlists, sandboxing, and even dedicated machines or VMs depending on your threat model. That is the right posture. In my case, I only trust this workflow because it is scoped tightly: separate Signal number, narrow sender allowlist, limited GitHub permissions, and a workflow focused on issues rather than general-purpose automation across my whole machine.

If you want to copy this idea, copy the constraints too. The convenience is real, but so is the need for discipline.

Conclusion

Compared with most OpenClaw content I have seen, this is a much less flashy use case. It is not an autonomous internet agent doing twenty things at once. It is a narrow workflow that solves one annoying problem well.

That is why I like it. I can stay in testing mode, capture bugs while they are fresh, and let the agent handle the formatting overhead. For me, that is the sweet spot: practical automation, clear boundaries, and just enough intelligence to remove friction without creating a new mess.

JB

Josip Budalić

Founder & CEO

Josip runs HOTFIX d.o.o., a dev shop based in Croatia. He's been writing code for over a decade and is slightly obsessed with finding ways to ship faster without sacrificing quality.

Building software faster?

We love exploring new ways to improve developer productivity. If you're looking to build something amazing, let's talk about it.