Open Ticket Search Bot
A Slack bot (a Zapier-replacement rebuild) that searches Jira across multiple projects for open tickets matching any message, and supports lookup by client ID — keeping support and dev in Slack instead of context-switching.
01 Overview
Support and dev kept losing time bouncing between Slack and Jira to answer the same ticket questions. Open Ticket Search Bot answers those questions inline: it watches messages, searches Jira across multiple projects for open tickets that match, and posts the results right back into the channel.
It started life as a paid Zapier workflow. To cut the recurring per-task fees, I rebuilt it as a free, standalone Google Apps Script web app — same behavior, no subscription, fully under my control.
02 How it works
A Slack Events API listener verifies every request with signing-secret
HMAC and dedupes Slack's automatic retries via a cache, so a single message
never triggers duplicate searches. When a message comes in, the bot searches Jira across
multiple projects and returns batched results to respect Slack's rate limits.
Client-ID lookups resolve against a custom Jira field, backed by a 24-hour cache to keep things fast — plus a workaround for an app-provided field that the Jira fields API doesn't expose. The whole thing runs as a standalone Apps Script web app, so there's no server to maintain and no per-task billing.
03 Engineering highlights
- Slack Events API listener with signing-secret
HMACverification and cache-based dedup of Slack retries. - Multi-project Jira search with batched results to respect Slack rate limits.
- Client-ID lookup via a custom Jira field, backed by a 24-hour cache.
- Field-API workaround for an app-provided field the Jira fields API doesn't expose.
- Standalone GAS web app that eliminates per-task Zapier fees.
04 Outcome
Free, Slack-native ticket search that replaced a paid Zapier workflow.