GitHub
Turn GitHub issues and workflow failures into Zivvy /v1/support-tickets automatically.
The snag
Customer bug reports open in GitHub Issues, but support and CS teams never see them until an engineer replies.
How Zivvy helps
A GitHub webhook (issues, workflow_run) hits your consumer and creates /v1/support-tickets in Zivvy with the right customer and severity.
Before Zivvy
Handoffs go missing, owners are unclear, audits get painful.
What you get
- GitHub Issue → /v1/support-tickets with severity + owner
- workflow_run failure → /v1/support-tickets for on-call
- Issue closed → ticket closed with resolution note
Workflow stream
Common uses
01
External bug report on GitHub → /v1/support-tickets
02
CI failure → /v1/support-tickets triaged to platform team
03
Release deploy → note attached to a /v1/projects milestone
Integration code
Open API referenceCreate ticket from GitHub Issue
curl -X POST https://integrate.zivvy.xyz/v1/support-tickets \
-H "Authorization: Bearer $ZIVVY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": "[bug] checkout returns 500",
"raised_by": "user@acme.com",
"external_id": "gh-issue-12345",
"priority": "High"
}'GitHub webhook consumer
import { zivvy } from "./zivvy-client";
export async function POST(req) {
const evt = await req.json();
if (evt.action === "opened" && evt.issue) {
await zivvy.supportTickets.create({
external_id: `gh-${evt.issue.number}`,
subject: evt.issue.title,
raised_by: evt.issue.user.login,
priority: evt.issue.labels.some(l => l.name === "P0") ? "Urgent" : "Medium"
});
}
return new Response("ok");
}API endpoints
Events emitted
HMAC-SHA256 signed webhooks, retried for 24 hours.
- support-tickets.created
- support-tickets.replied
- support-tickets.resolved
0
free seats forever
0
card required to start
1
workspace for the workflow
Questions
Ready to try it?
Free plan. Two seats. No card.