Getting started
PulseRepo is a GitHub notification hub that sends you instant Telegram messages whenever something happens in your repos — a PR opened, a deploy failed, an issue closed. Instead of checking GitHub every few minutes, you get a clean, context-aware message right in Telegram. You can track GitHub repos, Vercel projects, Netlify sites, and AWS Amplify apps all from one place.
When you add a repo or deploy integration, PulseRepo registers a webhook with GitHub (or the relevant platform). From that point on, every matching event is sent directly to PulseRepo, which verifies the signature, processes the payload, and fires a Telegram message to your connected account — usually within a couple of seconds of the event.
Just a GitHub account and a Telegram account. Sign in with GitHub, connect Telegram via our bot, add a repo, and you're live. The whole setup takes under five minutes.
No — PulseRepo handles webhook registration automatically when you add a repo. For deploy integrations (Vercel, Netlify, Amplify), you'll copy a generated URL and secret into your platform's settings, but we walk you through every step.
Yes. Every paid plan (Indie, Pro, Scale) comes with a 7-day free trial. Your card is collected at checkout but not charged until day 8. You can cancel during the trial and you won't be charged a thing.
Connecting repos
From the dashboard, click "Add repository". A search dialog will appear — type the repo name, pick it from the list, choose which events you want to track, and hit add. PulseRepo will register a webhook on your behalf using your GitHub OAuth token.
Yes, on Indie plans and above. Private repos appear in the search dialog with a lock icon. If your current plan doesn't include them, you'll see an upgrade prompt. You'll also need to make sure you've granted PulseRepo the `repo` scope — there's a "Reconnect with full access" button in the dialog if you need to re-authorise.
There's no hard limit on public repos on any plan. Private repos are capped by plan: 2 on Indie, 5 on Pro, unlimited on Scale. Deploy integrations are also limited by plan (1 on Free, 3 on Indie, unlimited on Pro and Scale).
This usually means PulseRepo doesn't have the `repo` OAuth scope yet. Click "Reconnect with full access" in the add-repo dialog to trigger GitHub's consent screen. Once you approve, private repos will appear immediately.
Open the repo's settings from the dashboard and click "Remove". PulseRepo will delete the webhook from GitHub at the same time, so you won't be left with ghost webhooks in your repo settings.
Yes — every repo has a pause toggle. Paused repos stay registered with GitHub but PulseRepo won't process or forward any events until you un-pause.
Telegram setup
Go to Settings → Notifications (or the Telegram Bot page in the sidebar) and click "Open in Telegram". This opens a deep link to our bot with a one-time token. Just press Start in Telegram and your account is linked instantly — no copy-pasting required. The token expires after 15 minutes.
The link expires after 15 minutes, so the most likely fix is to go back to PulseRepo and generate a fresh one. If you're on desktop, make sure Telegram desktop is running. On mobile, the link should open the Telegram app directly.
A few things to check: (1) Is the repo marked as active, not paused? (2) Did you select the relevant event types when adding the repo? (3) Have you sent a `/start` message to the PulseRepo bot in Telegram? The bot must receive a message from you before it can send to you. (4) If you're running locally with ngrok, make sure the tunnel is still running and the webhook base URL is set correctly.
Currently, PulseRepo sends notifications to your personal Telegram account. Group/channel delivery is on the roadmap — keep an eye on announcements.
Yes. Go to Settings → Notifications, disconnect Telegram, and reconnect whenever you like using a fresh deep link. Your repos and settings are preserved.
Events & filtering
PulseRepo supports: PR opened, PR merged, PR closed, PR review requests, issue opened, issue closed, push events, release published, deployment success, and deployment failure. You pick exactly which ones you want per repo — so if you only care about PRs and releases, just enable those.
For Vercel: deploy created, succeeded, ready (production URL live), failed, cancelled, and rollback. For Netlify: deploy started, succeeded, failed, cancelled, preview deploys, and branch deploys. For AWS Amplify: build started, succeeded, and failed.
Yes — open the repo from the dashboard, update your event subscriptions, and save. Changes take effect immediately. PulseRepo updates the GitHub webhook to match your new selection.
Almost instantly — typically within 1–3 seconds of the event happening on GitHub or your deploy platform. The delay is mostly GitHub/platform processing time before they fire the webhook.
Each message includes the event type, repo or project name, a short description (PR title, commit message, branch, etc.), and a direct link to the relevant GitHub/Vercel/Netlify/Amplify page. They're formatted to be scannable at a glance — not a wall of JSON.
Open the repo from the dashboard and deselect the event types you don't need. Push events on busy repos are a common culprit — consider disabling those and keeping PRs and issues only.
Plan limits
Free: public repos only, 1 deploy integration. Indie ($5/mo): 2 private repos, 3 deploy integrations. Pro ($10/mo): 5 private repos, unlimited deploy integrations. Scale ($20/mo): unlimited private repos, unlimited deploy integrations. All plans include all event types and Telegram delivery.
Any GitHub repository that has its visibility set to Private counts toward your plan's private repo limit. Public repos don't count — you can track as many public repos as you like on any plan.
Each connected Vercel project, Netlify site, or AWS Amplify app counts as one deploy integration toward your plan limit.
You'll see an error when trying to add a new private repo or deploy integration that would exceed your limit. Existing repos and integrations keep working normally — limits only block adding new ones beyond your allowance.
Yes. Upgrades take effect immediately and are prorated. Downgrades take effect at the end of your current billing cycle. If a downgrade would put you over the new plan's limits, existing repos and integrations keep working — you just won't be able to add more until you're within the limit again.
Billing & Stripe
PulseRepo uses Stripe for all payments. Subscriptions are billed monthly and renew automatically. You can view invoices, update your payment method, or cancel at any time from the billing portal (Dashboard → Billing → Manage subscription).
Yes. PulseRepo never sees or stores your card details — everything is handled directly by Stripe, which is PCI DSS Level 1 certified. We only store a Stripe customer ID to link your account to your subscription.
When you start a paid plan, you get 7 days free. Your card is required at checkout so the subscription is ready to go, but nothing is charged until day 8. Cancel any time before then and you pay nothing. No tricks.
Go to Dashboard → Billing → Manage subscription. This opens the Stripe billing portal where you can cancel in one click. Your plan stays active until the end of the billing period you've already paid for.
Your account, repos, and event history stay intact. You'll be moved to the Free plan at the end of your billing period. If you were on a plan that allowed private repos or more deploy integrations, those won't be removed — you just won't be able to add more until you upgrade again.
We don't offer refunds for partial months, but the 7-day free trial means you can fully evaluate PulseRepo before you're charged. If you have an exceptional circumstance, reach out at support@pulserepo.com and we'll do our best to help.
Account management
Go to Dashboard → Settings → Profile. You can update your display name there. Your email and avatar are synced from GitHub and can't be changed directly in PulseRepo.
Your email comes from your GitHub account. To change it, update it in your GitHub settings — it'll sync to PulseRepo automatically on your next sign-in.
Dashboard → Settings → Active sessions shows every device currently signed in to your account, with the device type, browser, IP address, and sign-in date. You can revoke all sessions except your current one with one click.
Go to Dashboard → Settings → Danger zone. Deleting your account permanently removes your profile, all tracked repos, deploy integrations, event history, and cancels any active Stripe subscription. This cannot be undone.
We store your GitHub name, email, and avatar (synced at sign-in), your Telegram chat ID (when connected), and a Stripe customer ID (when you subscribe). Webhook payloads are processed and then only the extracted event details (title, type, action URL) are stored — raw payloads are not retained.
Troubleshooting
Check these in order: (1) Is your Telegram connected? (Dashboard → Settings → Notifications). (2) Is the repo active (not paused)? (3) Did you select event types when adding the repo? (4) Has the relevant event actually fired — check the Event Feed in the dashboard to see if anything was received. (5) Did you send `/start` to the PulseRepo bot in Telegram?
This usually means the webhook isn't reaching PulseRepo. Check: (1) If you're developing locally, is your ngrok tunnel still running and is the webhook base URL set correctly in your environment? (2) In your GitHub repo settings → Webhooks, check the delivery log — look for failed deliveries. A 400 response means the signature didn't verify (check your webhook secret); a 404 means the webhook URL is wrong.
A 400 response means signature verification failed. This usually happens if the webhook secret in GitHub doesn't match what PulseRepo has on record. Try removing the repo from PulseRepo and re-adding it — this generates a fresh secret and re-registers the webhook.
Just go back to Settings → Notifications and generate a new link. Each link is valid for 15 minutes. If you're consistently hitting this timeout, try generating the link and opening Telegram immediately.
Yes — just add it again from the dashboard. A new webhook will be registered on GitHub and you can re-select your event preferences. Your previous event history won't be restored, but everything going forward will work normally.
You need to be an admin (or owner) of the repo or organisation to register webhooks. If it's an organisation repo you don't own, ask an admin to add PulseRepo, or fork the repo to your personal account.