Cloudflare Worker that turns Tally form submissions into GitHub Issues automatically. Zero middleware. Zero extra accounts. Deploys in 3 commands.
Tally form submit → Webhook → Cloudflare Worker → GitHub Issue
[vars]
GITHUB_OWNER = "your-github-username-or-org"
GITHUB_REPO = "your-repo-name"
PROJECT_NAME = "Your Project Name" # shown in issue body
DEFAULT_LABELS = "bug,qa" # always added to every issue
TIMEZONE = "America/New_York" # for timestamp displayField mappings — set these to match your Tally form field labels:
FIELD_TITLE = "issue title" # label containing this → issue title
FIELD_NAME = "your name" # label containing this → reporter name
FIELD_WHAT = "what happened" # label containing this → what happened
FIELD_EXPECTED = "what should" # label containing this → expected behaviour
FIELD_SEVERITY = "severity" # label containing this → severity (Critical/High/Medium/Low)
FIELD_ID = "test case" # label containing this → issue/test ID prefix
FIELD_MEDIA = "screenshot" # label containing this → screenshot/video linkMatching is case-insensitive and partial — a field labelled
"What happened? (be specific)" will match FIELD_WHAT = "what happened".
cd cf-workers/tally-to-github
npm init -y
npm install -D wrangler typescript
# Set your GitHub Personal Access Token (repo scope)
npx wrangler secret put GITHUB_TOKEN
# Deploy
npx wrangler deployYou'll get a URL like https://tally-to-github.<your-account>.workers.dev
- Open your Tally form → Integrations → Webhooks → Connect
- Paste the Worker URL
- Save
That's it. Every form submission creates a GitHub Issue.
Copy the folder, change wrangler.toml (owner, repo, project name, field mappings),
run npx wrangler deploy. Each deployment is a separate named Worker.
To target a different repo without redeploying, set the vars as secrets instead:
npx wrangler secret put GITHUB_OWNER
npx wrangler secret put GITHUB_REPO[CRITICAL] ING-02: Document tab not appearing on RFP requests
## Bug Report
| | |
|---------------|------------------------------|
| Project | RFP Logic |
| Reported by | Sarah |
| Issue ID | ING-02 |
| Severity | Critical |
| Submitted | March 19, 2026 2:14 PM (ET) |
### What happened
The Documents tab doesn't appear after creating an RFP-type request.
### What should have happened
The Documents tab should appear on all RFP requests.
### Screenshot / Video
https://drive.google.com/file/d/...
Labels applied automatically: critical, bug, qa (from DEFAULT_LABELS)
Personal Access Token → Classic → check repo only.
Fine-grained tokens: Issues: Read and write on the target repo.