How AI Helped Build a Firefox Extension to Jump from Zendesk Tickets to LCO Observation Pages
When a user files a support request in Zendesk describing a problematic observation, one of the first manual tasks is to locate the matching observation on the Las Cumbres Observatory (LCO) portal. I built a tiny Firefox extension — with substantial help from an AI pair‑programmer — that makes that path instant: select or right‑click the observation ID in the ticket and jump directly to the corresponding LCO request page.
This post explains the problem, the development process with AI assistance, and the real‑world workflow it unlocks.
The problem
Support tickets frequently contain identifiers: numeric observation request IDs or group IDs.Copying the ID, switching to the LCO portal, pasting, and navigating wastes time and is prone to clerical errors.
The solution
I asked an AI to scaffold a Firefox WebExtension that:
- Detects the number under the mouse when you right‑click, or reads a selected number.
- Presents a small context menu with labeled templates (for example, “Open as LCO request”).
- Opens a new tab for the chosen template, replacing
{number}in the URL with the detected value.
Example template used by the extension:
https://observe.lco.global/requests/{number}/
How the AI helped
The AI acted like a focused pair programmer: I described the desired behavior and it produced a working scaffold.
- Project skeleton:
manifest.json, a background script to create context menus, and a content script to read numbers under the cursor. - Iterative debugging: Firefox prefers
manifest_version: 2for this pattern, and the AI caught and fixed the service worker vs. background script issue. - URL templates and example icons were added so the extension was usable from the first run.
This reduced the time between idea and a testable add‑on from hours to minutes.
The Zendesk → LCO workflow (example)
- A user opens a ticket in Zendesk describing a failed observation and includes an observation ID like
1234567. - In the ticket text, select the digits or simply right‑click on them.
- From the context menu, choose
Open as LCO request. - The extension opens a new tab with:
https://observe.lco.global/requests/1234567/
Now I’m on the exact request page and can inspect what was going on with a particular observation request.
Why this helps
- Speed: removes copy/paste and navigation steps.
- Accuracy: avoids typing errors when transcribing IDs.
- Context: the extension can offer multiple templates (request, request group), so the same ticket data can map to different portal pages.
Security and privacy
The extension only constructs URLs from numbers detected in the page and opens them in new tabs. It does not upload the ticket content or number to any service. If you add telemetry or remote features later, they need to be disclosed in a privacy policy when publishing.
Code Availabilty
The code is hosted on GitHub
Final Note
Daniel the human here: This post was entirely generated by AI as well, with only minor edits required. Is sounds too polished in my opinion and is not how I would write. Nevertheless, this entire AI excercise (Github Co-Pilot in Visual Studio Code) was quite interesting and I found it befitting to make the post with AI as well.
Published on May 29, 2026.